Sdílet prostřednictvím


Rozšiřitelnost nástroje Azure Data Studio

Azure Data Studio má několik mechanismů rozšiřitelnosti, které umožňují přizpůsobit uživatelské prostředí a zpřístupnit tato přizpůsobení celé komunitě uživatelů. Základní platforma Azure Data Studio je založená na editoru Visual Studio Code, takže je k dispozici většina rozhraní API rozšiřitelnosti editoru Visual Studio Code. Kromě toho jsme pro aktivity specifické pro správu dat poskytli další body rozšiřitelnosti.

Mezi klíčové body rozšiřitelnosti patří:

  • Rozhraní API rozšiřitelnosti editoru Visual Studio Code
  • Nástroje pro vytváření rozšíření Azure Data Studio
  • Správa příspěvků na panelu karet řídicího panelu
  • Přehledy s využitím akcí
  • Rozhraní API rozšiřitelnosti nástroje Azure Data Studio
  • Vlastní rozhraní API pro Zprostředkovatel dat

Rozhraní API rozšiřitelnosti editoru Visual Studio Code

Vzhledem k tomu, že základní platforma Azure Data Studio je založená na editoru Visual Studio Code, najdete podrobnosti o rozhraních API pro rozšiřitelnost editoru Visual Studio Code v dokumentaci k rozhraní API pro vytváření a rozšíření rozšíření na webu editoru Visual Studio Code.

Poznámka:

Verze nástroje Azure Data Studio jsou v souladu s nedávnou verzí VS Code, ale zahrnutý modul VS Code nemusí být aktuální verzí VS Code. Například v listopadu 2020 je modul VS Code v Nástroji Azure Data Studio 1.48 a aktuální verze VS Code je 1.51. Chybová zpráva "Nejde nainstalovat rozšíření name<>" protože není kompatibilní s verzí> nástroje VS Code<, je způsobena rozšířením, které má novější verzi modulu VS Code definovanou v manifestu balíčku (package.json). Verzi modulu VS Code můžete ověřit v nástroji Azure Data Studio pomocí nabídky Nápověda v části O produktu.

Správa příspěvků na panelu karet řídicího panelu

Podrobnosti najdete v tématu Body příspěvku a kontextové proměnné.

Rozhraní API rozšiřitelnosti nástroje Azure Data Studio

Podrobnosti najdete v tématu Rozhraní API rozšiřitelnosti.

Body příspěvků

Tato část popisuje různé body příspěvků, které jsou definovány v manifestu rozšíření package.json.

IntelliSense se podporuje v azuredatastudio.

Body příspěvků na řídicím panelu

Přispívání na řídicí panel pomocí karty, kontejneru nebo widgetu přehledu

Řídicí panel

dashboard.tabs

Dashboard.tabs vytvoří oddíly karet na stránce řídicího panelu. Očekává objekt nebo pole 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

Místo zadávání kontejneru řídicího panelu (uvnitř řídicího panelu.tab) Kontejnery můžete zaregistrovat pomocí dashboard.containers. Přijímá objekt nebo pole objektu.

"dashboard.containers": [
{
	"id": "innerTab1",
	"container": {
		...
	}
},
{
	"id": "innerTab2",
	"container": {
	   ...
	}
}
]

Pokud chcete odkazovat na zaregistrovaný kontejner, zadejte ID kontejneru.

"dashboard.tabs": [
{
	...
	"container": {
		"innerTab1": {             
		}
	}
}
]

dashboard.insights

Přehledy můžete zaregistrovat pomocí dashboard.insights. Podobá se kurzu: Vytvoření vlastního widgetu přehledu

"dashboard.insights": {
"id": "my-widget"
"type": {
	"count": {
		"dataDirection": "vertical",
		"dataType": "number",
		"legendPosition": "none",
           "labelFirstColumn": false,
		"columnsAsLabels": false
       }
   },
   "queryFile": "{your file folder}/activeSession.sql"
}

Typy kontejnerů řídicího panelu

Aktuálně existují čtyři podporované typy kontejnerů:

  1. widgets-container

    Kontejner widgetů

    Seznam widgetů, které se zobrazí v kontejneru. Jedná se o rozložení toku. Přijímá seznam widgetů.

    "container": {
    	"widgets-container": [
    	{
    		"widget": {
    			"query-data-store-db-insight": {
    			}
    		}
    	},
    	{
    		"widget": {
    			"explorer-widget": {
    			}
    		}
    	}
      ]
    }
    
  2. webview-container

    kontejner webview

    Webové zobrazení se zobrazí v celém kontejneru. Očekává, že ID webového zobrazení bude stejné jako ID karty.

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

    kontejner mřížky

    Seznam widgetů nebo webových zobrazení, které se zobrazí v rozložení mřížky

     "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

    navigační oddíl

    Oddíl navigace se zobrazí v kontejneru.

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

Kontextové proměnné

Obecné informace o kontextu v editoru Visual Studio Code a následném nástroji Azure Data Studio najdete v tématu Rozšiřitelnost.

V Nástroji Azure Data Studio máme konkrétní kontext týkající se připojení k databázi, která jsou k dispozici pro rozšíření.

Řídicí panel

Na řídicím panelu poskytujeme následující kontextové proměnné:

kontextová proměnná description
connectionProvider Řetězec identifikátoru pro zprostředkovatele aktuálního připojení. Příklad: connectionProvider == 'MSSQL'.
serverName Řetězec názvu serveru aktuálního připojení. Příklad: serverName == 'localhost'.
databaseName Řetězec názvu databáze aktuálního připojení. Příklad: databaseName == 'master'.
connection Úplný objekt profilu připojení pro aktuální připojení (IConnectionProfile)
dashboardContext Řetězec kontextu stránky, na které je řídicí panel aktuálně zapnutý. Buď "databáze" nebo "server". Například dashboardContext == 'database'