Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ PowerShell Ρ ΠΏΠΎΠΌΠΎΡΡΡ Visual Studio Code
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ
PowerShell β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Π·Π°Π΄Π°ΡΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠ·ΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° .NET, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Microsoft PowerShell Π΄Π»Ρ Visual Studio Code (VS Code) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ³Π°ΡΡΠΉ ΡΠ·ΡΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈ Π°Π½Π°Π»ΠΈΠ· PowerShell. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ VS Code ΠΈ PowerShell 7 ΠΈΠ»ΠΈ Π²ΡΡΠ΅. ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Windows PowerShell 5.1. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Windows PowerShell.
ΠΠ°ΡΠ° ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ:
- Windows Server 2022 Ρ Windows PowerShell 5.1 ΠΈ PowerShell 7.2
- Windows Server 2019 Ρ Windows PowerShell 5.1 ΠΈ PowerShell 7.
2
-
- Ubuntu 20.04 Ρ ΡΠ΄ΡΠΎΠΌ PowerShell 7.2
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PowerShell
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ:
- PowerShell β ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ
- PowerShell Preview β ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ
ΠΠ±Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π΄ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ· VS Code
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PowerShell ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· Visual Studio Code Marketplace, ΡΠ΅Π»ΠΊΠ½ΡΠ² Π·Π½Π°ΡΠΎΠΊ ΠΠ½ΠΎΠΏΠΊΠ° Β«Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΒ». ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PowerShell ΠΈΠ· VS Code, ΠΎΡΠΊΡΡΠ² Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Β«Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡΒ» Π½Π°ΠΆΠΌΠΈΡΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ β§βX (Windows, Linux Ctrl+Shift+X), Π²Π²Π΅Π΄ΠΈΡΠ΅ Β«PowerShellΒ» ΠΈ Π²ΡΠ±ΠΎΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PowerShell:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (Π²ΠΊΠ»ΡΡΠ°Ρ PowerShell, cmd ΠΈ bash) Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
code --install-extension ms-vscode.powershell
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ±ΠΎΡΠΊΡ VS Code Insiders, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
code-insiders --install-extension ms-vscode.powershell
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
- Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°
- IntelliSense Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ² ΠΈ Π΄Ρ.
- ΠΠ½Π°Π»ΠΈΠ· Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ°Π²ΠΈΠ», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ PowerShell Script Analyzer
- ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΠΎΠ² ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
- ΠΠΎΠΈΡΠΊ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
- ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» ΠΊΠΎΠ΄Π° PowerShell Ρ ΠΏΠΎΠΌΠΎΡΡΡ F8
- ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΏΡΠ°Π²ΠΊΡ Π΄Π»Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎΠ΄ ΠΊΡΡΡΠΎΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Ctrl + F1
- ΠΡΠ»Π°Π΄ΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ
- ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ ISE Ρ ΠΏΠΎΠΌΠΎΡΡΡ β§βP (Windows, Linux Ctrl+Shift+P), Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠΈΡΠΊ Β«ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ISEΒ»
ΠΡΠ»Π°Π΄ΠΊΠ°
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PowerShell ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ VS Code, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ
ΠΎΡΠ»Π°Π΄ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PowerShell. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ PowerShell ΡΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° VS.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PowerShell Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ PowerShell, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠ»Π΅Π΄ΡΡ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ.
ΠΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ PowerShell: ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅Π½Ρ ΡΠ΅Π°Π½ΡΠ° ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (β§βP (Windows, Linux Ctrl+Shift+P)).
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CodeLens
CodeLense β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ VS Code, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CodeLens Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ββΠ² Π²Π΅ΡΡΠΈΡ 1.3.0 ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PowerShell, ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PowerShell Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ CodeLens Π²ΠΊΠ»ΡΡΠ°ΡΡ:
Pester ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΡΡ ΠΈ ΠΡΠ»Π°Π΄ΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ .
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΠ΅ΡΡΠ΅ΡΠ°
Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ CodeLens ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΡΡΠ½ΠΊΡΠΈΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ PSScriptAnalyzer
PSScriptAnalyzer β ΡΡΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ PowerShell, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ. PSScriptAnalyzer ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΏΡΠΎΠ²Π΅ΡΡΡΡΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ΄Π° PowerShell. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° Π»ΡΡΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°Ρ PowerShell, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ PowerShell ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎΠΌ. PSScriptAnalyzer ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ (ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ), ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PowerShell ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ PSScriptAnalyzer ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π°Π½Π°Π»ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² PowerShell, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ Π² VS Code.
PSScriptAnalyzer ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π½Π°Π±ΠΎΡΠΎΠΌ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ PowerShell, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° PSCredential ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Invoke-Expression
ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅
ΠΏΡΠ°Π²ΠΈΠ»Π°.
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ PSScriptAnalyzer , ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (β, (Windows, Linux Ctrl+,)), ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Extensions , Π²ΡΠ±Π΅ΡΠΈΡΠ΅ PowerShell ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ½ΠΈΠΌΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ Π΄Π»Ρ Script Analysis: Enable ( powershell.scriptAnalysis.enable
).
PSScriptAnalyzer ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Format Document ΠΈΠ»ΠΈ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ (β§β₯F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)).
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Pester
Pester β ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ
ΡΠ΅ΡΡΠΎΠ², Π° Windows PowerShell 5.1 ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Pester 3.40 ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΠ±Π½ΠΎΠ²ΠΈΡΡ Pester ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅
ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Pester.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Plaster
Plaster β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° PowerShell. ΠΠ³ΠΎ ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PowerShell, ΡΠ΅ΡΡΠΎΠ² Pester, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ DSC ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PowerShell ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Plaster Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ PowerShell: ΡΠΎΠ·Π΄Π°ΡΡ ΠΠΎΠΌΠ°Π½Π΄Π° Β«ΠΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½Π° Π³ΠΈΠΏΡΠ° Β» ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (β§βP (Windows, Linux Ctrl+Shift+P)).
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PowerShell
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ VS Code Π² ΠΌΠ΅Π½Ρ File > Preferences > Settings ΡΠ»Π΅ΠΌΠ΅Π½Ρ ( ΠΠΎΠ΄ > ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ > ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π² macOS).
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π·Π½Π°ΡΠΎΠΊ ΡΠ΅ΡΡΠ΅ΡΠ΅Π½ΠΊΠΈ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² Π»Π΅Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ ΠΏΠ°Π½Π΅Π»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ β (Windows, Linux Ctrl+,), ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ. ΠΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»
settings.json
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Preferences: Open Settings (JSON) .
ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (β§βP (Windows, Linux Ctrl+Shift+P)) ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ "workbench.settings.editor"
.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² VS Code.
Π€Π°ΠΉΠ»Ρ Types.ps1xml ΠΈ Format.ps1xml
Π€Π°ΠΉΠ»Ρ PowerShell .ps1xml
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΠΈΡ
ΡΠ°ΠΉΠ»Π°Ρ
ΡΠΌ. Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ PowerShell Π½Π°
Π’ΠΈΠΏΡ.ps1xml ΠΈ Format.ps1xml. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ IntelliSense ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ .ps1xml
, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ XML ΠΎΡ Red Hat. ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ:
"xml.fileAssociations": [ { "systemId": "https://raw.Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ XML ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ XML-ΡΡ Π΅ΠΌΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PowerShell Π΄Π»Ρ Π²ΡΠ΅Ρgithubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Format.xsd", "ΡΠ°Π±Π»ΠΎΠ½": "**/*.Format.ps1xml" }, { "systemId": "https://raw.githubusercontent.com/PowerShell/PowerShell/master/src/Schemas/Types.xsd", "ΡΠ°Π±Π»ΠΎΠ½": "**/*.Types.ps1xml" } ]
.ps1xml
ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ
ps1xml
:- ΠΡΡΠ΅Ρ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡ Π΅ΠΌΡ
- ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΎΠ² ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠ΅Π³ΠΈ
- ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
- Π‘ΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
- Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΡΡ
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ
- Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²
ΠΡΠΈΠΌΠ΅ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΏΡΡΠΈ.
~/.vscode/extensions/ms-vscode.PowerShell-<Π²Π΅ΡΡΠΈΡ>/examples
Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² VS Code, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ PowerShell ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
code (Get-ChildItem ~\.vscode\extensions\ms-vscode.PowerShell-*\examples)[-1]
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ (β§βP (Windows, Linux Ctrl+Shift+P)) Ρ ΠΏΠΎΠΌΠΎΡΡΡ PowerShell: ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«ΠΡΠΊΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²Β» .
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ PowerShell. ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° VS.
ΠΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΠΌ. Hey, Scripting Guy! ΡΠ΅ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π² Π±Π»ΠΎΠ³Π΅, ΡΠΎΡΡΠΎΡΡΠ°Ρ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ @keithHill ΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PowerShell:
- ΠΡΠ»Π°Π΄ΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° PowerShell Π² Visual Studio Code β ΡΠ°ΡΡΡ 1
- ΠΡΠ»Π°Π΄ΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ PowerShell Π² Visual Studio Code β ΡΠ°ΡΡΡ 2
15.08.2022
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ C++ Π² Visual Studio Code
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΠΎΠ±ΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° C/C++, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
Π΄Π»Ρ C/C++. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Visual Studio Code ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρ.
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ C/C++ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ C/C++ Π΄Π»Ρ VS Code ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΅Π³ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ. Π§ΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π°ΠΈΠ»ΡΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ, Π³Π΄Π΅ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡΠ»ΠΊΠ°, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΉΠ΄Π΅Π½, VS Code ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π·Π΅Π»Π΅Π½ΡΡ Π²ΠΎΠ»Π½ΠΈΡΡΡΡ Π»ΠΈΠ½ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ #include, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π° Π½Π΅Π³ΠΎ ΡΡΡΠ»Π°Π΅ΡΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° Π»ΡΠ±ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #include, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π·Π΅Π»Π΅Π½ΡΡ Π²ΠΎΠ»Π½ΠΈΡΡΡΡ Π»ΠΈΠ½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π»Π°ΠΌΠΏΠΎΡΠΊΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ. ΠΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»
c_cpp_properties.json
Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ; Π·Π΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ‘browse.path’.
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅Π½ΠΎΠ²
ΠΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Ρ ( .
ΠΈΠ»ΠΈ ->
) ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ². ΠΠΎ ΠΌΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π±ΡΠΊΠ² ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ»ΡΡΡΡΠ΅ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ:
Π€ΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ C/C++ Π΄Π»Ρ Visual Studio Code ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ clang-ΡΠΎΡΠΌΠ°ΡΠ°, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ Format Document (β§β₯F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)) ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ Π²ΡΠ±ΠΎΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Format Selection (βK βF (Windows, Linux Ctrl+K Ctrl+F)) Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ:
-
editor.formatOnSave
— ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π°. -
editor.formatOnType
— Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄Π° (Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ;).
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΈΠ»Ρ clang-format ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«fileΒ», ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»Π° .clang-format
Π²Π½ΡΡΡΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠ»ΠΈ .clang-format
ΡΠ°ΠΉΠ» Π½Π°ΠΉΠ΄Π΅Π½, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ°ΠΉΠ»Π΅. ΠΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ ΡΠ°ΠΉΠ» .clang-format
, ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ C_Cpp.clang_format_fallbackStyle
. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΈΠ»Π΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Visual StudioΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΡΠΌ ΠΊ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²ΡΠΈΠΊΡ ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Visual Studio.
Π‘ΡΠΈΠ»Ρ clang-format Visual Studio Π΅ΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΡΠΈΠ»Π΅ΠΌ clang-format, Π½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ clang-format:
UseTab: (ΡΠ΅ΠΊΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ΄Π° VS) IndentWidth: (ΡΠ΅ΠΊΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ΄Π° VS) BreakBeforeBraces: ΠΠ»Π»ΠΌΠ°Π½ ΠΠ»Π»ΠΎΠ²ΡΠΎΡΡΠΈΡΡΡΠ°ΡΠ΅ΠΌΠ΅Π½ΡΡΠΎΠ½Π°ΡΠΈΠ½Π³Π»Π΅Π»Π°ΠΉΠ½: Π»ΠΎΠΆΡ IndentCaseLabels: Π»ΠΎΠΆΡ ΠΠΈΠΌΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ²: 0
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΡ clang-format, ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ ΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΡ C_Cpp.
Π½Π° ΠΏΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» clang-format. clang_format_path
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows:
"C_Cpp.clang_format_path": "C:\\Program Files (x86)\\LLVM\\bin\\clang-format.exe"
Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΠΊΡΠ°ΡΠΊΠ°
ΠΠΎΠ³Π΄Π° IntelliSense Π²ΠΊΠ»ΡΡΠ΅Π½, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Visual Studio Code C/C++ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°ΡΠΊΡΠ°ΡΠΊΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Ρ.Β Π΄. ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΡΠ°ΡΠΊΡΠ°ΡΠΊΠ°.
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°Π²Π΅ΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΌΡΡΠΈ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ», ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ:
ΠΡΠΎΡΠΌΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ ΠΡΠΎΡΠΌΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΡΠ΄ΠΎΠΌ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ , ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ β₯F12 (Windows Alt+F12, Linux Ctrl+Shift+F10). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Peek Definition ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ (ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Peek Definition ).
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ C/C++ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ». ΠΡΠΈ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΠΈ Π² ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ . ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠ±ΠΎΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠ»Π΅Π²Π°.
ΠΡΠΊΡΡΠ² ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, Π²Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΡ
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π΅ Π²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΏΡΠΎΡΡΠΎ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π΅ Π²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΡΠ² Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ C/C++, ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΎΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠ΅Π³Π°Ρ , Ρ ΡΠ°Π½ΡΡΠΈΡ ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ C/C++ ΡΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΠΏΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° C++, Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π² VS Code. ΠΠ½Π°ΡΠΎΠΊ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (Β«Win32Β» Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅), ΠΏΠΎΠΊΠ° Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΡΠ΅Π³ΠΎΠ² Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
ΠΠ½Π°ΡΠΎΠΊ ΠΈΡΡΠ΅Π·Π½Π΅Ρ, ββΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄ΡΡ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
ΠΠΎΠΈΡΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΊΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΠΊΠΎΠ΄Ρ.
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅, Π½Π°ΠΆΠΌΠΈΡΠ΅ β§βO (Windows, Linux Ctrl+Shift+O), Π·Π°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΠΎΡΠ²ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ; ΠΎΠ½ ΡΠΈΠ»ΡΡΡΡΠ΅ΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄Π°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ βT (Windows, Linux Ctrl+T), Π·Π°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°. Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ ΠΏΠΎΡΠ²ΠΈΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ±Π΅ΡΠ΅ΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π² ΡΠ°ΠΉΠ»Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π΅ΡΠ΅ Π½Π΅ ΠΎΡΠΊΡΡΡ, ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ ΠΊ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΊΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ . ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Quick Open (βP (Windows, Linux Ctrl+P)), Π·Π°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«@Β» Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«#Β» Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. β§βO (Windows, Linux Ctrl+Shift+O) ΠΈ βT (Windows, Linux Ctrl+T) β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠ»ΡΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ‘@’ ΠΈ ‘#’, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΌΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ .
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° ΡΠΈΠΌΠ²ΠΎΠ» Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ F12. ΠΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ (ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ). ΠΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ
Π§ΠΈΡΠ°ΠΉΡΠ΅ Π΄Π°Π»ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΎ:
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° VS Code Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ Windows Π΄Π»Ρ Linux
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ΄Π° VS Π΄Π»Ρ MSVC
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ΄Π° VS Π΄Π»Ρ Mingw-w64 ΠΈ GCC
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ΄Π° VS Π΄Π»Ρ macOS
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° IntelliSense Π΄Π»Ρ ΠΊΡΠΎΡΡ-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
- ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΡΠ·Π½Π°ΠΉΡΠ΅ ΠΎ ΠΌΠΎΡΠ½ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ VS Code.