Visual Studio'da otomatik biçimlendirmeyi kapatma


134

Visual Studio'nun varsayılan ayarlarının aksine, kendi kod biçimlendirme stilimi tercih eden bir kod sadeciyim. Araçlar / seçenekler içindeki otomatik biçimlendirme seçeneklerini kapattım. Çoğu durumda çalışır.

Yerleşik yeniden düzenleme işlemlerinden herhangi birini kullandıktan sonra, Visual Studio ayarlarımı varsayılan ayarlarıyla hızlandırır. VS'nin bunu yapmasını nasıl önleyebilirim?


9
@ user1142958 açık kaynak kodlu bir projede birkaç ayda bir ve iş hayatında birkaç yılda bir, stilinin standarttan daha iyi olduğu konusunda ısrar eden bazı sıcak noktalarla karşılaşıyorum. Yıllarca süren araştırmalar sayesinde stil standartlarının kod okunabilirliğini ve sürdürülebilirliğini artırdığı tespit edilmiştir. Geliştiriciler kendi "daha iyi" yaklaşımlarını ortaya koyduklarında, genellikle takımdaki diğer geliştiricileri atma eğilimi gösterirler. Bunu örnek olarak okuyun - woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo

29
@senfo Hepsi harika bir bilgi, ancak Visual Studio'nun yerleşik biçimlendiricisi bazı durumlarda inkar edilemez şekilde bozuldu (örn. stackoverflow.com/questions/6459861/… ). Bu durumlarda, VS'nin "stil" konusundaki üzücü girişimine güvenmek yerine, uygun bulduğum standartlara uymak için insan zekamı kullanmayı tercih ederim.
Dan Bechard

5
@senfo - VS .cshtml otomatik biçimlendirme, özellikle ustura açısından bozuk. Diğer bölümlerde de sizinle aynı fikirdeydik, ama bu bir özellik değil - bu bir hata
Ross

5
"Standart" klavyede savaşan iki kedi gibi göründüğünde, tutarlılık bir erdem değildir. Bana hotshot deyin ama kodu okunaklı hale getirmek için ekstra zaman buna değer. Deneyimlerim mükemmel bir şekilde tutarlı: tutarlılık (sic) konusunda en tutkulu insanlar, gelebilecekleri en okunamayan kodu teşvik ediyorlar.
Chris Fox

5
Kod temizleyici, metni doğru biçimlendirmede giren bir kişidir, bu nedenle (muhtemelen bozuk) otomatik biçimlendirmeye gerek yoktur.
Anders Lindén

Yanıtlar:


106

Bir aspxsayfaya VB yazarken bu sorunu yaşadım .

Çözüm 'Araçlar> Seçenekler> Metin Düzenleyici> Temel> VB'ye Özgü' ye gitmek ve 'Güzel Liste'yi KAPALI hale getirmekti.


Not - Visual Studio 2015'te bunu şu adreste bulabilirsiniz:

Araçlar> Seçenekler> Metin Düzenleyici> Temel> Gelişmiş


Keşke bu onay kutularını herhangi bir kısa anahtara kolayca bağlayabilseydim.
Mike de Klerk

1
Teşekkürler, bu benim için çalıştı. "Güzelleştirme", işlev adının "altına" yerleştirilmiş işlev parametreleri ile inanılmaz derecede kötüdür; tablodaki dikey hizalama, iletişimde çalışan herkesin anlayabileceği en kolay şey olduğunda, açıklanamaz bir seçimdir.
Chris Fox

54
Ben sadece bir seçenek ağaç hiyerarşisi olan güzelliğine hayran text editor -> basic -> advancedkalacaksınız duraklayacak ... 'oh evet gelişmiş bölümü istiyorum'? Bu basit
fostandy

12
@fostandy, muhtemelen bunu bildiğinizi anlıyorum, ancak basicdilin adı, seçeneklerin bölümü değil, C # da burada listelendiği için.
Lightfire228

32

Güzel listeyi devre dışı bırak. Yaptıklarınızı yeniden biçimlendiren seçenektir. Onunla aynı rahatsızlık vardı ve bunu yaptıktan sonra, kodum nasıl istediğimi kalır ve önceki ayarlara geri gitmez.

resim açıklamasını buraya girin


VS2010 Premium'umda bu seçeneğe sahip değilim
Maciej

2
VS2017'de giderir
Doug Null

VS 2013'te C ++ sorunumu
çözmedim

6

Benim durumumda, ReSharper'dı.

Yeniden Paylaşıcının olup olmadığını test edin

StackOverflow: Visual Studio'da ReSharper'ı nasıl devre dışı bırakıp tekrar etkinleştirebilirim?

ReSharper'ın kodu yeniden biçimlendirmesini önleme

StackOverflow: ReSharper'a biçimlendirmemesini söylemek için kodu işaretlemenin bir yolu var mı?

Güncelleme

Sonunda ReSharper'dı:

resim açıklamasını buraya girin


2
Teşekkürler, bu beni deli ediyordu.
Simon Arnold

1
Kabul etti, parantezler her zaman yanlış yerdeydi ve bir noktalı virgül her vurduğunuzda tam anlamıyla ağır bir ayakkabıyla kod üzerinde durdu. Hiç hoş değil.
Contango

5

Sen girmiş olabileceğini Güç Aracı yüklü.

Bu durumda 'Araçlar> Seçenekler> Verimlilik Elektrikli El Aletleri> PowerCommands> Genel'den kapatabilirsiniz.

resim açıklamasını buraya girin


4

@TheMatrixRecoder tarafından önerildiği gibi beni bulmak için biraz aldı bu yüzden belki bu başka birine yardımcı olacaktır. VS 2017 seçeneği burada bulunabilir

Bir noktalı virgül yerleştirdiğinizde veya bir satırın sonuna geri dönüş yaptığınızda rahatsız edici otomatik biçimlendirmeyi önlemek için bu seçenekleri kullanın.


3

VS2017'de, ayarlar menüsünde kodlama dilinizi seçtikten sonra değiştirebilirsiniz. "Biçimlendirme" alt menüsünde "yeni Satırlar" adlı bir seçenek vardır.


2

Yeniden düzenleme işleminden sonra yeniden biçimlendirmeyi devre dışı bırakabileceğinizden şüpheliyim. Değişiklik kodunu yeniden düzenleme ve sadece metin olduğu için, istediğiniz şeyden sadece biçimlendirilmemiş metni kaynağınıza döktüğünden şüpheleniyorum. VS'nin kod stilini beğendiğiniz ve takip ettiğiniz stile ayarlamak biraz daha kolay olmaz mıydı?


1
Bazen kodlama stili algoritmaya dönüştürülemez. Bazen tutarsız bir şekilde tutarsızdır, çünkü kişi tutarsız kodlama stiline sahip bir projeye katkıda bulunur ve düzenlenmekte olan belirli kod parçasının kodlama stiline bağlı kalmak ister.
Palec

2

Noktalı virgül veya kapatma ayracı üzerinde yeniden biçimlendirme kapatılamaz. Ben Microsoft'un nasıl kod biçimlendirmek için herkese anlatmak için temerity olurdu çileden buluyorum; şimdiye kadar gördüğüm en okunaksız kod orada çalışırken oldu.

Bitişik ödevlerin dikey olarak hizalanmasını istiyorum; VS, soldaki değişkenin uzunluğuna bakılmaksızın eşit işaretin her iki tarafında bir boşlukta yeniden biçimlendirir. Bu tahammül edilemez. Ve editör seçeneklerinde kapatılması yok sayılır; Yukarıdaki açıcı gibi yorumlar verildiğinde bunun kasıtlı olduğundan eminim.

Tutarlılık, ancak istenen sonuçlara yol açtığında bir erdemdir. Bu bir değil.


2

Otomatik biçimlendirmeyi önlememe yardımcı olan VS2015 ayarları:

(ve Araçlar> Seçenekler> Metin Düzenleyici> Temel> Gelişmiş, tıpkı Tango91'in önerdiği gibi )

resim açıklamasını buraya girin


1

TAKIMLARI-> SEÇENEKLER-> Metin Düzenleyici-> CSS-> Biçimlendirme "Kompakt Kurallar" ı seçin ve "Hiearerchical indentation" seçimini kaldırın


Metin Editörü -> CSS veya HTML -> Sekmeler -> Girinti -> (o) Yok
Bob Stein

1

Clang Formatı söz konusu olabilir. Önceden, dosya kaydetme sırasında tüm dosya otomatik olarak biçimlendiriliyor ve beni deli ediyordu (Clang Formatının etkinleştirilmediği depolar için).

Bu tür araçlar "Araçlar -> Seçenek -> LLVM / Clang -> ClangFormat -> Kaydetme Biçiminde -> Etkinleştir" ayarını Yanlış seçeneğine getirdikten sonra kaybolur.

Kaydettikçe ClangFormat Biçimi


0

Kod biçimlendirme ayarlarını değiştirebilirsiniz. Her zaman tüm ekstra satır sonlarını kapatın ve sonra nasıl kod biçimlendirmek için iyi çalışıyor.

Ayarları tercihlerinize olabildiğince yakın ayarlarsanız, yeniden düzenleme kullandığınızda minimum iş bırakmanız gerekir.


0

Tango'nun asıl çözüm için cevabına ek olarak, insanlar otomatik formatlarla güncel kalmak isteyebilir, ancak ilgili değişikliklerinizi bozmasını istemeyebilirler. Otomatik formatın etkinleştirilmesi için dosyayı değiştirmenizi, bu değişiklikleri kontrol etmenizi ve ardından yapmak istediğiniz gerçek değişikliklere devam etmenizi öneririm.

Bu şekilde kodunuz güncel kalabilir, ancak check-ininiz alakalı olacaktır.


0

Bundler ve Minifier uzantısını devre dışı bırakmayı deneyin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.