Zamanımızın çoğunu OSX ve Linux'ta kod yazmaya harcayan geliştiriciler olarak Windows'da modern bir komut satırı kurulumunun nasıl görüneceğini merak ediyorduk.
Bir StackOverflow geliştirici anketi, Windows kullanan geliştirici sayısının diğer işletim sistemlerine kıyasla daha fazla olduğunu gösterdi. Bu yüzden, kullanılan araçların *nix land'dakilerle denk olup olmadığını merak ediyorduk.
Windows CLI araçlarının ortamını değerlendirmek için biraz zaman ayırdıktan sonra, yolumuza% 95 oranında ulaşacağımızı düşündüğümüz bir dizi araç üzerinde karar kıldık.
Günün sonunda, aşağıdakilerin birleşiminden yararlandık:
- PowerShell
- ConEmu
- PSReadLine
- PSGet
- Çikolatalı
- Babun (isteğe bağlı)
Bu farklı makine parçalarının size ne kazandırdığıyla ilgili daha fazla not için aşağıya bakın.
PowerShell (kabuk)
- cmd.exe'den çok gerçek bir "kabuk"a daha yakındır ve bize görev otomasyonu için güçlü bir kodlama ortamı sunar. Bash veya zsh ile karşılaştırabilirsiniz.
- Dizin ve dosya adlarını otomatik tamamlar
- Uygulama adlarını otomatik tamamlar
- Entegre takma adlara ve komutlara sahiptir (cmdlet'ler olarak adlandırılır; ör.
Select-String
grep
,Invoke-Elevated
gibisudo
,Sort-Object
sort
gibidir,Get-Process
tüm etkin işlemleri listeler). Başka bir kabuktan PS'ye geçiyorsanızSet-Alias
, alışkın olduğunuz takma adları Windows eşdeğerleriyle eşleştirmenize olanak tanır. Örneğin:Set-Alias server python -m http.server 8000
,server
takma adı kullanıldığında bir Python sunucusu başlatır. - Takma adlar PowerPoint profilinde korunabilir
- Unix gibi kablolama desteklenir. Unix'in aksine bu sistem, metin akışlarını değil nesneleri hizalar. Bu yönteme alışmanız gerekir ancak bir mülkü çıkarmak istediğinizde yeniden ayrıştırma yapmaktan kaçınırsınız.
- Modülleri destekler. PSGet, Powershell'i kolayca genişletmenize olanak tanıyan bir paket yöneticisidir.
- İsteğe bağlı olarak, içeriğe dayalı sekme tamamlaması elde etmek için git için bir PowerPoint komut dosyası olan Posh-Git'i düşünebilirsiniz.
Bilgi yarışmasıyla ilgileniyorsanız MS'nin neden baş mimardan Powershell'i geliştirdiğiyle ilgili bilgiyi burada bulabilirsiniz.
PSReadLine (konsol düzenleme yardımcıları)
- Konsol düzenleme deneyimini önemli ölçüde iyileştirir
- Komut yazmaya başladığınızda söz dizimi vurgulaması. Söz dizimi hatalarını kırmızı bir ">" karakteriyle açık bir şekilde belirtir.
- Yüksek düzeyde özelleştirilebilir tuş bağlamaları
- Bash tarzı otomatik tamamlama
- Bash/zsh etkileşimli geçmiş araması (Ctrl + R). Güçlü komut geçmişi geçişi. Komutun son satırı yerine ok tuşlarını kullanarak önceki çok satırlı komutları kolayca görüntüleyin.
- Kopyalama/yapıştırma/kesme için uygun destek (Ctrl+C/X/V düzgün çalışmalıdır)
- Geri alma/yeniden yapma için iyi destek
- Geçmişe kayıt otomatik olarak yapılır
Alternatif olarak, benzer özelliklere sahip olan ancak tamamen Powershell için geliştirilmemiş olan Clink'i de kullanabilirsiniz.
ConEmu (konsol ana makinesi)
- İstediğiniz kabuk çalıştırabileceğiniz gelişmiş bir konsol emülatörü.
- Birden fazla terminalin farklı sekmelerde açılmasını destekler. Terminalleri farklı kullanıcılar olarak başlatmayı basitleştirir.
- Son derece özelleştirilebilir: Kısayollardan metin seçimine ve durum çubuğu renklerine kadar her şey değiştirilebilir.
- Bölünmüş ekran görünümünü destekler
- Basit GUI uygulamaları sekmelerde çalıştırılabilir
- Windows 7+ Atlama Listeleri Desteği
- Sorunsuz pencere yeniden boyutlandırmayı destekler
- Windows yazı tipi yumuşatma
- Başlangıç sekmeleri belirli bir dizinden başlayacak şekilde tamamen özelleştirilebilir
- Akıllı kopyalama/yapıştırma
Bazı kullanıcılar Console2'yi kullanmaktan hâlâ keyif alıyor ve Scott Hanselman'ın bununla ilgili yazılmış bir yayını var.
Cmder
ConEmu, Clink ve msysgit'i bir araya getiren konsol emülasyon paketi Cmder, size Git yardımcıları sunar. Cmder, varsayılan olarak Monokai renk şemasıyla ConEmu'ya daha güzel bir deneyim sunar.
Cmder, Sublime Text gibi GUI uygulamalarıyla entegrasyon gibi başka küçük avantajlar da içerir.
Çikolatalı (paket yöneticisi)
- Windows için ev yapımı biramız sayesinde favori Windows uygulamalarınızı rahatça yükleyebilirsiniz. Şu anda doğrudan Çikolata kullanılarak güncellenebilen yaklaşık 3000 paket var.
- Nuget'ten farklıdır. NuGet, geliştirme kitaplıkları içindir. Çikolata, ikili makine paket yöneticisidir ve NuGet altyapısı üzerine kurulmuştur.
- Etkili sessiz derlemeler sunar
Microsoft'un Windows 10'da zorunlu çikolata yöneticisi OneGet hakkında da bilgi edinmek isteyebilirsiniz.
Babun (Cygwin önceden yapılandırılmış)
- Cygwin (Windows için Linux benzeri ortam) ile geçmişte bilinen bazı ilginç özellikler çıkarılmıştır. Babun yükleyicisi kullanıldığında genel kurulum çok daha basittir. Özellikle Unix konusunda deneyimliyseniz ve Powershell'i öğrenmek istemiyorsanız cygwin/Babun'u kullanmanız önerilir.
apt-get
benzeripact
adında bir paket yöneticisi (brew
ile biraz benzer) içerir. Şu anda paket eklerken veya pact kullanırken Cygwin yükleyiciyi yeniden çalıştırmanız gerektiğinden bu büyük bir meseledir.- Vim önceden yüklenmiş ve önceden yapılandırılmış
- Oh-my-zsh için entegre destek
- Otomatik güncellemeler