Python kodunu düzenleme ve Intellisense kullanma
Geliştirme zamanınızın çoğunu kod düzenleyicisinde harcadığınızdan, Visual Studio'daki Python desteği daha üretken olmanıza yardımcı olacak işlevler sağlar. Özellikler arasında IntelliSense söz dizimi vurgulama, otomatik tamamlama, imza yardımı, yöntem geçersiz kılmaları, arama ve gezinti yer alır.
Kod düzenleyicisi Visual Studio'daki Etkileşimli pencereyle tümleşiktir. Çalışırken, iki pencere arasında kod alışverişi yapmak kolaydır. Daha fazla bilgi için bkz . Öğretici 3. Adım: Etkileşimli REPL penceresini kullanma ve Etkileşimli pencereyi kullanma - Etkileşimliye Gönder komutu.
Anahat oluşturma, kodunuzun belirli bölümlerine odaklanmanıza yardımcı olur. Visual Studio'da kodu düzenlemeyle ilgili genel belgeler için bkz . Kod düzenleyicisinin özellikleri.
Visual Studio Nesne Tarayıcısı , her modülde tanımlanan Python sınıflarını ve bu sınıflarda tanımlanan işlevleri incelemenize olanak tanır. Bu özelliğe Görünüm menüsünden veya Ctrl+Alt+J klavye kısayolunu kullanarak erişebilirsiniz.
IntelliSense özelliklerini kullanma
IntelliSense tamamlamalar, imza yardımı, hızlı bilgiler ve kod renklendirme sağlar. Visual Studio 2017 sürüm 15.7 ve üzeri sürümler de tür ipuçlarını destekler.
Performansı geliştirmek için Visual Studio 2017 sürüm 15.5 ve önceki sürümlerdeki IntelliSense, projenizdeki her Python ortamı için oluşturulan bir tamamlama veritabanına bağlıdır. Paketleri ekler, kaldırır veya güncelleştirirseniz veritabanınızı yenilemeniz gerekebilir. Veritabanı durumu, IntelliSense sekmesindeki Python Ortamları penceresinde (Çözüm Gezgini eşlikçisi) gösterilir. Daha fazla bilgi için bkz. Ortamlar penceresi başvurusu.
Visual Studio 2017 sürüm 15.6 ve üzeri, veritabanına bağımlı olmayan IntelliSense tamamlamaları sağlamak için farklı bir yöntem kullanır.
Tamamlama
Tamamlamalar, düzenleyicideki geçerli konuma uygun şekilde girilebilen deyimler, tanımlayıcılar ve diğer sözcükler olarak görünür. Intellisense, seçenekler listesini bağlama göre doldurur ve yanlış veya dikkat dağıtıcı öğeleri filtreler. Tamamlamalar genellikle farklı deyimler (örneğinimport
) ve işleçler (nokta dahil) girilerek tetiklenir, ancak Ctrl+J +Ara Çubuğu klavye kısayolunu seçerek istedikleri zaman görüntülenebilir.
Tamamlama listesi açıkken ok tuşlarını, fareyi kullanarak veya yazma işlemine devam ederek istediğiniz tamamlama için arama yapabilirsiniz. Siz daha fazla harf yazdıkça, olası tamamlamaları göstermek için liste daha fazla filtrelenmiş olur. Aşağıdakiler gibi kısayolları da kullanabilirsiniz:
- 'argparse' öğesini bulmak için adın başında olmayan 'ayrıştırma' gibi harfler yazın
- 'AbstractBaseClass' öğesini bulmak için 'abc' veya 'as_integer_ratio' bulmak için 'air' gibi sözcüklerin başındaki harfleri yazın
- 'base64' öğesini bulmak için 'b64' gibi harfleri atlayın
Burada bazı örnekler verilmiştir:
Üye tamamlamaları, bir değişken veya değerden sonra bir nokta yazdığınızda, olası türlerin yöntemleri ve öznitelikleriyle birlikte otomatik olarak görüntülenir. Bir değişken birden fazla türde olabilirse, liste tüm türlerden tüm olasılıkları içerir. Her tamamlamanın hangi türleri desteklediğini belirtmek için ek bilgiler gösterilir. Tüm olası türler tamamlanmasını desteklediğinde ek açıklama gösterilmez.
Varsayılan olarak, "dunder" üyeleri (çift alt çizgiyle başlayan ve biten üyeler) gösterilmez. Genel olarak, bu tür üyelere doğrudan erişilmemelidir. Dunder kullanmanız gerekiyorsa, bu tamamlamaları listeye eklemek için öndeki çift alt çizgiyi yazın:
import
ve from ... import
deyimleri içeri aktarılabilir modüllerin listesini görüntüler. deyimi, from ... import
belirtilen modülden içeri aktarılabilir üyeleri içeren bir liste oluşturur.
raise
ve except
deyimleri, büyük olasılıkla hata türü olabilecek sınıf listelerini görüntüler. Liste tüm kullanıcı tanımlı özel durumları içermeyebilir, ancak uygun yerleşik özel durumları hızla bulmanıza yardımcı olur:
@ Simge (at) seçildiğinde bir dekoratör başlatılır ve olası dekoratörler gösterilir. Bu öğelerin çoğu dekoratör olarak kullanılamaz. Hangi dekoratörün kullanılacağını belirlemek için kitaplık belgelerine bakın.
Daha fazla bilgi için bkz . Seçenekler - tamamlama sonuçları.
Tür ipuçları
Tür ipuçları Visual Studio 2017 sürüm 15.7 ve sonraki sürümlerde kullanılabilir.
Python 3.5+ (PEP 484 (python.org) içindeki "tür ipuçları", bağımsız değişken türlerini, dönüş değerlerini ve sınıf özniteliklerini gösteren işlevler ve sınıflar için ek açıklama söz dizimidir. IntelliSense, bu ek açıklamalara sahip işlev çağrılarının, bağımsız değişkenlerin ve değişkenlerin üzerine geldiğinizde tür ipuçlarını görüntüler.
Aşağıdaki örnekte, Vector
sınıfı türü List[float]
olarak bildirilir ve scale
işlev hem bağımsız değişkenleri hem de dönüş değeri için tür ipuçları içerir. Bu işleve yönelik bir çağrının üzerine gelindiğinde tür ipuçları gösterilir:
Sonraki örnekte, sınıfın açıklamalı özniteliklerinin bir özniteliğin Employee
IntelliSense tamamlama açılır penceresinde nasıl göründüğünü görebilirsiniz:
Hatalar normalde çalışma zamanına kadar görünmediğinden, projeniz genelinde tür ipuçlarını doğrulamanız da yararlı olur. Bu amaçla Visual Studio, python Mypy'yi Çözüm Gezgini'de Çalıştır bağlam menüsü komutu >aracılığıyla endüstri standardı Mypy aracını tümleştirir:
Komutu çalıştırmak gerekirse Mypy paketini yüklemenizi ister. Visual Studio daha sonra projedeki her Python dosyasındaki tür ipuçlarını doğrulamak için Mypy'yi çalıştırır. Hatalar Visual Studio Hata Listesi penceresinde görüntülenir. Pencerede bir öğe seçildiğinde, kodunuzdaki uygun satıra gider.
Basit bir örnek olarak, aşağıdaki işlev tanımı bağımsız değişkenin input
türü str
olduğunu belirten bir tür ipucu içerirken, bu işleve yapılan çağrı bir tamsayı geçirmeyi dener:
def commas_to_colons(input: str):
items = input.split(',')
items = [x.strip() for x in items]
return ':'.join(items)
commas_to_colons(1)
Bu kodda Mypy'yi Çalıştır komutunun kullanılması aşağıdaki hatayı oluşturur:
Not
Python'ın 3.5 öncesi sürümleri için Visual Studio, Typeshed saplama dosyaları (.pyi) aracılığıyla sağladığınız tür ipuçlarını da görüntüler. Saplama dosyalarını, doğrudan kodunuza tür ipuçları eklemek istemediğinizde veya bunları doğrudan kullanmayan bir kitaplık için tür ipuçları oluşturmak istediğinizde kullanabilirsiniz. Daha fazla bilgi için mypy projesi wiki'sinde Python modülleri için saplama oluşturma bölümüne bakın.
Visual Studio şu anda açıklamalarda tür ipuçlarını desteklememektedir.
İmza yardımı
bir işlevi çağıran kod yazarken, açma parantezini (
yazdığınızda imza yardımı görüntülenir. Kullanılabilir belgeleri ve parametre bilgilerini görüntüler. bir işlev çağrısının içindeki Ctrl+Shift+Space klavye kısayoluyla imza yardımına erişebilirsiniz. Görüntülenen bilgiler, işlevin kaynak kodundaki belge dizelerine bağlıdır, ancak varsayılan değerleri içerir.
İpucu
İmza yardımlarını devre dışı bırakmak için Araçlar>Seçenekler>Metin Düzenleyicisi>Python>Genel'e gidin. Deyim tamamlama>Parametre bilgileri onay kutusunu temizleyin.
Hızlı bilgi
Fare işaretçisini bir tanımlayıcının üzerine getirdiğinizde Hızlı Bilgi araç ipucu görüntülenir. Tanımlayıcıya bağlı olarak, Hızlı Bilgi olası değerleri veya türleri, kullanılabilir belgeleri, dönüş türlerini ve tanım konumlarını görüntüleyebilir:
Kod renklendirme
Kod renklendirme, kod analizinden renk değişkenlerine, deyimlere ve kodunuzun diğer bölümlerine kadar bilgileri kullanır. Modüllere veya sınıflara başvuran değişkenler, işlevlerden veya diğer değerlerden farklı bir renkte gösterilebilir. Parametre adları yerel veya genel değişkenlerden farklı bir renkte görünebilir. Varsayılan olarak, işlevler kalın olarak gösterilmez.
Renkleri özelleştirmek için Araçlar>Seçenekler>Ortam>Yazı Tipleri ve Renkler'e gidin. Öğeleri görüntüle listesinde, istediğiniz Python girişlerini değiştirin:
Kod parçacıkları ekleme
Kod parçacıkları, klavye kısayolu kullanılarak ve Sekme seçilerek dosyalarınıza eklenebilen kod parçalarıdır. Ayrıca IntelliSense Insert Snippet ve Surround With komutlarını da kullanabilir>, Python'ı ve ardından istediğiniz kod parçacığını seçebilirsiniz.>
Örneğin, class
sınıf tanımı ekleyen bir kod parçacığının kısayoludur. yazdığınızda kod parçacığının otomatik tamamlama listesinde class
göründüğünü görürsünüz:
Sekme seçildiğinde sınıfın geri kalanı oluşturulur. Ardından ad ve temeller listesinin üzerine yazabilir, Sekme tuşuyla vurgulanan alanlar arasında ilerleyebilir ve gövdeyi yazmaya başlamak için Enter'ı seçebilirsiniz.
Menü komutları
IntelliSense Kod ParçacığıNı Düzenle>Kod Parçacığı Ekle menü komutunu kullandığınızda, önce Python'ı ve ardından istediğiniz kod parçacığını seçersiniz:>
IntelliSense>Surround With Düzenle>komutu, metin düzenleyicisindeki geçerli seçimi seçilen bir yapısal öğenin içine yerleştirir. Aşağıdaki örneğe benzer bir kod parçasına sahip olduğunuzu varsayalım:
sum = 0
for x in range(1, 100):
sum = sum + x
Bu kodun seçilmesi ve Çevrele komutunun seçilmesi, kullanılabilir kod parçacıklarının listesini görüntüler. Kod parçacığı listesinden def seçildiğinde, seçilen kod bir işlev tanımına yerleştirir. Vurgulanan işlev adı ile bağımsız değişkenler arasında gezinmek için Sekme tuşunu kullanabilirsiniz:
Kullanılabilir kod parçacıklarını inceleme
Kullanılabilir kod parçacıklarını Kod Parçacıkları Yöneticisi'nde görebilirsiniz. Araçlar>Kod Parçacıkları Yöneticisi'nden bu özelliğe erişin ve dil olarak Python'ı seçin:
Kendi kod parçacıklarınızı oluşturmak için bkz . İzlenecek yol: Kod parçacığı oluşturma.
Paylaşmak istediğiniz harika bir kod parçacığı yazarsanız, bunu bir gist'e gönderip bize bildirin. Bunu Visual Studio'nun gelecek bir sürümüne dahil edebiliriz.
Kodunuzda gezinme
Visual Studio'daki Python desteği, kaynak kodun kullanılabildiği kitaplıklar da dahil olmak üzere kodunuz içinde hızlı bir şekilde gezinmek için çeşitli yollar sağlar. Gezinti çubuğu, Tanıma Git, Git ve Tüm Başvuruları Bul komutları için kaynak kodu olan kitaplıkları bulabilirsiniz. Visual Studio Nesne Tarayıcısı'nı da kullanabilirsiniz.
Gezinti çubuğu
Gezinti çubuğu her düzenleyici penceresinin en üstünde görüntülenir ve iki düzeyli bir tanım listesi içerir. Sol açılan liste, geçerli dosyada üst düzey sınıf ve işlev tanımlarını içerir. Sağ açılan listede, solda gösterilen kapsamdaki tanımların listesi görüntülenir. Düzenleyicide gezindikçe listeler geçerli bağlamınızı gösterecek şekilde güncelleştirilir ve doğrudan atlamak için bu listelerden bir girdi seçebilirsiniz.
İpucu
Gezinti çubuğunu gizlemek için, Araçlar>Seçenekleri>Metin Düzenleyicisi>Python>Genel'e gidin ve Ayarlar> Yenileştirme çubuğunu temizleyin.
Tanıma Git
Tanıma Git komutu, bir tanımlayıcının (işlev adı, sınıf veya değişken gibi) kullanımından kaynak kod tanımının konumuna hızla atlar. Komutu çağırmak için bir tanımlayıcıya sağ tıklayın ve Tanıma Git'i seçin veya şapka işaretini tanımlayıcıya yerleştirin ve F12'yi seçin. Komut, kaynak kodun kullanılabildiği kod ve dış kitaplıklarınızda çalışır. Kitaplık kaynak kodu kullanılamıyorsa Tanıma Git, modül başvurusu için ilgili import
deyime atlar veya bir hata görüntüler.
Git
Düzenle>Git komutu (Ctrl+,), düzenleyicide herhangi bir dize yazabileceğiniz ve kodunuzda bu dizeyi içeren bir işlevi, sınıfı veya değişkeni tanımlayan olası eşleşmeleri görebileceğiniz bir arama kutusu görüntüler. Bu özellik Tanıma Git özelliğine benzer bir özellik sağlar ancak tanımlayıcı kullanımına gerek kalmaz.
Bu tanımlayıcının tanımına gitmek için herhangi bir ada çift tıklayın veya ardından Enter tuşuna basılan ok tuşlarıyla adı seçin.
Tüm Başvuruları Bul
Tüm Başvuruları Bul özelliği, içeri aktarmalar ve atamalar dahil olmak üzere belirli bir tanımlayıcının nerede tanımlandığını ve kullanıldığını bulmanın yararlı bir yoludur. Komutu çağırmak için bir tanımlayıcıya sağ tıklayın ve Tüm Başvuruları Bul'u seçin veya şapka işaretini tanımlayıcıya yerleştirip Shift+F12'yi seçin. Listedeki bir öğeye çift tıklanması, öğenin konumuna gider.