Entwickeln einer Azure Data Studio-Erweiterung für Tastenzuordnungen

Dieses Tutorial veranschaulicht, wie Sie eine neue Azure Data Studio-Erweiterung erstellen. Die Erweiterung erstellt bekannte SSMS-Tastenzuordnungen in Azure Data Studio.

In diesem Artikel wird Folgendes behandelt:

  • Erstellen eines Erweiterungsprojekts
  • Installieren des Erweiterungsgenerators
  • Erstellen der Erweiterung
  • Hinzufügen benutzerdefinierter Tastenzuordnungen zu einer Erweiterung
  • Testen der Erweiterung
  • Packen der Erweiterung
  • Veröffentlichen der Erweiterung im Marketplace

Voraussetzungen

Azure Data Studio ist auf dem gleichen Framework wie Visual Studio Code aufgebaut, sodass Erweiterungen für Azure Data Studio mithilfe von Visual Studio Code erstellt werden. Sie benötigen die folgenden Komponenten:

  • Node.js – installiert und in Ihrem $PATH verfügbar. Node.js enthält npm, den Node.js-Paket-Manager, der zum Installieren des Erweiterungsgenerators verwendet wird.
  • Visual Studio Code zum Debuggen der Erweiterung.
  • Die Debugerweiterung von Azure Data Studio (optional). Damit können Sie Ihre Erweiterung testen, ohne sie zu packen und in Azure Data Studio zu installieren.
  • Stellen Sie sicher, dass sich azuredatastudio in Ihrem Pfad befindet. Wenn Sie unter Windows arbeiten, wählen Sie in „setup.exe“ die Option Add to Path aus. Führen Sie unter macOS oder Linux über die Befehlspalette in Azure Data Studio Befehl 'azuredatastudio' in PATH installieren aus.

Installieren des Erweiterungsgenerators

Um den Prozess der Erstellung von Erweiterungen zu vereinfachen, haben wir einen Erweiterungsgenerator erstellt, der Yeoman verwendet. Führen Sie den Code in der folgenden Eingabeaufforderung aus, um den Generator zu installieren:

npm install -g yo generator-azuredatastudio

Entwickeln einer Tastenzuordnungserweiterung

So erstellen Sie eine Erweiterung:

  1. Starten Sie den Erweiterungsgenerator mit dem folgenden Befehl:

    yo azuredatastudio

  2. Wählen Sie Neue Tastenzuordnung aus der Liste der Erweiterungstypen aus:

    Extension generator

  3. Geben Sie den Erweiterungsnamen an (verwenden Sie für dieses Tutorial ssmskeymap2), und fügen Sie eine Beschreibung hinzu.

Durch Ausführen der oben genannten Schritte wird ein neuer Ordner erstellt. Öffnen Sie den Ordner in Visual Studio Code, und schon sind Sie bereit, selbst eine Erweiterung für Tastenzuordnungen zu erstellen!

Hinzufügen einer Tastenkombination

Schritt 1: Suchen der zu ersetzenden Tastenkombinationen

Nachdem unsere Erweiterung jetzt betriebsbereit ist, fügen Sie einige SSMS-Tastenkombinationen (oder Tastenzuordnungen) zu Azure Data Studio hinzu. Ich habe mich vom Andy Mallons Cheatsheet und von der Liste mit Tastenkombinationen von RedGate inspirieren lassen.

Einige fehlende Aspekte sind mir aufgefallen:

  • Ausführen einer Abfrage mit aktiviertem tatsächlichem Ausführungsplan. Dies ist STRG+M in SSMS und verfügt über keine Zuordnung in Azure Data Studio.
  • STRG+UMSCHALT+E als zweite Methode zum Ausführen einer Abfrage. Dies fehlte laut Benutzerfeedback.
  • ALT+F1 zum Ausführen von sp_help. Wir haben dies in Azure Data Studio hinzugefügt, aber da diese Tastenkombination bereits verwendet wurde, haben wir stattdessen ALT+F2 zugeordnet.
  • Umschalten des Vollbildmodus (UMSCHALT+ALT+EINGABE).
  • F8 zum Anzeigen der Ansicht Objekt-Explorer / Server.

Diese Tastenzuordnungen lassen sich einfach finden und ersetzen. Führen Sie Tastenkombinationen öffnen aus, um die Registerkarte Tastenkombinationen in Azure Data Studio anzuzeigen. Suchen Sie nach Abfrage, und wählen Sie Tastenzuordnung ändern aus. Wenn Sie mit dem Ändern der Tastenzuordnungen fertig sind, können Sie die aktualisierte Zuordnung in der Datei „keybindings.json“ anzeigen (führen Sie dazu Tastenkombinationen öffnen aus).

Keyboard shortcuts

Keybindings.json extension

Schritt 2: Hinzufügen von Tastenkombinationen zur Erweiterung

Zum Hinzufügen von Tastenkombinationen zur Erweiterung öffnen Sie die Datei package.json (in der Erweiterung), und ersetzen Sie den Abschnitt contributes durch den folgenden Code:

"contributes": {
  "keybindings": [
    {
      "key": "shift+cmd+e",
      "command": "runQueryKeyboardAction"
    },
    {
      "key": "ctrl+cmd+e",
      "command": "workbench.view.explorer"
    },
    {
      "key": "alt+f1",
      "command": "workbench.action.query.shortcut1"
    },
    {
      "key": "shift+alt+enter",
      "command": "workbench.action.toggleFullScreen"
    },
    {
      "key": "f8",
      "command": "workbench.view.connections"
    },
    {
      "key": "ctrl+m",
      "command": "runCurrentQueryWithActualPlanKeyboardAction"
    }
  ]
}

Testen der Erweiterung

Stellen Sie sicher, dass sich azuredatastudio in Ihrem PATH befindet, indem Sie in Azure Data Studio im PATH-Befehl den Befehl „Install azuredatastudio“ ausführen.

Stellen Sie sicher, dass die Azure Data Studio-Debugerweiterung in Visual Studio Code installiert ist.

Drücken Sie F5, um Azure Data Studio mit ausgeführter Erweiterung im Debugmodus zu starten:

Install extension

test extension

Tastenzuordnungen gehören zu den Erweiterungen, die sich sehr schnell erstellen lassen, Ihre neue Erweiterung sollte jetzt also funktionsfähig und bereit für die Freigabe sein.

Packen der Erweiterung

Um Ihre Erweiterung für andere Benutzer freizugeben, müssen Sie sie in eine einzelne Datei packen. Diese kann im Marketplace für Azure Data Studio-Erweiterungen veröffentlicht oder für Ihr Team oder Ihre Community freigegeben werden. Zu diesem Zweck müssen Sie über die Befehlszeile ein weiteres npm-Paket installieren:

npm install -g vsce

Navigieren Sie zum Basisverzeichnis der Erweiterung, und führen Sie vsce package aus. Ich musste einige zusätzliche Zeilen einfügen, um Fehler im vsce-Tool zu vermeiden:

"repository": {
    "type": "git",
    "url": "https://github.com/kevcunnane/ssmskeymap.git"
},
"bugs": {
    "url": "https://github.com/kevcunnane/ssmskeymap/issues"
},

Danach war meine ssmskeymap-0.1.0.vsix-Datei erstellt, und ich konnte die Erweiterung installieren und mit der ganzen Welt teilen!

Install

Veröffentlichen der Erweiterung im Marketplace

Da sich der Marketplace für Azure Data Studio-Erweiterungen noch in Bearbeitung befindet, wird die VSIX-Erweiterung an einem beliebigen Ort (z. B. auf einer GitHub-Releaseseite) gehostet. Anschließend führen einen Pull Request aus, der diese JSON-Datei mit Ihren Erweiterungsinformationen aktualisiert.

Nächste Schritte

In diesem Tutorial haben Sie Folgendes gelernt:

  • Erstellen eines Erweiterungsprojekts
  • Installieren des Erweiterungsgenerators
  • Erstellen der Erweiterung
  • Hinzufügen benutzerdefinierter Tastenzuordnungen zu einer Erweiterung
  • Testen der Erweiterung
  • Packen der Erweiterung
  • Veröffentlichen der Erweiterung im Marketplace

Wir hoffen, dass dieser Artikel Sie auch dazu inspiriert, selbst eine Erweiterung für Azure Data Studio zu erstellen. Wir bieten Unterstützung für Dashboardeinblicke (ansprechende Diagramme, die in Ihrer SQL Server-Instanz ausgeführt werden können), eine Reihe von SQL-spezifischen APIs sowie eine Vielzahl von vorhandenen Erweiterungspunkten, die aus Visual Studio Code geerbt wurden.

Wenn Sie eine Idee haben, aber nicht sicher sind, wie Sie anfangen sollen, eröffnen Sie ein Issue, oder senden Sie einen Tweet an das Team: azuredatastudio.

Sie können jederzeit im Visual Studio Code-Erweiterungsleitfaden nachschlagen, dieser enthält alle vorhandenen APIs und Muster.

Um zu erfahren, wie Sie mit T-SQL in Azure Data Studio arbeiten, führen Sie das Tutorial zum T-SQL-Editor aus: