Delen via


Een Azure Data Studio Keymap-extensie maken

In deze zelfstudie ziet u hoe u een nieuwe Azure Data Studio-extensie maakt. Met de extensie worden vertrouwde SSMS-sleutelbindingen gemaakt in Azure Data Studio.

In dit artikel leert u het volgende:

  • Een extensieproject maken
  • De extensiegenerator installeren
  • Uw extensie maken
  • Aangepaste sleutelbindingen toevoegen aan uw extensie
  • Uw extensie testen
  • Uw extensie verpakken
  • Uw extensie publiceren naar de marketplace

Vereisten

Azure Data Studio is gebouwd op hetzelfde framework als Visual Studio Code, dus extensies voor Azure Data Studio worden gebouwd met Visual Studio Code. U hebt de volgende onderdelen nodig om aan de slag te gaan:

  • Node.js geïnstalleerd en beschikbaar in uw $PATH. Node.js bevat npm, de Node.js Pakketbeheer, die wordt gebruikt om de extensiegenerator te installeren.
  • Visual Studio Code om fouten in de extensie op te sporen.
  • De Extensie voor foutopsporing van Azure Data Studio (optioneel). Hiermee kunt u uw extensie testen zonder dat u deze hoeft te verpakken en installeren in Azure Data Studio.
  • Zorg ervoor dat azuredatastudio deze zich in uw pad bevindt. Voor Windows moet u de Add to Path optie kiezen in setup.exe. Voer voor Mac of Linux de opdracht 'azuredatastudio' installeren uit in PATH vanuit het opdrachtpalet in Azure Data Studio.

De extensiegenerator installeren

Om het proces van het maken van extensies te vereenvoudigen, hebben we een extensiegenerator gemaakt met behulp van Yeoman. Als u deze wilt installeren, voert u de code uit in de onderstaande opdrachtprompt:

npm install -g yo generator-azuredatastudio

Uw keymap-extensie maken

Een extensie maken:

  1. Start de extensiegenerator met de volgende opdracht:

    yo azuredatastudio

  2. Kies New Keymap in de lijst met extensietypen:

    Extensiegenerator

  3. Volg de stappen om de extensienaam in te vullen (voor deze zelfstudie gebruikt u ssmskeymap2) en voegt u een beschrijving toe.

Als u de vorige stappen uitvoert, wordt er een nieuwe map gemaakt. Open de map in Visual Studio Code en u bent klaar om uw eigen sleutelbindingsextensie te maken.

Een sneltoets toevoegen

Stap 1: De snelkoppelingen zoeken die u wilt vervangen

Nu de extensie klaar is, voegt u enkele SSMS-sneltoetsen (of toetsbindingen) toe aan Azure Data Studio. Ik gebruikte Andy Mallon's Cheatsheet en redGate's sneltoetsenlijst voor inspiratie.

De belangrijkste dingen die ik zag ontbreken waren:

  • Voer een query uit met het werkelijke uitvoeringsplan ingeschakeld. Dit is Ctrl+M in SSMS en heeft geen binding in Azure Data Studio.
  • Ctrl +Shift+E gebruiken als tweede manier om een query uit te voeren. Gebruikersfeedback heeft aangegeven dat dit ontbreekt.
  • Alt+F1 wordt uitgevoerdsp_help. We hebben dit toegevoegd in Azure Data Studio, maar omdat die binding al in gebruik was, hebben we deze toegewezen aan Alt+F2 .
  • Volledig scherm in-/uitschakelen (Shift+Alt+Enter).
  • F8 om de weergave Objectverkenner / Servers weer te geven.

U kunt deze sleutelbindingen eenvoudig vinden en vervangen. Voer Sneltoetsen openen uit om het tabblad Sneltoetsen weer te geven in Azure Data Studio, zoek naar query en kies Toetsbinding wijzigen. Zodra u klaar bent met het wijzigen van de toetsbinding, ziet u de bijgewerkte toewijzing in het keybindings.json-bestand (voer Sneltoetsen openen uit om deze te zien).

Sneltoetsen

Keybindings.json-extensie

Stap 2: Snelkoppelingen toevoegen aan de extensie

Als u snelkoppelingen wilt toevoegen aan de extensie, opent u het bestand package.json (in de extensie) en vervangt u de contributes sectie door de onderstaande 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"
    }
  ]
}

Uw extensie testen

Zorg ervoor dat u zich in uw PATH bevindt azuredatastudio door de opdracht Azuredatastudio installeren uit te voeren in de opdracht PATH in Azure Data Studio.

Zorg ervoor dat de Azure Data Studio Debug-extensie is geïnstalleerd in Visual Studio Code.

Selecteer F5 om Azure Data Studio te starten in de foutopsporingsmodus, waarbij de extensie wordt uitgevoerd:

De extensie installeren

testextensie

Sleuteltoewijzingen zijn een van de snelste extensies die u kunt maken, zodat uw nieuwe extensie nu goed werkt en klaar is om te delen.

Uw extensie verpakken

Als u met anderen wilt delen, moet u de extensie in één bestand verpakken. Dit kan worden gepubliceerd naar de Azure Data Studio-extensie Marketplace of worden gedeeld tussen uw team of community. Hiervoor moet u een ander npm-pakket installeren vanaf de opdrachtregel:

npm install -g vsce

Navigeer naar de basismap van de extensie en voer deze uit vsce package. Ik moest een paar extra regels toevoegen om te voorkomen dat het vsce-hulpprogramma klaagt:

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

Zodra dit is gebeurd, is mijn ssmskeymap-0.1.0.vsix-bestand gemaakt en klaar om te installeren en te delen met de wereld!

Installeren

Uw extensie publiceren naar Marketplace

De Azure Data Studio-extensie Marketplace is in aanbouw, maar het huidige proces is het hosten van de extensie VSIX ergens (bijvoorbeeld een GitHub Release-pagina) en vervolgens een pull-aanvraag indienen die dit JSON-bestand bijwerkt met uw extensie-informatie.

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • Een extensieproject maken
  • De extensiegenerator installeren
  • Uw extensie maken
  • Aangepaste sleutelbindingen toevoegen aan uw extensie
  • Uw extensie testen
  • Uw extensie verpakken
  • Uw extensie publiceren naar de marketplace

We hopen dat u na het lezen hiervan geïnspireerd bent op het bouwen van uw eigen extensie voor Azure Data Studio. We hebben ondersteuning voor Dashboard Insights (mooie grafieken die worden uitgevoerd op uw SQL Server), een aantal SQL-specifieke API's en een enorme bestaande set uitbreidingspunten die zijn overgenomen van Visual Studio Code.

Als u een idee hebt, maar niet zeker weet hoe u aan de slag gaat, opent u een probleem of tweet bij het team: azuredatastudio.

U kunt altijd verwijzen naar de visual Studio Code-extensiehandleiding , omdat deze alle bestaande API's en patronen omvat.

Als u wilt weten hoe u met T-SQL in Azure Data Studio kunt werken, voltooit u de T-SQL Editor-zelfstudie: