Aracılığıyla paylaş


Visual Studio'da Python kodunu yeniden düzenleme

Mevcut kodu yeniden kullanmak ve kodu yenilemek geliştiriciler için yaygın görevlerdir. Var olan kodu başka bir amaç için yeniden düzenlemek ve tüm yeni kodları yazmayarak zaman kazanmak isteyebilirsiniz. Kullanılmayan öğeleri kaldırmak veya son sürümlerle güncel olmaları için içeri aktarmaları ve yöntemleri yenilemek için kodunuzu temizlemek isteyebilirsiniz.

Visual Studio, Python kaynak kodunuzu otomatik olarak dönüştürmenize ve temizlemenize yardımcı olacak çeşitli komutlar sağlar:

Önkoşullar

Sınıfı, yöntemi veya değişkeni yeniden adlandırma

Sınıf, yöntem veya değişken gibi belirli bir tanımlayıcının adını değiştirmek için Yeniden Adlandır komutunu kullanabilirsiniz. Visual Studio, tanımlayıcının tüm örneklerinin veya yalnızca belirttiğiniz belirli örneklerin güncelleştirilmesini destekler.

Aşağıdaki adımlarda kodunuzda Yeniden Adlandır komutunun nasıl kullanılacağı gösterilmektedir.

  1. Kodunuzda, yeniden adlandırmak istediğiniz tanımlayıcıya sağ tıklayın ve Yeniden Adlandır'ı seçin. Ayrıca imleci bir tanımlayıcıya yerleştirip menüden >>'ı seçebilir veya Ctrl+ R klavye kısayolunu kullanabilirsiniz.

  2. Yeniden Adlandır iletişim kutusunda tanımlayıcının yeni adını yazın ve ardından Enter tuşuna basın:

    Visual Studio 2022'de tanımlayıcı için farklı bir ad belirtmeyi gösteren ekran görüntüsü.

İçeri aktarma deyimini ekleyin

Kodunuzda tanımları veya destekleyici tür bilgilerini eksik tanımlayıcılar varsa, Visual Studio sorunu düzeltmenize yardımcı olabilir. İmleci bilgisi bulunmayan bir tanımlayıcıya yerleştirdiğinizde, Visual Studio, kodun sol tarafında bir akıllı etiket (ampul) gösterir. etiketi, ilgili tanımlayıcı için gerekli import veya from ... import deyimleri eklemeye yönelik komutları listeler.

Aşağıdaki adımlar, kodunuzda içeri aktarmalar eklemek için akıllı etiketle nasıl çalışılacağını gösterir.

  1. Kodunuzda, imleci Visual Studio'nun akıllı etiketi (ampul) görüntülediği bir tanımlayıcıya yerleştirin. Bu örnekte, matematik modülü çağrısı için akıllı etiket görüntülenir:

    Visual Studio 2022'de içeri aktarma deyimi eklenmesi gereken bir tanımlayıcının akıllı etiketini gösteren ekran görüntüsü.

  2. Akıllı etiket menüsünde gerekli modülü eklemek veya kod dosyanıza bilgi yazmak için komutunu seçin. Bu örnekte import math ifadesini eklemek için komut seçilir.

    Visual Studio, geçerli projede ve standart kitaplıkta üst düzey paketler ve modüller için tamamlamalar sunar import . Visual Studio ayrıca alt modüller, alt paketler ve modül üyeleri için tamamlamalar sunar from ... import . Tamamlamalar işlevler, sınıflar veya dışarı aktarılan verileri içerir.

  3. Bir seçeneği seçtikten sonra dosyanızda beklenen değişikliğin yapıldığını onaylayın.

    Visual Studio, diğer içeri aktarmalardan sonra veya aynı modül zaten içeri aktarılmışsa var olan from ... import ifadesine, import ifadesini kod dosyanızın en üstüne olarak ekler. Bu örnekte, diğer içeri aktarma işlemlerinin ardından import math ifadesi dosyanın en üstüne eklenir.

    Visual Studio 2022'de akıllı etiketten komutu çalıştırdıktan sonra eklenen içeri aktarma deyimini gösteren ekran görüntüsü.

Visual Studio, modülde tanımlanmayan üyeleri filtrelemeye çalışır. Bir örnek, içeri aktarma modülünün alt öğesi olmayan başka bir modüle içeri aktarılan modüldür. Birçok modülde import sys yerine from xyz import sysdeyimi kullanılır. Modüllerde modülü dışlayan sys bir __all__ üye eksik olsa bile modülü diğer modüllerden içeri aktarma işleminin sys tamamlandığını görmezsiniz.

Benzer şekilde, Visual Studio diğer modüllerden veya yerleşik ad alanından içeri aktarılan işlevleri filtreler. Bir modül sys modülünden settrace işlevini içeri aktarırsa, teoride bu modülden bu işlevi içeri aktarabilirsiniz. Ancak, en iyi yaklaşım deyimini import settrace from sys doğrudan kullanmaktır, bu nedenle Visual Studio bu deyimi özel olarak sunar.

Son olarak, bir modülün normalde dışlandığını, ancak modüldeki bir değerle atanmış bir ad gibi başka değerler içerdiğini varsayalım. Visual Studio yine de içeri aktarmayı dışlar. Bu davranış, başka bir modül tanımladığından değerin dışarı aktarılmaması gerektiğini varsayar. Başka bir atama da dışarı aktarılmayan sahte bir değer olabilir.

Kullanılmayan importları kaldırın

Kod yazarken, bazen hiç kullanılmayan modüller için import ifadeleri yazmak kolay olabilir. Visual Studio kodunuzu analiz ettiğinden, içeri aktarılan adın deyim gerçekleştikten sonra kapsam içinde kullanılıp kullanılmadığına bakarak bir import deyimin gerekli olup olmadığını otomatik olarak belirleyebilir.

Aşağıdaki adımlarda kodunuzda kullanılmayan içeri aktarmaların nasıl kaldırılacağı gösterilmektedir.

  1. Kodunuzda, imleci Visual Studio'nun akıllı etiket (ampul) görüntülediği bir import deyiminin üzerine yerleştirin. Bu örnekte, kullanılmayan binascii, dizi ve glob modülleri için akıllı etiket görüntülenir:

    Visual Studio 2022'de kullanılmayan içeri aktarmaları kaldırma seçeneklerine erişmeyi gösteren ekran görüntüsü.

  2. Yalnızca seçili modülü kaldırmak için Kullanılmayan tüm içeri aktarmaları kaldır veya Kullanılmayan içeri aktarmayı kaldır seçeneğini belirleyin.

  3. Bir seçeneği seçtikten sonra, dosyanızda değişikliklerin yapıldığını onaylayın. Bu örnekte Visual Studio kullanılmayan üç modülü kaldırır: binascii, dizi ve glob.

    Visual Studio 2022'de Kullanılmayan tüm içeri aktarmaları kaldır komutunun sonuçlarını gösteren ekran görüntüsü.

Yeniden düzenleme komutlarını kullanırken dikkat edilmesi gerekenler

Yeniden düzenleme komutlarını kullanmadan önce aşağıdaki noktaları gözden geçirin.

  • Bir yeniden düzenleme komutunu çalıştırdıktan sonra, Düzenle>Geri Al komutunu kullanarak değişiklikleri geri alabilirsiniz. Yeniden Adlandır komutu bir Önizleme özelliği sunar, böylece değişiklikleri uygulanmadan önce görebilirsiniz.

  • Visual Studio, kodunuzda denetim akışını hesaba eklemez. Kodda destekleyici tanım var olmadan önce bir tanımlayıcı kullanırsanız (örneğin, bir import deyim) Visual Studio yine de tanımlayıcıyı kullanılan şekilde işler. Visual Studio, siz çağrılar ve atamalar yapmadan önce tanımlayıcılar için destekleyici tanımları bulmayı bekler.

  • Visual Studio tüm from __future__ içeri aktarma ifadelerini yoksayar. Bu deyimler, bir sınıf tanımının içinde veya from ... import * deyimleri kullanılarak gerçekleştirilen içeri aktarmalardır.