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
확장을 만듭니다.
확장을 만들려면
다음 명령을 사용하여 확장 생성기를 시작합니다.
yo azuredatastudio
확장 유형 목록에서 새 Notebook(개별)을 선택합니다.
확장 프로그램 이름을 입력하는 단계를 따르세요. 이 자습서에서는 Notebook 테스트를 사용합니다. 그런 다음 게시자 이름을 입력합니다. 이 자습서에서는 Microsoft를 사용합니다. 마지막으로 설명을 추가합니다.
이제 일부 분기가 있는 위치입니다. 이미 만든 Jupyter Notebook을 추가하거나 생성기를 통해 제공된 샘플 Notebook을 사용할 수 있습니다.
이 자습서에서는 샘플 Python Notebook을 사용합니다.
전달하는 데 관심이 있는 Notebook이 있는 경우 전달하려는 기존 Notebook이 있다고 대답합니다. 모든 Notebook 또는 markdown 파일이 있는 절대 파일 경로를 제공합니다.
이전 단계를 완료하면 샘플 Notebook이 포함된 새 폴더가 만들어집니다. Visual Studio Code에서 폴더를 엽니다. 이제 새 Notebook 확장을 전달할 준비가 되었습니다.
확장 이해하기
현재 프로젝트는 다음과 같을 것입니다.
이 vsc-extension-quickstart.md
파일은 중요한 파일에 대한 참조를 제공합니다. README.md
파일은 새 확장에 대한 설명서를 제공할 수 있습니다. package.json
, notebook.ts
및 pySample.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.ts
의 주요 함수입니다. Notebook 시작: 테스트 Notebook. vscode.commands.registerCommand
API를 사용하여 새 명령을 만듭니다. 중괄호 안의 다음 정의는 명령을 호출할 때마다 실행되는 코드입니다. processNotebooks
함수에서 찾은 각 Notebook에 대해 Azure Data Studio에서 azdata.nb.showNotebookDocument
을 사용하여 엽니다.
package.json
파일은 명령어를 등록하는 데에도 중요한 역할을 합니다. Notebook 시작: 테스트 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에서 확장 설치하고 새 확장 프로그램이 들어 있는 폴더로 이동합니다.
이제 확장이 Azure Data Studio의 확장 패널에 표시됩니다. 명령 팔레트를 다시 열면 확장으로 만든 새 명령을 찾을 수 있습니다. Notebook 시작: 테스트 Notebook. 실행 시 확장으로 패키지한 Jupyter Book을 열어야 합니다.
축하합니다! 이제 첫 번째 Jupyter Notebook 확장을 빌드하고 제공할 수 있습니다.
Marketplace에 확장 게시
Azure Data Studio 확장 마켓플레이스는 생성 중에 있습니다. 게시하려면 확장 VSIX를 어딘가(예: GitHub 릴리스 페이지)에 호스팅합니다. 그런 다음, 확장 정보를 사용하여 이 JSON 파일을 업데이트하는 끌어오기 요청을 제출합니다.
다음 단계
이 자습서에서는 다음 작업 방법을 알아보았습니다.
- 확장 프로젝트를 만듭니다.
- 확장 생성기를 설치합니다.
- Notebook 확장을 만듭니다.
- 확장을 만듭니다.
- 확장을 패키지합니다.
- 마켓플레이스에 확장 게시
이 문서를 읽은 후 Azure Data Studio에 대한 고유한 확장을 빌드하도록 영감을 받을 수 있기를 바랍니다.
아이디어가 있지만 시작하는 방법을 잘 모르는 경우 이슈를 열거나 azuredatastudio에 있는 팀에 트윗하세요.
자세한 내용은 Visual Studio Code 확장 가이드에서 모든 기존 API 및 패턴을 설명합니다.