Jupyter Book 확장 만들기

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

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

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

사용된 API

  • bookTreeView.openBook

확장 사용 사례

Jupyter Book 확장을 만드는 데는 몇 가지 다양한 이유가 있습니다.

  • 구성 및 섹션화된 대화형 설명서 공유
  • 전체 책 공유(전자책과 유사하지만 Azure Data Studio를 통해 배포됨)
  • 버전 및 Jupyter Book 업데이트 추적

Jupyter Book과 Notebook 확장의 기본 차이점은 Jupyter Book에서 조직을 제공한다는 점입니다. Jupyter Book에서 수십 개의 전자 필기장을 다른 장으로 분할할 수 있지만 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. 확장 유형 목록에서 새 Jupyter Book을 선택합니다.

    Screenshot that shows the extension generator.

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

기존 Jupyter Book을 제공하거나, 제공된 샘플 북을 사용하거나, 새 Jupyter Book을 만들도록 선택합니다. 세 가지 옵션이 모두 표시됩니다.

기존 책 제공

이미 만든 책을 배송하려면 책 내용이 있는 폴더에 대한 절대 파일 경로를 제공합니다. 그런 다음 확장에 대해 알아보고 배송할 준비가 될 수 있습니다.

Screenshot that shows an existing book.

샘플 책 사용

기존 책이나 전자 필기장이 없는 경우 생성기에서 제공된 샘플을 사용할 수 있습니다.

Screenshot that shows a sample Jupyter book.

샘플북은 간단한 Jupyter Book의 모양을 보여 줍니다. Jupyter Book을 사용자 지정하는 방법을 알아보려면 기존 전자 필기장을 사용하여 새 책을 만드는 방법에 대한 다음 섹션을 참조하세요.

새 책 만들기

Jupyter Book에 패키지하려는 전자 필기장이 있는 경우 수행할 수 있습니다. 생성기는 책의 장을 원하는지, 그렇다면 얼마나 많은 제목을 원하는지 묻습니다. 여기에서 선택 프로세스의 모양을 확인할 수 있습니다. 스페이스바를 사용하여 각 챕터에 배치하려는 Notebook을 선택합니다.

Screenshot that shows creating Jupyter book.

이전 단계를 완료하면 새 Jupyter Book을 사용하여 새 폴더가 만들어집니다. Visual Studio Code에서 폴더를 열고 Jupyter Book 확장을 제공할 준비가 되었습니다.

확장 이해

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

Screenshot that shows an extension file structure.

이 파일은 vsc-extension-quickstart.md 중요한 파일에 대한 참조를 제공합니다. README.md 파일은 새 확장에 대한 설명서를 제공할 수 있습니다. package.json, jupyter-book.ts, contenttoc.yml 파일을 확인합니다. content 폴더는 모든 Notebook 또는 markdown 파일을 보유합니다. toc.yml 확장 생성기를 통해 사용자 지정 Jupyter Book을 만들도록 선택한 경우 Jupyter Book의 구조와 자동 생성됩니다.

생성기를 사용하여 책을 만들고 책의 장을 선택한 경우 폴더 구조는 약간 다르게 보일 것입니다. 폴더에 있는 markdown 및 Jupyter Notebook 파일 대신 챕터에 content 대해 선택한 제목에 해당하는 하위 폴더가 있습니다.

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

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

// This function is called when you run the command `Launch Book: Test Book` 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('launchBook.test-book', () => {
        processNotebooks();
    }));

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

함수는 activate 확장의 기본 동작입니다. 등록할 명령이 launchBook.test-book 명령과 비슷하게 activate 함수 내에 표시되어야 합니다. processNotebooks 함수 내에서 Jupyter Book을 보유하고 확장 폴더를 매개 변수로 사용하여 호출 bookTreeView.openBook 하는 확장 폴더를 찾습니다.

또한 파일은 package.json 확장명 명령을 등록하는 데 중요한 역할을 합니다.

"activationEvents": [
		"onCommand:launchBook.test-book"
	],
	"main": "./out/notebook.js",
	"contributes": {
		"commands": [
			{
				"command": "launchBook.test-book",
				"title": "Launch Book: Test Book"
			}
		]
	}

활성화 이벤트 onCommand는 명령을 호출할 때 등록한 함수를 트리거합니다. 추가 사용자 지정이 가능한 몇 가지 다른 활성화 이벤트가 있습니다. 자세한 내용은 활성화 이벤트를 참조 하세요.

확장 패키지

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

npm install -g vsce

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

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

이러한 줄이 추가되면 my test-book-0.0.1.vsix 파일이 만들어지고, Azure Data Studio에 설치할 준비가 됩니다.

확장 실행

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

Screenshot that shows installing VSIX.

명령 팔레트를 다시 열고 등록한 명령인 Book: Test Notebook찾습니다. 실행 시 확장으로 패키지한 Jupyter Book을 열어야 합니다.

Screenshot that shows the notebook-command.

축하합니다! 이제 첫 번째 Jupyter Book 확장을 빌드하고 배송할 수 있습니다. Jupyter Books에 대한 자세한 내용은 Jupyter가 포함된 책을 참조 하세요.

Marketplace에 확장 게시

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

다음 단계

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

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

이 문서를 읽은 후에는 Azure Data Studio 커뮤니티와 공유하려는 Jupyter Books에 대한 아이디어를 얻게 되기를 바랍니다.

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

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