PowerShell Oturumları ve VS Kodu
Herhangi bir miktarda PowerShell betiği yazıyorsanız, büyük olasılıkla Visual Studio Code'u duymuşsunuzdur. Bu, Microsoft'un ücretsiz, platformlar arası hafif bir düzenleyicisidir. VS Code birden çok dili destekler ve genişletilebilir. İlk piyasaya sürüldüğünden beri farklı sürümleri denedim ancak PowerShell ISE'den atlamak için hiçbir neden bulamadım. Benim amaçlarım açısından ISE gayet iyi çalışıyor, ayrıca onu o kadar özelleştirdim ki vazgeçmek zor olacak. Ancak VS Code'un en azından onu daha cazip hale getiren yeni bir sürümü var.
VS Code'un (v1.2.0) Mayıs 2016 sürümü artık entegre bir terminal içeriyor. Her zaman bir CMD ve hatta bir PowerShell oturumu başlatabildiniz ancak bu tamamen farklıydı. Artık terminal ürüne entegre edilmiştir.
Terminal uzantısı, özelliklerin tamamlanmasından çok uzaktır ancak kesinlikle doğru yönde atılmış bir adımdır. Örneğin, içine yapıştırabilirsiniz ancak kopyalayamazsınız. PowerShell ISE'de olduğu gibi F8 veya F5 eşdeğeri yoktur. Ancak tam bir PowerShell konsoludur. Uzaktan iletişim yapabilir, modülleri içe aktarabilir, hatta konsolun renklerini değiştirebilirsiniz.
Terminale erişmek için Ctrl+` tuş kombinasyonunu kullanırsınız. Bu kombinasyonu beğeneceğimden emin değildim ama en azından klavyemde bunu yapmak kolay. Windows makinelerinde varsayılan olarak bir CMD oturumu alırsınız. Buradan PowerShell'i başlatabilirsiniz. Veya kişisel ayarlarınızı değiştirebilirsiniz. VS Code'da Dosya - Tercih - Kullanıcı Ayarları'na gidin. Bu satırı ekleyin:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe"
Bir küme parantez içinde olmalıdır. Birden fazla ayarınız varsa bunların virgülle ayrılması gerekir.
sysnative klasör referansını fark ettiniz mi? Bir dizin listesi yapmaya çalışırsanız onu göremezsiniz. Windows'ta sanal bir klasördür. Ancak işin püf noktası bu, özellikle de x64 masaüstü kullanıyorsanız ki çoğunuzun öyle olduğunu varsayıyorum. Windows'ta VS Code hala 32 bit bir uygulama olduğundan, şunun gibi bir satır kullandıysanız:
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
32 bit PowerShell oturumunu alırsınız.
İstediğim kesinlikle bu değildi, bu yüzden SysNative sanal klasörüne atıfta bulunuyorum.
PowerShell oturumu açıldığında tüm profil komut dosyalarınızı çalıştıracaktır. Artık PowerShell profillerini devre dışı bırakmak için bir VS Code ayarı olsa da yeni bir işlem olduğu için bu terminal için geçerli değil. Şahsen, VS Code'da, VS Code'daki kodu ve komutları test etmek için temiz bir oturum istediğim için profil komut dosyalarımdan hiçbirinin çalışmasını istemedim. Kabuk parametresine herhangi bir parametre ekleyemeyeceğiniz için bu çözümü ben tasarladım.
Basit bir toplu CMD toplu iş dosyası yazdım.
::startps.bat
@echo off
c:\windows\sysnative\WindowsPowerShell\v1.0\powershell.exe -nologo -noprofile
Daha sonra başlatmak için kullanıcı ayarlarını değiştirdim.
"terminal.integrated.shell.windows": "c:\\scripts\\startps.bat"
Artık istediğim PowerShell terminalini alıyorum.
PowerShell geliştirme aracı olarak VS Code ile ilgili deneyimlerim hakkında daha fazla bilgi sahibi olacağım. Ekip yapılacak daha çok iş olduğunun farkında ve ben de onların çabalarını sabırsızlıkla bekliyorum. Bu arada deneyimlerinizi ve izlenimlerinizi duymak isterim.