Udostępnij za pośrednictwem


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.

Pulpit nawigacyjny

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:

  1. widgets-container

    Kontener widżetów

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

    kontener webview

    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
    }
    
  3. grid-container

    kontener siatki

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

    sekcja nawigacji

    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'