Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Azure Data Studio wordt op 28 februari 2026buiten gebruik gesteld. U wordt aangeraden de MSSQL-extensie voor Visual Studio Code te gebruiken. Ga naar Wat gebeurt er met Azure Data Studio voor meer informatie over migreren naar Visual Studio Code?
Azure Data Studio biedt een API die extensies kunnen gebruiken om te communiceren met andere onderdelen van Azure Data Studio, zoals Objectverkenner. Deze API's zijn beschikbaar in het src/sql/azdata.d.ts bestand en worden hieronder beschreven.
Verbindingsbeheer
azdata.connection
Functies op het hoogste niveau voor verbindingsbeheer
getCurrentConnection(): Thenable<azdata.connection.Connection>Hiermee haalt u de huidige verbinding op op basis van de actieve editor of Objectverkenner-selectie.getActiveConnections(): Thenable<azdata.connection.Connection[]>haalt een lijst op met alle actieve gebruikersverbindingen. Retourneert een lege lijst als er geen dergelijke verbindingen zijn.getCredentials(connectionId: string): Thenable<{ [name: string]: string }>Hiermee haalt u een woordenlijst op met de referenties die zijn gekoppeld aan een verbinding. Deze zouden anders worden geretourneerd als onderdeel van de woordenlijst met opties onder eendata.connection.Connection-object, maar worden verwijderd uit dat object.
Verbinding
-
options: { [name: string]: string }De woordenlijst met verbindingsopties -
providerName: stringDe naam van de verbindingsprovider (bijvoorbeeld 'MSSQL') -
connectionId: stringDe unieke id voor de verbinding
Voorbeeldcode
> let connection = azdata.connection.getCurrentConnection();
connection: {
providerName: 'MSSQL',
connectionId: 'd97bb63a-466e-4ef0-ab6f-00cd44721dcc',
options: {
server: 'mairvine-sql-server',
user: 'sa',
authenticationType: 'sqlLogin',
...
},
...
}
> let credentials = azdata.connection.getCredentials(connection.connectionId);
credentials: {
password: 'abc123'
}
Objectverkenner
azdata.objectexplorer
Functies op het hoogste niveau voor Objectverkenner
getNode(connectionId: string, nodePath?: string): Thenable<azdata.objectexplorer.ObjectExplorerNode>Haal een Objectverkenner knooppunt op dat overeenkomt met de opgegeven verbinding en het opgegeven pad. Als er geen pad wordt opgegeven, wordt het bovenste knooppunt voor de opgegeven verbinding geretourneerd. Als er geen knooppunt op het opgegeven pad is, wordtundefinedgeretourneerd. Opmerking: hetnodePathvoor een object wordt gegenereerd door de back-end van de SQL Tools-service en is moeilijk met de hand te maken. Met toekomstige API-verbeteringen kunt u knooppunten ophalen op basis van metagegevens die u opgeeft over het knooppunt, zoals naam, type en schema.getActiveConnectionNodes(): Thenable<azdata.objectexplorer.ObjectExplorerNode>Alle actieve Objectverkenner verbindingsknooppunten ophalen.findNodes(connectionId: string, type: string, schema: string, name: string, database: string, parentObjectNames: string[]): Thenable<azdata.objectexplorer.ObjectExplorerNode[]>Zoek alle Objectverkenner knooppunten die overeenkomen met de opgegeven metagegevens. De argumentenschema,databaseenparentObjectNamesmoeten wordenundefinedwanneer ze niet van toepassing zijn.parentObjectNamesis een lijst met niet-database-bovenliggende objecten, van hoogste naar laagste niveau in Objectverkenner, waaronder het gewenste object valt. Als u bijvoorbeeld zoekt naar een kolom 'kolom1' die deel uitmaakt van een tabel 'schema1.table1' en database 'database1' met verbindings-idconnectionId, roept ufindNodes(connectionId, 'Column', undefined, 'column1', 'database1', ['schema1.table1'])aan. Zie ook de lijst met typen die Standaard door Azure Data Studio worden ondersteund voor deze API-aanroep.
ObjectExplorerNode
connectionId: stringDe id van de verbinding waaronder het knooppunt bestaatnodePath: stringHet pad van het knooppunt, zoals wordt gebruikt voor een aanroep naar degetNodefunctie.nodeType: stringEen tekenreeks die het type van het knooppunt aangeeftnodeSubType: stringEen tekenreeks die het subtype van het knooppunt vertegenwoordigtnodeStatus: stringEen tekenreeks die de status van het knooppunt aangeeftlabel: stringHet label voor het knooppunt zoals dit wordt weergegeven in ObjectverkennerisLeaf: booleanOf het knooppunt een bladknooppunt is en dus geen kinderen heeftmetadata: azdata.ObjectMetadataMetagegevens die het object beschrijven dat wordt vertegenwoordigd door dit knooppunterrorMessage: stringBericht dat wordt weergegeven als het knooppunt de foutstatus heeftisExpanded(): Thenable<boolean>Of het knooppunt momenteel is uitgevouwen in de ObjectverkennersetExpandedState(expandedState: vscode.TreeItemCollapsibleState): Thenable<void>Instellen of het knooppunt is uitgevouwen of samengevouwen. Het knooppunt wordt niet gewijzigd als de status is ingesteld op Geen.setSelected(selected: boolean, clearOtherSelections?: boolean): Thenable<void>Instellen of het knooppunt is geselecteerd. AlsclearOtherSelectionswaar is, worden alle andere selecties gewist bij het maken van de nieuwe selectie. Als dit onwaar is, laat u bestaande selecties staan.clearOtherSelectionsis standaard ingesteld op waar wanneerselectedwaar en onwaar wanneerselectedonwaar is.getChildren(): Thenable<azdata.objectexplorer.ObjectExplorerNode[]>Haal alle subknooppunten van dit knooppunt op. Retourneert een lege lijst als er geen kinderen zijn.getParent(): Thenable<azdata.objectexplorer.ObjectExplorerNode>Verkrijg het bovenliggende knooppunt van dit knooppunt. Retourneert ongedefinieerd als er geen ouder is.
Voorbeeldcode
private async interactWithOENode(selectedNode: azdata.objectexplorer.ObjectExplorerNode): Promise<void> {
let choices = ['Expand', 'Collapse', 'Select', 'Select (multi)', 'Deselect', 'Deselect (multi)'];
if (selectedNode.isLeaf) {
choices[0] += ' (is leaf)';
choices[1] += ' (is leaf)';
} else {
let expanded = await selectedNode.isExpanded();
if (expanded) {
choices[0] += ' (is expanded)';
} else {
choices[1] += ' (is collapsed)';
}
}
let parent = await selectedNode.getParent();
if (parent) {
choices.push('Get Parent');
}
let children = await selectedNode.getChildren();
children.forEach(child => choices.push(child.label));
let choice = await vscode.window.showQuickPick(choices);
let nextNode: azdata.objectexplorer.ObjectExplorerNode = undefined;
if (choice === choices[0]) {
selectedNode.setExpandedState(vscode.TreeItemCollapsibleState.Expanded);
} else if (choice === choices[1]) {
selectedNode.setExpandedState(vscode.TreeItemCollapsibleState.Collapsed);
} else if (choice === choices[2]) {
selectedNode.setSelected(true);
} else if (choice === choices[3]) {
selectedNode.setSelected(true, false);
} else if (choice === choices[4]) {
selectedNode.setSelected(false);
} else if (choice === choices[5]) {
selectedNode.setSelected(false, true);
} else if (choice === 'Get Parent') {
nextNode = parent;
} else {
let childNode = children.find(child => child.label === choice);
nextNode = childNode;
}
if (nextNode) {
let updatedNode = await azdata.objectexplorer.getNode(nextNode.connectionId, nextNode.nodePath);
this.interactWithOENode(updatedNode);
}
}
vscode.commands.registerCommand('mssql.objectexplorer.interact', () => {
azdata.objectexplorer.getActiveConnectionNodes().then(activeConnections => {
vscode.window.showQuickPick(activeConnections.map(connection => connection.label + ' ' + connection.connectionId)).then(selection => {
let selectedNode = activeConnections.find(connection => connection.label + ' ' + connection.connectionId === selection);
this.interactWithOENode(selectedNode);
});
});
});
Voorgestelde API's
We hebben voorgestelde API's toegevoegd om uitbreidingen toe te staan om aangepaste gebruikersinterface weer te geven in dialoogvensters, wizards en documenttabbladen, en andere mogelijkheden. Zie het voorgestelde API-typenbestand voor meer documentatie, maar houd er rekening mee dat deze API's op elk gewenst moment kunnen worden gewijzigd. Voorbeelden van het gebruik van sommige van deze API's vindt u in de voorbeeldextensie subservices.
Verwante inhoud
- Azure Data Studio- downloaden