Rozszerzalność usługi Azure Data Studio
Usługa Azure Data Studio ma kilka mechanizmów rozszerzalności, które umożliwiają dostosowanie środowiska użytkownika i udostępnienie tych dostosowań całej społeczności użytkowników. Podstawowa platforma Azure Data Studio jest oparta na programie Visual Studio Code, więc większość interfejsów API rozszerzalności programu Visual Studio Code jest dostępna. Ponadto udostępniliśmy dodatkowe punkty rozszerzalności dla działań specyficznych dla zarządzania danymi.
Niektóre z kluczowych punktów rozszerzalności to:
- Interfejsy API rozszerzalności programu Visual Studio Code
- Narzędzia do tworzenia rozszerzeń usługi Azure Data Studio
- Zarządzanie udziałami w panelu kart pulpitu nawigacyjnego
- Szczegółowe informacje o środowiskach akcji
- Interfejsy API rozszerzalności narzędzia Azure Data Studio
- Niestandardowe interfejsy API Dostawca danych
Interfejsy API rozszerzalności programu Visual Studio Code
Ponieważ podstawowa platforma Azure Data Studio jest oparta na programie Visual Studio Code, szczegółowe informacje o interfejsach API rozszerzalności programu Visual Studio Code znajdują się w dokumentacji interfejsu API tworzenia rozszerzeń i rozszerzenia w witrynie internetowej programu Visual Studio Code.
Uwaga
Wersje programu Azure Data Studio są zgodne z najnowszą wersją programu VS Code, jednak dołączony aparat programu VS Code może nie być bieżącą wersją programu VS Code. Na przykład w listopadzie 2020 r. aparat programu VS Code w narzędziu Azure Data Studio to 1.48, a bieżąca wersja programu VS Code to 1.51. Komunikat o błędzie "Nie można zainstalować rozszerzenia "<name>", ponieważ nie jest zgodny z wersją> programu VS Code<" podczas instalowania rozszerzenia jest spowodowany przez rozszerzenie, które ma nowszą wersję aparatu programu VS Code zdefiniowaną w manifeście pakietu (package.json
). Możesz zweryfikować wersję aparatu programu VS Code w narzędziu Azure Data Studio za pomocą menu Pomoc w obszarze Informacje.
Zarządzanie udziałami w panelu kart pulpitu nawigacyjnego
Aby uzyskać szczegółowe informacje, zobacz Punkty współtworzenia i Zmienne kontekstowe.
Interfejsy API rozszerzalności narzędzia Azure Data Studio
Aby uzyskać szczegółowe informacje, zobacz Interfejsy API rozszerzalności.
Punkty udziału
W tej sekcji omówiono różne punkty współtworzenia zdefiniowane w manifeście rozszerzenia package.json.
Funkcja IntelliSense jest obsługiwana w programie azuredatastudio.
Punkty współtworzenia pulpitu nawigacyjnego
Współtworzenie karty, kontenera i/lub widżetu szczegółowych informacji na pulpicie nawigacyjnym.
dashboard.tabs
Pulpit nawigacyjny.tabs tworzy sekcje tabulacji na stronie pulpitu nawigacyjnego. Oczekuje obiektu lub tablicy obiektów.
"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
Zamiast określać wbudowany kontener pulpitu nawigacyjnego (wewnątrz pulpitu nawigacyjnego.tab). Kontenery można zarejestrować przy użyciu elementu dashboard.containers. Akceptuje obiekt lub tablicę obiektu.
"dashboard.containers": [
{
"id": "innerTab1",
"container": {
...
}
},
{
"id": "innerTab2",
"container": {
...
}
}
]
Aby odwołać się do zarejestrowanego kontenera, określ identyfikator kontenera
"dashboard.tabs": [
{
...
"container": {
"innerTab1": {
}
}
}
]
dashboard.insights
Szczegółowe informacje można zarejestrować przy użyciu pulpitu nawigacyjnego.insights. Jest to podobne do samouczka: tworzenie niestandardowego widżetu szczegółowych informacji
"dashboard.insights": {
"id": "my-widget"
"type": {
"count": {
"dataDirection": "vertical",
"dataType": "number",
"legendPosition": "none",
"labelFirstColumn": false,
"columnsAsLabels": false
}
},
"queryFile": "{your file folder}/activeSession.sql"
}
Typy kontenerów pulpitu nawigacyjnego
Obecnie istnieją cztery obsługiwane typy kontenerów:
widgets-container
Lista widżetów, które będą wyświetlane w kontenerze. Jest to układ przepływu. Akceptuje listę widżetów.
"container": { "widgets-container": [ { "widget": { "query-data-store-db-insight": { } } }, { "widget": { "explorer-widget": { } } } ] }
webview-container
Widok internetowy zostanie wyświetlony w całym kontenerze. Oczekuje, że identyfikator widoku internetowego będzie taki sam jak identyfikator karty
"container": { "webview-container": null }
grid-container
Lista widżetów lub widoków internetowych, które będą wyświetlane w układzie siatki
"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
Sekcja nawigacji zostanie wyświetlona w kontenerze
"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": { ... } } ] }
Zmienne kontekstu
Aby uzyskać ogólne informacje na temat kontekstu w programie Visual Studio Code, a następnie narzędzia Azure Data Studio, zobacz Rozszerzalność.
W narzędziu Azure Data Studio mamy określony kontekst dotyczący połączeń bazy danych dostępnych dla rozszerzeń.
Pulpit nawigacyjny
Na pulpicie nawigacyjnym udostępniamy następujące zmienne kontekstowe:
zmienna kontekstowa | opis |
---|---|
connectionProvider |
Parametry identyfikatora dla dostawcy bieżącego połączenia. Np. connectionProvider == 'MSSQL' . |
serverName |
Parametry nazwy serwera bieżącego połączenia. Np. serverName == 'localhost' . |
databaseName |
Parametry nazwy bazy danych bieżącego połączenia. Np. databaseName == 'master' . |
connection |
Obiekt profilu pełnego połączenia dla bieżącego połączenia (IConnectionProfile) |
dashboardContext |
Ciąg kontekstu strony, w których znajduje się obecnie pulpit nawigacyjny. "baza danych" lub "serwer". Np. dashboardContext == 'database' |