Share via


Jupyter Notebook 확장 만들기

이 자습서에서는 새 Jupyter Notebook Azure Data Studio 확장을 만드는 방법을 보여 줍니다. 확장에는 Azure Data Studio에서 열고 실행할 수 있는 샘플 Jupyter Notebook이 제공됩니다.

이 문서에서는 다음 방법을 알아봅니다.

  • 확장 프로젝트를 만듭니다.
  • 확장 생성기를 설치합니다.
  • Notebook 확장을 만듭니다.
  • 확장을 실행합니다.
  • 확장을 패키지합니다.
  • 마켓플레이스에 확장 게시

사용된 API

  • azdata.nb.showNotebookDocument

확장 사용 사례

Notebook 확장을 만드는 몇 가지 다른 이유가 있습니다.

  • 대화형 문서 공유
  • 해당 Notebook에 대한 저장 및 상수 액세스 권한
  • 사용자가 따를 수 있는 코딩 문제 제공
  • Notebook 업데이트 버전 및 추적

필수 조건

Azure Data Studio는 Visual Studio Code와 동일한 프레임워크를 기반으로 하므로 Azure Data Studio용 확장은 Visual Studio Code를 사용하여 빌드됩니다. 시작하려면 다음 구성 요소가 필요합니다.

  • $PATH에서 설치되고 사용할 수 있는 Node.js. Node.js에는 확장 생성기를 설치하는 데 사용되는 Node.js 패키지 관리자인 npm이 포함되어 있습니다.
  • 확장을 디버그하기 위한 Visual Studio Code
  • 경로에 있는지 확인 azuredatastudio 합니다. Windows의 경우 setup.exe에서 경로 에 추가 옵션을 선택해야 합니다. Mac 또는 Linux의 경우 Azure Data Studio의 명령 팔레트에서 Install 'azuredatastudio' command in PATH를 실행합니다.

확장 생성기 설치

확장을 만드는 프로세스를 간소화하기 위해 Yeoman을 사용하여 확장 생성기를 빌드했습니다. 설치하려면 명령 프롬프트에서 다음 명령을 실행합니다.

npm install -g yo generator-azuredatastudio

확장 만들기

확장을 만들려면

  1. 다음 명령을 사용하여 확장 생성기를 시작합니다.

    yo azuredatastudio

  2. 확장 유형 목록에서 새 Notebook(개별)을 선택합니다.

    Notebook extension generator

  3. 단계에 따라 확장 이름을 입력합니다. 이 자습서에서는 Notebook 테스트를 사용합니다. 그런 다음 게시자 이름을 입력합니다. 이 자습서에서는 Microsoft를 사용합니다. 마지막으로 설명을 추가합니다.

이제 일부 분기가 있는 위치입니다. 이미 만든 Jupyter Notebook을 추가하거나 생성기를 통해 제공된 샘플 Notebook을 사용할 수 있습니다.

이 자습서에서는 샘플 Python Notebook을 사용합니다.

Select python sample

전달하는 데 관심이 있는 Notebook이 있는 경우 전달하려는 기존 Notebook이 있다고 대답합니다. 모든 Notebook 또는 markdown 파일이 있는 절대 파일 경로를 제공합니다.

이전 단계를 완료하면 샘플 Notebook이 포함된 새 폴더가 만들어집니다. Visual Studio Code에서 폴더를 엽니다. 이제 새 Notebook 확장을 전달할 준비가 되었습니다.

확장 이해

현재 프로젝트는 다음과 같을 것입니다.

extension file structure

이 파일은 vsc-extension-quickstart.md 중요한 파일에 대한 참조를 제공합니다. README.md 파일은 새 확장에 대한 설명서를 제공할 수 있습니다. package.json, notebook.tspySample.ipynb 파일을 확인합니다.

게시하지 않으려는 파일 또는 폴더가 있는 경우 해당 이름을 .vscodeignore 파일에 포함할 수 있습니다.

새로 구성된 확장이 수행하는 작업을 이해해 보겠습니다 notebook.ts .

// This function is called when you run the command `Launch Notebooks: Test Notebook` from the
// command palette in Azure Data Studio. If you want any additional functionality
// to occur when you launch the book, add it to the activate function.
export function activate(context: vscode.ExtensionContext) {
    context.subscriptions.push(vscode.commands.registerCommand('launchNotebooks.test-notebook', () => {
        let notebooksToDisplay: Array<string> = processNotebooks();
        notebooksToDisplay.forEach(name => {
            azdata.nb.showNotebookDocument(vscode.Uri.file(name));
        });
    }));

    // Add other code here if you want to register another command.
}

Notebook 시작: 테스트 Notebook 명령을 통해 확장을 실행할 때마다 호출되는 기본 함수 notebook.ts 입니다. API를 사용하여 vscode.commands.registerCommand 새 명령을 만듭니다. 중괄호 안의 다음 정의는 명령을 호출할 때마다 실행되는 코드입니다. 함수에서 processNotebooks 찾은 각 Notebook에 대해 Azure Data Studio에서 을 사용하여 azdata.nb.showNotebookDocument엽니다.

또한 파일은 package.json 명령 실행 Notebook: Test Notebook을 등록하는 데 중요한 역할을 합니다.

"activationEvents": [
		"onCommand:launchNotebooks.test-notebook"
	],
	"main": "./out/notebook.js",
	"contributes": {
		"commands": [
			{
				"command": "launchNotebooks.test-notebook",
				"title": "Launch Notebooks: Test Notebook"
			}
		]
	}

명령에 대한 활성화 이벤트가 있으며 특정 기여 지점도 추가했습니다. 이러한 기여 지점은 사용자가 확장을 확인할 때 확장이 게시되는 확장 마켓플레이스에 표시됩니다. 명령을 더 추가하려면 해당 명령을 필드에 추가 activationEvents 해야 합니다. 자세한 옵션은 활성화 이벤트를 참조 하세요.

확장 패키지

다른 사용자와 공유하려면 확장명을 단일 파일로 패키지해야 합니다. 확장을 Azure Data Studio 확장 마켓플레이스에 게시하거나 팀 또는 커뮤니티와 공유할 수 있습니다. 이 단계를 수행하려면 명령줄에서 다른 npm 패키지를 설치해야 합니다.

npm install -g vsce

README.md 원하는 대로 파일을 편집합니다. 그런 다음 확장의 기본 디렉터리로 이동하여 실행 vsce package합니다. 필요에 따라 리포지토리를 확장에 연결하거나 리포지토리 없이 계속할 수 있습니다. 파일을 추가하려면 파일에 비슷한 줄을 추가합니다 package.json .

"repository": {
    "type": "git",
    "url": "https://github.com/laurajjiang/testnotebook.git"
}

이러한 줄을 추가 my test-notebook-0.0.1.vsix 하면 파일이 만들어지고 설치하고 전 세계와 공유할 준비가 됩니다.

확장 실행

확장을 실행하고 테스트하려면 Azure Data Studio를 열고 Ctrl+Shift+P를 선택하여 명령 팔레트를 엽니다. 명령 확장을 찾습니다. VSIX에서 설치하고 새 확장이 포함된 폴더로 이동합니다.

Install VSIX

이제 확장이 Azure Data Studio의 확장 패널에 표시됩니다. 명령 팔레트를 다시 열면 확장 실행 책: 테스트 책으로 만든 새 명령을 찾을 수 있습니다. 실행 시 확장으로 패키지한 Jupyter Book을 열어야 합니다.

Notebook-command

축하합니다! 이제 첫 번째 Jupyter Notebook 확장을 빌드하고 제공할 수 있습니다.

Marketplace에 확장 게시

Azure Data Studio 확장 마켓플레이스는 생성 중에 있습니다. 게시하려면 확장 VSIX를 어딘가(예: GitHub 릴리스 페이지)에 호스팅합니다. 그런 다음, 확장 정보를 사용하여 이 JSON 파일을 업데이트하는 끌어오기 요청을 제출합니다.

다음 단계

이 자습서에서는 다음 작업 방법을 알아보았습니다.

  • 확장 프로젝트를 만듭니다.
  • 확장 생성기를 설치합니다.
  • Notebook 확장을 만듭니다.
  • 확장을 만듭니다.
  • 확장을 패키지합니다.
  • 마켓플레이스에 확장 게시

이 문서를 읽은 후 Azure Data Studio에 대한 고유한 확장을 빌드하도록 영감을 받을 수 있기를 바랍니다.

아이디어가 있지만 시작하는 방법을 잘 모르는 경우 이슈를 열거나 azuredatastudio에 있는 팀에 트윗하세요.

자세한 내용은 Visual Studio Code 확장 가이드에서 모든 기존 API 및 패턴을 설명합니다.