Membuat ekstensi Jupyter Notebook

Tutorial ini menunjukkan cara membuat ekstensi Jupyter Notebook Azure Data Studio baru. Ekstensi mengirimkan sampel Jupyter Notebook yang dapat dibuka dan dijalankan di Azure Data Studio.

Di artikel ini, Anda akan mempelajari cara:

  • Membuat proyek ekstensi.
  • Pasang generator ekstensi.
  • Buat ekstensi buku catatan Anda.
  • Jalankan ekstensi Anda.
  • Kemas ekstensi Anda.
  • Terbitkan ekstensi Anda ke marketplace.

API yang digunakan

  • azdata.nb.showNotebookDocument

Kasus penggunaan ekstensi

Ada beberapa alasan berbeda mengapa Anda akan membuat ekstensi notebook:

  • Berbagi dokumentasi interaktif
  • Menyimpan dan memiliki akses konstan ke buku catatan tersebut
  • Memberikan masalah pengkodian bagi pengguna untuk diikuti bersama dengan
  • Versi dan lacak pembaruan buku catatan

Prasyarat

Azure Data Studio dibangun pada kerangka kerja yang sama dengan Visual Studio Code, sehingga ekstensi untuk Azure Data Studio dibuat dengan menggunakan Visual Studio Code. Untuk memulai, Anda memerlukan komponen berikut:

  • Node.js terinstal dan tersedia di .$PATH Node.js mencakup npm, Node.js Package Manager, yang digunakan untuk menginstal generator ekstensi.
  • Visual Studio Code untuk men-debug ekstensi.
  • Pastikan azuredatastudio berada di jalur Anda. Untuk Windows, pastikan Anda memilih opsi Tambahkan ke Jalur di setup.exe. Untuk Mac atau Linux, jalankan perintah Instal 'azuredatastudio' di PATH dari Palet Perintah di Azure Data Studio.

Menginstal generator ekstensi

Untuk menyederhanakan proses pembuatan ekstensi, kami telah membangun generator ekstensi menggunakan Yeoman. Untuk menginstalnya, jalankan perintah berikut dari prompt perintah:

npm install -g yo generator-azuredatastudio

Membuat ekstensi Anda

Untuk membuat ekstensi:

  1. Mulai generator ekstensi dengan perintah berikut:

    yo azuredatastudio

  2. Pilih Buku Catatan Baru (Individual) dari daftar jenis ekstensi.

    Notebook extension generator

  3. Ikuti langkah-langkah untuk mengisi nama ekstensi. Untuk tutorial ini, gunakan Buku Catatan Uji. Kemudian isi nama penerbit. Untuk tutorial ini, gunakan Microsoft. Terakhir, tambahkan deskripsi.

Sekarang, di sinilah beberapa percabangan ada. Anda bisa menambahkan Jupyter Notebooks yang telah Anda buat atau Anda bisa menggunakan contoh buku catatan yang disediakan untuk Anda melalui generator.

Untuk tutorial ini, kita akan menggunakan contoh buku catatan Python:

Select python sample

Jika Anda memiliki buku catatan yang Anda minati dalam pengiriman, jawablah bahwa Anda memiliki buku catatan yang sudah ada yang ingin Anda kirimkan. Berikan jalur file absolut tempat semua buku catatan atau file markdown Anda berada.

Menyelesaikan langkah-langkah sebelumnya membuat folder baru dengan contoh buku catatan. Buka folder di Visual Studio Code, dan Anda siap untuk mengirim ekstensi notebook baru Anda.

Memahami ekstensi Anda

Seperti inilah proyek Anda saat ini harus terlihat:

extension file structure

File ini vsc-extension-quickstart.md memberi Anda referensi file penting. File README.md adalah tempat Anda dapat menyediakan dokumentasi untuk ekstensi baru Anda. package.jsonPerhatikan file , notebook.ts, dan pySample.ipynb .

Jika ada file atau folder yang tidak ingin Anda terbitkan, Anda dapat menyertakan namanya dalam .vscodeignore file.

Mari kita lihat notebook.ts untuk memahami apa yang sedang dilakukan ekstensi yang baru dibentuk.

// 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.
}

Ini adalah fungsi utama dalam yang dipanggil notebook.ts setiap kali kita menjalankan ekstensi kita melalui perintah Luncurkan Notebooks: Test Notebook. Kami membuat perintah baru kami dengan menggunakan vscode.commands.registerCommand API. Definisi berikut di dalam kurung kurawal adalah kode yang berjalan setiap kali kita memanggil perintah kita. Untuk setiap notebook yang ditemukan dari fungsi kami processNotebooks , kami membukanya di Azure Data Studio dengan menggunakan azdata.nb.showNotebookDocument.

File ini package.json juga memainkan peran penting dalam mendaftarkan perintah kami Launch Notebooks: Test Notebook.

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

Kami memiliki peristiwa aktivasi untuk perintah tersebut, dan kami juga telah menambahkan titik kontribusi tertentu. Titik kontribusi ini muncul di marketplace ekstensi, tempat ekstensi diterbitkan, saat pengguna melihat ekstensi Anda. Jika Anda ingin menambahkan lebih banyak perintah, pastikan untuk menambahkannya ke activationEvents bidang . Untuk opsi lainnya, lihat Peristiwa aktivasi.

Mengemas ekstensi Anda

Untuk berbagi dengan orang lain, Anda perlu mengemas ekstensi ke dalam satu file. Ekstensi Anda dapat diterbitkan ke marketplace ekstensi Azure Data Studio atau dibagikan dengan tim atau komunitas Anda. Untuk melakukan langkah ini, Anda perlu menginstal paket npm lain dari baris perintah.

npm install -g vsce

README.md Edit file sesuai keinginan Anda. Kemudian buka direktori dasar ekstensi, dan jalankan vsce package. Anda dapat secara opsional menautkan repositori dengan ekstensi Anda atau melanjutkan tanpa repositori. Untuk menambahkannya, tambahkan baris serupa ke file Anda package.json .

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

Setelah baris ini ditambahkan, my test-notebook-0.0.1.vsix file dibuat dan siap untuk diinstal dan dibagikan dengan dunia.

Jalankan ekstensi Anda

Untuk menjalankan dan menguji ekstensi Anda, buka Azure Data Studio dan buka palet perintah dengan memilih Ctrl+Shift+P. Temukan perintah Ekstensi: Instal dari VSIX, dan buka folder yang berisi ekstensi baru Anda.

Install VSIX

Ekstensi Anda sekarang akan muncul di panel ekstensi Anda di Azure Data Studio. Buka palet perintah lagi, dan Anda akan menemukan perintah baru yang kami buat dengan ekstensi Kami Luncurkan Buku: Uji Buku. Setelah berjalan, itu harus membuka Jupyter Book yang kami kemas dengan ekstensi kami.

Notebook-command

Selamat! Anda membuat dan sekarang dapat mengirim ekstensi Jupyter Notebook pertama Anda.

Menerbitkan ekstensi Anda ke marketplace

Marketplace ekstensi Azure Data Studio sedang dibangun. Untuk menerbitkan, host ekstensi VSIX di suatu tempat, misalnya, pada halaman rilis GitHub. Kemudian kirim permintaan pull yang memperbarui file JSON ini dengan informasi ekstensi Anda.

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara:

  • Membuat proyek ekstensi.
  • Pasang generator ekstensi.
  • Buat ekstensi buku catatan Anda.
  • Buat ekstensi Anda.
  • Kemas ekstensi Anda.
  • Terbitkan ekstensi Anda ke marketplace.

Kami berharap setelah membaca artikel ini, Anda akan terinspirasi untuk membangun ekstensi Anda sendiri untuk Azure Data Studio.

Jika Anda memiliki ide tetapi tidak yakin cara memulai, buka masalah atau tweet tim di azuredatastudio.

Untuk informasi selengkapnya, panduan ekstensi Visual Studio Code mencakup semua API dan pola yang ada.