Podpora editoru PowerShellu pro Azure Data Studio

Toto rozšíření poskytuje bohatou podporu editoru PowerShellu v Nástroji Azure Data Studio. Teď můžete psát a ladit skripty PowerShellu pomocí skvělého rozhraní podobného integrovanému vývojovému prostředí ( IDE), které poskytuje Azure Data Studio.

PowerShell extension

Funkce

  • Zvýrazňování syntaxe
  • Fragmenty kódu
  • IntelliSense pro rutiny a další
  • Analýza založená na pravidlech poskytovaná analyzátorem skriptů PowerShellu
  • Přechod na definici rutin a proměnných
  • Vyhledání odkazů na rutiny a proměnné
  • Zjišťování symbolů dokumentu a pracovního prostoru
  • Spuštění vybraného výběru kódu PowerShellu pomocí F8
  • Spuštění online nápovědy pro symbol pod kurzorem pomocí Ctrl+F1
  • Základní podpora interaktivní konzoly!

Instalace rozšíření

Oficiální verzi rozšíření PowerShellu můžete nainstalovat podle kroků v dokumentaci k sadě Azure Data Studio. V podokně Rozšíření vyhledejte rozšíření PowerShell a nainstalujte ho tam. Automaticky dostanete oznámení o všech budoucích aktualizacích rozšíření.

Balíček VSIX můžete také nainstalovat z naší stránky Vydané verze a nainstalovat ho přes příkazový řádek:

azuredatastudio --install-extension PowerShell-<version>.vsix

Podpora platformy

  • Windows 7 až 10 s Windows PowerShellem v3 a novějším a PowerShellem Core
  • Linux s PowerShellEm Core (všechny distribuce podporované v PowerShellu)
  • macOS s PowerShellem Core

Přečtěte si nejčastější dotazy k odpovědím na běžné otázky.

Instalace prostředí PowerShell Core

Pokud používáte Azure Data Studio v macOS nebo Linuxu, možná budete muset nainstalovat i PowerShell Core.

PowerShell Core je opensourcový projekt na GitHubu. Další informace o instalaci PowerShellu Core na platformě macOS nebo Linux najdete v následujících článcích:

Ukázkové skripty

Ve složce rozšíření examples jsou některé ukázkové skripty, které můžete použít ke zjištění funkcí úprav a ladění PowerShellu. Podívejte se na zahrnutý README.md soubor, kde najdete další informace o tom, jak je používat.

Tuto složku najdete v následující cestě:

$HOME/.azuredatastudio/extensions/microsoft.powershell-<version>/examples

nebo pokud používáte verzi Preview rozšíření

$HOME/.azuredatastudio/extensions/microsoft.powershell-preview-<version>/examples

Pokud chcete otevřít a zobrazit příklady rozšíření v Azure Data Studiu, spusťte z příkazového řádku PowerShellu následující kód:

azuredatastudio (Get-ChildItem $Home\.azuredatastudio\extensions\microsoft.powershell-*\examples)[-1]

Vytváření a otevírání souborů

Pokud chcete vytvořit a otevřít nový soubor v editoru, použijte soubor New-EditorFile z integrovaného terminálu PowerShellu.

PS C:\temp> New-EditorFile ExportData.ps1

Tento příkaz funguje pro jakýkoli typ souboru, nejen pro soubory PowerShellu.

PS C:\temp> New-EditorFile ImportData.py

Pokud chcete otevřít jeden nebo více souborů v Nástroji Azure Data Studio, použijte tento Open-EditorFile příkaz.

Open-EditorFile ExportData.ps1, ImportData.py

Při spouštění konzoly se nezaměříte na konzolu.

Pro uživatele, kteří používají práci s SSMS, jste zvyklí spouštět dotaz a pak ho znovu spustit, aniž byste museli přepnout zpět do podokna dotazu. V tomto případě se výchozí chování editoru kódu může zdát divné. Pokud chcete zachovat fokus v editoru při spuštění pomocí klávesy F8 , změňte následující nastavení:

"powershell.integratedConsole.focusConsoleOnExecute": false

Výchozí hodnota je true určená pro účely přístupnosti.

Mějte na paměti, že toto nastavení zabrání změně fokusu na konzolu, i když použijete příkaz, který explicitně volá vstup, například Get-Credential.

Příklady SQL PowerShellu

Abyste mohli tyto příklady použít (níže), musíte nainstalovat modul SqlServer z Galerie prostředí PowerShell.

Install-Module -Name SqlServer

Poznámka:

Modul s verzí 21.1.18102 a novějším SqlServer podporuje kromě Windows PowerShellu také PowerShell Core 6.2 a novější.

V tomto příkladu použijeme rutinu Get-SqlInstance k získání objektů SMO serveru pro ServerA &ServerB. Výchozí výstup pro tento příkaz bude obsahovat název instance, verzi, aktualizaci Service Pack a úroveň aktualizace CU instancí.

Get-SqlInstance -ServerInstance ServerA, ServerB

Tady je ukázka toho, jak bude tento výstup vypadat:

Instance Name             Version    ProductLevel UpdateLevel  HostPlatform HostDistribution
-------------             -------    ------------ -----------  ------------ ----------------
ServerA                   13.0.5233  SP2          CU4          Windows      Windows Server 2016 Datacenter
ServerB                   14.0.3045  RTM          CU12         Linux        Ubuntu

Tento SqlServer modul obsahuje zprostředkovatele, SQLRegistration který umožňuje programově přistupovat k následujícím typům uložených připojení SQL Serveru:

  • Server databázového stroje (registrované servery)
  • Centrální server pro správu (CMS)
  • Analysis Services
  • Integrační služby
  • Reporting Services

V následujícím příkladu provedeme ( dir alias) Get-ChildItempro získání seznamu všech instancí SQL Serveru uvedených v souboru Registrovaných serverů.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse

Tady je ukázka toho, jak by tento výstup mohl vypadat:

Mode Name
---- ----
-    ServerA
-    ServerB
-    localhost\SQL2017
-    localhost\SQL2016Happy
-    localhost\SQL2017

V případě mnoha operací, které zahrnují databázi nebo objekty v databázi, je možné tuto rutinu Get-SqlDatabase použít. Pokud zadáte hodnoty pro oba -ServerInstance parametry, -Database načte se pouze jeden databázový objekt. Pokud však zadáte pouze -ServerInstance parametr, vrátí se úplný seznam všech databází v této instanci.

Tady je ukázka toho, jak bude tento výstup vypadat:

Name                 Status           Size     Space  Recovery Compat. Owner
                                            Available  Model     Level
----                 ------           ---- ---------- -------- ------- -----
AdventureWorks2017   Normal      336.00 MB   57.01 MB Simple       140 sa
master               Normal        6.00 MB  368.00 KB Simple       140 sa
model                Normal       16.00 MB    5.53 MB Full         140 sa
msdb                 Normal       48.44 MB    1.70 MB Simple       140 sa
PBIRS                Normal      144.00 MB   55.95 MB Full         140 sa
PBIRSTempDB          Normal       16.00 MB    4.20 MB Simple       140 sa
SSISDB               Normal      325.06 MB   26.21 MB Full         140 sa
tempdb               Normal       72.00 MB   61.25 MB Simple       140 sa
WideWorldImporters   Normal         3.2 GB     2.6 GB Simple       130 sa

V dalším příkladu se pomocí rutiny Get-SqlDatabase načte seznam všech databází v instanci ServerB a pak zobrazí mřížku nebo tabulku (pomocí rutiny Out-GridView ) k výběru databází, které se mají zálohovat. Jakmile uživatel klikne na tlačítko OK, zálohují se pouze zvýrazněné databáze.

Get-SqlDatabase -ServerInstance ServerB |
Out-GridView -PassThru |
Backup-SqlDatabase -CompressionOption On

Tento příklad znovu získá seznam všech instancí SQL Serveru uvedených v souboru Registrovaných serverů a potom zavolá, které hlásí Get-SqlAgentJobHistory všechny neúspěšné úlohy agenta SQL od půlnoci, pro každou uvedenou instanci SQL Serveru.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE {$_.Mode -ne 'd' } |
FOREACH {
    Get-SqlAgentJobHistory -ServerInstance  $_.Name -Since Midnight -OutcomesType Failed
}

V tomto příkladu provedeme ( dir alias) Get-ChildItempro získání seznamu všech instancí SQL Serveru uvedených v souboru Registrovaných serverů a potom pomocí Get-SqlDatabase rutiny získáte seznam databází pro každou z těchto instancí.

dir 'SQLSERVER:\SQLRegistration\Database Engine Server Group' -Recurse |
WHERE { $_.Mode -ne 'd' } |
FOREACH {
    Get-SqlDatabase -ServerInstance $_.Name
}

Tady je ukázka toho, jak bude tento výstup vypadat:

Name                 Status           Size  Space     Recovery Compat. Owner
                                            Available Model    Level
----                 ------           ---- ---------- -------- ------- -----
AdventureWorks2017   Normal      336.00 MB   57.01 MB Simple       140 sa
master               Normal        6.00 MB  368.00 KB Simple       140 sa
model                Normal       16.00 MB    5.53 MB Full         140 sa
msdb                 Normal       48.44 MB    1.70 MB Simple       140 sa
PBIRS                Normal      144.00 MB   55.95 MB Full         140 sa
PBIRSTempDB          Normal       16.00 MB    4.20 MB Simple       140 sa
SSISDB               Normal      325.06 MB   26.21 MB Full         140 sa
tempdb               Normal       72.00 MB   61.25 MB Simple       140 sa
WideWorldImporters   Normal         3.2 GB     2.6 GB Simple       130 sa

Hlášení problémů

Pokud narazíte na problémy s rozšířením PowerShellu, přečtěte si dokumentaci k řešení potíží s diagnostikou a hlášením problémů.

Poznámka k zabezpečení

Všechny problémy se zabezpečením najdete tady.

Přispívání do kódu

Další podrobnosti o tom, jak přispívat k tomuto rozšíření, najdete v dokumentaci k vývoji.

Správci

Licence

Toto rozšíření je licencované v rámci licence MIT. Podrobnosti o binárních souborech třetích stran, které zahrneme do verzí tohoto projektu, najdete v souboru oznámení třetích stran.

Pravidla chování

Tento projekt se řídí Pravidly chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování. S případnými dalšími dotazy nebo připomínkami se obraťte na adresu opencode@microsoft.com.