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.
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-ChildItem
pro 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-ChildItem
pro 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
- Keith Hill - @r_keith_hill
- Tyler Leonhardt – @TylerLeonhardt
- Rob Holt
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.