Läs på engelska

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.

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.

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'