Ekstensibilitas Azure Data Studio
Azure Data Studio memiliki beberapa mekanisme ekstensibilitas untuk menyesuaikan pengalaman pengguna dan membuat penyesuaian tersebut tersedia untuk seluruh komunitas pengguna. Platform Inti Azure Data Studio dibangun di atas Visual Studio Code, sehingga sebagian besar API ekstensibilitas Visual Studio Code tersedia. Selain itu, kami telah menyediakan titik ekstensibilitas tambahan untuk aktivitas khusus manajemen data.
Beberapa poin ekstensibilitas utama adalah:
- API ekstensibilitas Visual Studio Code
- Alat penulisan ekstensi Azure Data Studio
- Mengelola kontribusi panel tab Dasbor
- Wawasan dengan pengalaman Tindakan
- API ekstensibilitas Azure Data Studio
- API Penyedia Data Kustom
Karena platform Inti Azure Data Studio dibangun di atas Visual Studio Code, detail tentang API ekstensibilitas Visual Studio Code ditemukan dalam dokumentasi Extension Authoring dan Extension API di situs web Visual Studio Code.
Catatan
Rilis Azure Data Studio diselaraskan dengan versi visual Studio Code terbaru, namun mesin VISUAL Code yang disertakan mungkin bukan rilis Visual Studio Code saat ini. Misalnya, pada bulan November 2020 mesin VS Code di Azure Data Studio adalah 1.48 dan versi VISUAL Code saat ini adalah 1.51. Pesan kesalahan "Tidak dapat menginstal ekstensi '<nama' karena tidak kompatibel dengan versi> Visual Studio Code<" saat menginstal ekstensi disebabkan oleh ekstensi yang memiliki versi mesin Visual Studio Code yang ditentukan dalam manifes paket (package.json
>). Anda dapat memverifikasi versi mesin Visual Studio Code di Azure Data Studio Anda melalui menu Bantuan di bawah Tentang.
Untuk detailnya, lihat Titik Kontribusi dan Variabel Konteks.
Untuk detailnya, lihat API Ekstensibilitas.
Bagian ini mencakup berbagai titik kontribusi yang ditentukan dalam manifes ekstensi package.json.
IntelliSense didukung di dalam azuredatastudio.
Kontribusikan tab, kontainer, dan/atau widget wawasan ke dasbor.
dashboard.tabs
Dashboard.tabs membuat bagian tab di dalam halaman dasbor. Ini mengharapkan objek atau array objek.
"dashboard.tabs": [
{
"id": "test-tab1",
"title": "Test 1",
"description": "The test 1 displays a list of widgets.",
"when": "connectionProvider == 'MSSQL' && !mssql:iscloud",
"alwaysShow": true,
"container": {
...
}
}
]
dashboard.containers
Alih-alih menentukan kontainer dasbor sebaris (di dalam dasbor.tab). Anda dapat mendaftarkan kontainer menggunakan dashboard.containers. Ini menerima objek atau array objek.
"dashboard.containers": [
{
"id": "innerTab1",
"container": {
...
}
},
{
"id": "innerTab2",
"container": {
...
}
}
]
Untuk merujuk ke kontainer terdaftar, tentukan id kontainer
"dashboard.tabs": [
{
...
"container": {
"innerTab1": {
}
}
}
]
dashboard.insights
Anda dapat mendaftarkan wawasan menggunakan dashboard.insights. Ini mirip dengan Tutorial: Membangun widget wawasan kustom
"dashboard.insights": {
"id": "my-widget"
"type": {
"count": {
"dataDirection": "vertical",
"dataType": "number",
"legendPosition": "none",
"labelFirstColumn": false,
"columnsAsLabels": false
}
},
"queryFile": "{your file folder}/activeSession.sql"
}
Saat ini ada empat jenis kontainer yang didukung:
widgets-container
Daftar widget yang akan ditampilkan dalam kontainer. Ini adalah tata letak alur. Ini menerima daftar widget.
"container": { "widgets-container": [ { "widget": { "query-data-store-db-insight": { } } }, { "widget": { "explorer-widget": { } } } ] }
webview-container
Tampilan web akan ditampilkan di seluruh kontainer. Ini mengharapkan id tampilan web menjadi sama adalah ID tab
"container": { "webview-container": null }
grid-container
Daftar widget atau tampilan web yang akan ditampilkan dalam tata letak kisi
"container": { "grid-container": [ { "name": "widget 1", "widget": { "explorer-widget": { } }, "row":0, "col":0 }, { "name": "widget 2", "widget": { "tasks-widget": { "backup", "restore", "configureDashboard", "newQuery" } }, "row":0, "col":1 }, { "name": "Webview 1", "webview": { "id": "google" }, "row":1, "col":0, "colspan":2 }, { "name": "widget 3", "widget": { "explorer-widget": {} }, "row":0, "col":3, "rowspan":2 }, ]
nav-section
Bagian navigasi akan ditampilkan dalam kontainer
"container": { "nav-section": [ { "id": "innerTab1", "title": "inner-tab1", "icon": { "light": "./icons/tab1Icon.svg", "dark": "./icons/tab1Icon_dark.svg" }, "container": { ... } }, { "id": "innerTab2", "title": "inner-tab2", "icon": { "light": "./icons/tab2Icon.svg", "dark": "./icons/tab2Icon_dark.svg" }, "container": { ... } } ] }
Untuk informasi umum tentang konteks di Visual Studio Code dan kemudian Azure Data Studio, lihat Ekstensibilitas.
Di Azure Data Studio, kami memiliki konteks khusus sekeliling koneksi database yang tersedia untuk ekstensi.
Di dasbor, kami menyediakan variabel konteks berikut:
variabel konteks | description |
---|---|
connectionProvider |
String pengidentifikasi untuk penyedia koneksi saat ini. Mis. connectionProvider == 'MSSQL' . |
serverName |
String nama server koneksi saat ini. Mis. serverName == 'localhost' . |
databaseName |
String nama database koneksi saat ini. Mis. databaseName == 'master' . |
connection |
Objek profil koneksi lengkap untuk koneksi saat ini (IConnectionProfile) |
dashboardContext |
String konteks halaman tempat dasbor saat ini aktif. Baik 'database' atau 'server'. Mis. dashboardContext == 'database' |