VS Code Python Environments Eklentisi Genel Kullanıma Açıldı
Visual Studio Code’da Python ortamı yönetimi uzun süredir venv, conda, pyenv, poetry ve pipenv gibi araçlar arasında dağınık bir deneyimdi. Microsoft, bu parçalı yapıyı tek bir arayüz altında toplayan Python Environments eklentisini bir yıllık önizleme sürecinin ardından genel kullanıma açtı. Eklenti, Python eklentisinin yanında çalışıyor ve ek bir kurulum gerektirmiyor; bir Python dosyası açtığınızda ortamlarınız otomatik olarak keşfediliyor.
Önümüzdeki haftalarda tüm ortam iş akışlarının otomatik olarak bu eklentiye geçmesi planlanıyor. Hemen denemek isteyenler python.useEnvsExtension ayarını etkinleştirerek geçişi elle yapabilir.
Tek arayüzde ortam yönetimi
Eklenti; venv, conda, pyenv, poetry, pipenv ve sistem Python kurulumlarını otomatik olarak keşfediyor. Keşif işini PATH’i, bilinen kurulum konumlarını ve yapılandırılabilir arama yollarını tarayan Rust tabanlı PET (Python Environment Tool) yürütüyor. PET zaten Python eklentisinde kullanılan motor; şimdi bu motorun üzerine özel bir kullanıcı arayüzü inşa edilmiş.
Ortamları hangi araç oluşturmuş olursa olsun tek bir arayüzden oluşturabilir, silebilir, değiştirebilir ve yönetebilirsiniz. Ortamlarınız standart dışı konumlardaysa çalışma alanı düzeyinde glob desenleriyle arama yolları tanımlayabilir, çalışma alanı dışındaki paylaşımlı dizinler için global arama yolları belirleyebilirsiniz.
uv ile hızlı ortam oluşturma
Sisteminizde uv yüklüyse eklenti, venv ortamları oluşturmak ve paket kurmak için otomatik olarak onu kullanıyor. Bu davranış python-envs.alwaysUseUv ayarı ile varsayılan olarak açık geliyor ve özellikle büyük projelerde standart araçlara göre belirgin bir hız avantajı sağlıyor.
Quick Create ve Custom Create
Yeni bir ortam oluşturmanın iki yolu var:
- Quick Create: Environment Managers görünümündeki
+düğmesiyle çalışıyor. Varsayılan yöneticinizi, en güncel Python sürümünü ve çalışma alanında bulduğurequirements.txtveyapyproject.tomlbağımlılıklarını kullanarak hızlıca bir ortam kuruyor. - Custom Create: Komut Paleti üzerinden Python: Create Environment ile erişiliyor. Ortam yöneticisini, Python sürümünü, ortam adını ve hangi bağımlılık dosyalarının yükleneceğini seçmenize izin veriyor.
Doğrudan VS Code üzerinden ortam oluşturma yalnızca venv ve conda için mümkün. pyenv, poetry ve pipenv gibi diğer yöneticiler için ortamlar kendi CLI araçlarıyla oluşturuluyor, eklenti bunları keşfediyor.
Python Projects: kod yapısıyla eşleşen ortamlar
Python Projects özelliği, ortamları belirli klasör veya dosyalarla eşleştirmenizi sağlıyor. Yaklaşım özellikle monorepo yapılarında, çoklu servis çalışma alanlarında, script ve paketin karışık bulunduğu depolarda ve çoklu Python sürümü test senaryolarında işe yarıyor.
Bir klasörü proje olarak eklemek için Explorer’da sağ tıklayıp Add as Python Project‘i seçebilir ya da Auto Find ile pyproject.toml veya setup.py içeren klasörleri otomatik keşfedebilirsiniz. Bir klasör proje olarak tanımlandığında o klasördeki çalıştırma, hata ayıklama, test ve terminal etkinleştirme işlemleri otomatik olarak atanan ortamı kullanıyor.
Taşınabilir ayarlar
Bir projeye ortam atadığınızda eklenti, sabit yorumlayıcı yollarını değil ortam yöneticisi türünü kaydediyor. Böylece .vscode/settings.json dosyanız makineler, işletim sistemleri ve ekip üyeleri arasında taşınabilir hale geliyor. Depoyu klonlayan bir ekip arkadaşınız Quick Create komutunu çalıştırarak aynı yapılandırmayla ortamı hızlıca hazır edebiliyor.
Şablonlardan proje oluşturma
Python Envs: Create New Project from Template komutu, doğru yapıya sahip yeni bir proje iskeleti kuruyor. İki şablon var:
- Package:
pyproject.toml, paket dizini ve testleri içeren bir yapı. - Script: PEP 723 uyumlu satır içi bağımlılık metadatası içeren tek bir
.pydosyası.
Çoklu proje testi
Python eklentisi artık çoklu proje testini desteklemek için Python Environments API’sini kullanıyor. Her projenin kendi test kökü, kendi yorumlayıcısı ve kendi test keşif ayarları oluyor; bu da servisler arası çapraz etkileşimi engelliyor. Ayrıntılar için Multi-Project Testing rehberi incelenebilir.
Terminal etkinleştirmede yeni model
Eklenti, python-envs.terminal.autoActivationType ayarı ile kontrol edilen üç modlu yeni bir terminal etkinleştirme modeli sunuyor:
- shellStartup: VS Code terminal entegrasyonunu kullanarak ortamı ilk komut çalışmadan önce etkinleştiriyor. GitHub Copilot ile terminal komutları çalıştıran kullanıcılar için özellikle önemli olan bu mod, ileride varsayılan hale gelecek.
- command: Terminal açıldıktan sonra etkinleştirme komutunu terminalde görünür şekilde çalıştırıyor. Şu andaki varsayılan mod bu.
- off: Manuel kontrolü tercih edenler için otomatik etkinleştirme kapatılıyor.
Environment Managers görünümünde bir ortama sağ tıklayıp Open in Terminal‘i seçerek o ortam etkinleştirilmiş şekilde terminal açabilirsiniz.
Öngörülebilir yorumlayıcı seçimi
Yorumlayıcı seçimi artık deterministik bir öncelik sırası izliyor:
- Projenin yapılandırılmış ortam yöneticisi
- Çalışma alanının varsayılan ortam yöneticisi (yalnızca açıkça ayarladıysanız)
python.defaultInterpreterPath(eski ayar)- Otomatik keşif (
.venv→ sistem Python)
Yalnızca açıkça yapılandırdığınız ayarlar dikkate alınıyor; varsayılanlar seçimlerinizi geçersiz kılmıyor. Ayrıca bir çalışma alanı açmak hiçbir zaman ayar dosyanıza yazmıyor. settings.json yalnızca yorumlayıcı seçmek veya ortam oluşturmak gibi açık bir işlem yaptığınızda değişiyor.
Yerleşik paket yönetimi
Paketleri doğrudan Environment Managers görünümünden yönetebilirsiniz: paket arama ve yükleme, kaldırma ve requirements.txt, pyproject.toml veya environment.yml dosyalarından toplu kurulum destekleniyor. Eklenti her ortam için doğru paket yöneticisini seçiyor: venv için pip, conda ortamları için conda, uv etkinken uv pip.
.env dosyası desteği
Geliştirme sırasında ortam değişkenleri kullananlar için eklenti .env dosyalarını destekliyor. python.terminal.useEnvFile ayarını true yaptığınızda değişkenler, oluşturulan terminallere enjekte ediliyor. Bu ayar açıkken python.envFilePath ile dosya yolunu da özelleştirebilirsiniz.
Genişletilebilir API
Eklenti yalnızca yerleşik yöneticilerle sınırlı değil. API’si sayesinde herhangi bir ortam veya paket yöneticisi, kendi eklentisini yazarak Python kenar çubuğuna venv ve conda ile aynı seviyede entegre olabiliyor. Topluluk bu yapıyı kullanmaya başlamış; örnek olarak Pixi Extension incelenebilir.
Bilinen sınırlamalar
Entegrasyonun henüz olgunlaşmadığı bazı alanlar var. Tam liste için resmi belgelerdeki bilinen sorunlar bölümüne bakılabilir. Bir sorunla karşılaşırsanız VS Code sürümünüzü, Python eklenti sürümünü ve tekrar üretim adımlarını içeren bir hata raporu göndermeniz çözümü hızlandırır. Hızlıca eski davranışa dönmeniz gerekirse eklentiyi devre dışı bırakmanız yeterli; bu işlem çekirdek Python eklentisini etkilemiyor.
Kaynaklar ve İleri Okuma
- Orijinal duyuru: Python Environments Extension for VS Code (Microsoft Python Blog)
- Python Environments eklentisi (VS Code Marketplace)
- VS Code Python Environments belgeleri
- VS Code Python başlangıç rehberi
- vscode-python GitHub deposu
- Bilinen sorunlar listesi
- İlgili yazı: VS Code Python Environments Nisan Güncellemesi







Yorum gönder