Dela via


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

Utöknings-API:er för Visual Studio Code

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.

Kommentar

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.

Hantera bidrag från instrumentpanelens flikpanel

Mer information finns i Bidragspunkter och kontextvariabler.

Utöknings-API:er för Azure Data Studio

Mer information finns i Api:er för utökningsbarhet.

Bidragspunkter

Det här avsnittet beskriver de olika bidragspunkter som definieras i package.json tilläggsmanifestet.

IntelliSense stöds i azuredatastudio.

Bidragspunkter för instrumentpanelen

Bidra med en flik, container och/eller insiktswidget till instrumentpanelen.

Instrumentpanel

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"
}

Typer av instrumentpanelscontainer

Det finns för närvarande fyra typer av containrar som stöds:

  1. widgets-container

    Container för widgetar

    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": {
    			}
    		}
    	}
      ]
    }
    
  2. webview-container

    webbvycontainer

    Webbvyn visas i hela containern. Den förväntar sig att webbvisnings-ID:t är detsamma är flik-ID

    "container": {
    	"webview-container": null
    }
    
  3. grid-container

    rutnätscontainer

    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
        },
    ]
    
  4. nav-section

    navigeringsavsnitt

    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": {
    				...
    			}
    		}
    	]
    }
    

Kontextvariabler

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.

Instrumentpanel

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'