Utökningsbarhet för Azure Data Studio
Azure Data Studio har flera utökningsmekanismer för att anpassa användarupplevelsen och göra dessa anpassningar tillgängliga för hela användarcommunityn. Azure Data Studio-kärnplattformen bygger på Visual Studio Code, så de flesta utöknings-API:er för Visual Studio Code är tillgängliga. Dessutom har vi tillhandahållit ytterligare utökningspunkter för datahanteringsspecifika aktiviteter.
Några av de viktigaste utökningspunkterna är:
- Utöknings-API:er för Visual Studio Code
- Redigeringsverktyg för Azure Data Studio-tillägg
- Hantera bidrag från instrumentpanelens flikpanel
- Insikter med åtgärdsupplevelser
- Utöknings-API:er för Azure Data Studio
- API:er för anpassad dataprovider
Eftersom den grundläggande Azure Data Studio-plattformen bygger på Visual Studio Code finns information om API:erna för utökningsbarhet för Visual Studio Code i dokumentationen för tilläggsredigering och tilläggs-API på Visual Studio Code-webbplatsen.
Anteckning
Azure Data Studio-versioner är anpassade till en ny version av VS Code, men den inkluderade VS Code-motorn kanske inte är den aktuella VS Code-versionen. I november 2020 är VS Code-motorn i Azure Data Studio till exempel 1,48 och den aktuella VS Code-versionen är 1,51. Felmeddelandet "Det går inte att installera tilläggets namn< eftersom det inte är kompatibelt med VS Code-versionen<>" när du installerar ett tillägg orsakas av ett tillägg som har en senare VS Code-motorversion definierad i paketmanifestet (package.json
).> Du kan verifiera VS Code-motorversionen i Azure Data Studio via hjälpmenyn under Om.
Mer information finns i Bidragspunkter och kontextvariabler.
Mer information finns i Api:er för utökningsbarhet.
Det här avsnittet beskriver de olika bidragspunkter som definieras i package.json tilläggsmanifestet.
IntelliSense stöds i azuredatastudio.
Bidra med en flik, container och/eller insiktswidget till instrumentpanelen.
dashboard.tabs
Dashboard.tabs skapar flikavsnitten på instrumentpanelens sida. Den förväntar sig ett objekt eller en matris med objekt.
"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
I stället för att ange en infogad instrumentpanelscontainer (inuti instrumentpanelen.tab). Du kan registrera containrar med hjälp av dashboard.containers. Det accepterar ett objekt eller en matris med objektet.
"dashboard.containers": [
{
"id": "innerTab1",
"container": {
...
}
},
{
"id": "innerTab2",
"container": {
...
}
}
]
Om du vill referera till en registrerad container anger du id för containern
"dashboard.tabs": [
{
...
"container": {
"innerTab1": {
}
}
}
]
dashboard.insights
Du kan registrera insikter med hjälp av dashboard.insights. Det här liknar Självstudie: Skapa en anpassad insiktswidget
"dashboard.insights": {
"id": "my-widget"
"type": {
"count": {
"dataDirection": "vertical",
"dataType": "number",
"legendPosition": "none",
"labelFirstColumn": false,
"columnsAsLabels": false
}
},
"queryFile": "{your file folder}/activeSession.sql"
}
Det finns för närvarande fyra typer av containrar som stöds:
widgets-container
Listan över widgetar som ska visas i containern. Det är en flödeslayout. Den accepterar listan över widgetar.
"container": { "widgets-container": [ { "widget": { "query-data-store-db-insight": { } } }, { "widget": { "explorer-widget": { } } } ] }
webview-container
Webbvyn visas i hela containern. Den förväntar sig att webbvisnings-ID:t är detsamma är flik-ID
"container": { "webview-container": null }
grid-container
Listan över widgetar eller webbvyer som ska visas i rutnätslayouten
"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
Navigeringsavsnittet visas i containern
"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": { ... } } ] }
Allmän information om kontext i Visual Studio Code och därefter Azure Data Studio finns i Utökningsbarhet.
I Azure Data Studio har vi en specifik kontext kring databasanslutningar som är tillgängliga för tillägg.
På instrumentpanelen tillhandahåller vi följande kontextvariabler:
kontextvariabel | description |
---|---|
connectionProvider |
En sträng av identifieraren för providern för den aktuella anslutningen. T.ex. connectionProvider == 'MSSQL' . |
serverName |
En sträng med servernamnet för den aktuella anslutningen. T.ex. serverName == 'localhost' . |
databaseName |
En sträng med databasnamnet för den aktuella anslutningen. T.ex. databaseName == 'master' . |
connection |
Det fullständiga anslutningsprofilobjektet för den aktuella anslutningen (IConnectionProfile) |
dashboardContext |
En sträng av kontexten för sidan som instrumentpanelen för närvarande är på. Antingen "databas" eller "server". T.ex. dashboardContext == 'database' |