Razor'da Visual Studio kod biçimlendirmesini devre dışı bırakın


119

Bu daha önce sorulmuştu: Visual Studio kod biçimlendirmesi Razor işaretlemesi için neden düzgün çalışmıyor?

Ama bu soru birkaç yaşında. Ve Razor biçimlendirmesi hala tamamen kabul edilemez. Tamir etmekten vazgeçtim.

CSHTML dosyaları için TÜM Visual Studio biçimlendirmesini devre dışı bırakabilir miyim? Değilse, tüm Visual Studio biçimlendirmesini tamamen devre dışı bırakabilir miyim? Kullanabileceğim herhangi bir üçüncü taraf korsanlığı var mı? Bir şey olmalı!

2013'e yükselttim ve biçimlendirme de aynı derecede kötü.

[DÜZENLEME]: 2015 de çok kötü. GERÇEKTEN bunu düzeltmelerini diliyorum.

[DÜZENLEME]: 2017 de korkunç. GERÇEKTEN bunu düzeltmelerini diliyorum.

[DÜZENLEME]: 2019 da korkunç. GERÇEKTEN bunu düzeltmelerini diliyorum.


15
KÖTÜ 2013'te.
TombMedia

3
Ciddi anlamda. Bununla ilgili yapılabilecek bir şey olmalı ...
JustMaier

7
2015'te de KÖTÜ!
Paul

4
2017 RTM
Nisan

5
2018 yılında düzeltilmedi.
Dirk Boer

Yanıtlar:


53

Yapamazsın. Bu, ilk .net sürümünden (visual studio 2002/2003) bu yana VS'nin "özelliğinde" oluşturulmuştur.

Biçimlendirme hataları hakkında tonlarca bağlantı raporu var, ancak Microsoft bunları tamamen yok sayıyor veya düzeltmeyi "sonraki sürüme" zorluyor. Burada örnek bir Microsoft cevabı görebilirsiniz .

Geri bildiriminizi buradan Microsoft Ekibine gönderebilirsiniz.


1
Bunu öfkeyle tekrar arıyordum, bir şeyi değiştirip değiştirmediklerini bilmiyorum ama Metroid Hunter'ın düzeltmesi benim için Razor stackoverflow.com/a/28053865/62829
mattmanser

4
Görsel stüdyodaki HTML 2015'te nasıl bu kadar kötü olabilir?
schmoopy

1
Aslında 2015'te 2013 sürümünden daha kötü (aynısı, bir küme ayracı her açtığınızda ilgisiz şeyleri girintileyeceği C # için de geçerlidir). Görsel stüdyosunu çok severdim ama bu yavaş yavaş onu öldürüyor.
2016

1
Not: bağlantı bağlantılarının hepsi artık öldü
jrh

65

Araçlar -> Seçenekler -> Metin Düzenleyici -> HTML -> Gelişmiş altında

"Yapıştırmada biçimlendir" yazan ve yanında bir boole değeri bulunan Yapıştır anahtar değeri öğesi vardır. Bunu yanlış olarak değiştirmek, ustura sözdiziminde benim için yapıştırma biçimlendirmesini devre dışı bıraktı.

VS Professional 2013, Sürüm 12.0.30110.00 Güncelleme 1'i kullanıyorum


Teşekkür ederim! Yapıştırmada otomatik (mal) biçimlendirme beni deli ediyordu. Bu onu ortadan kaldırmış gibi görünüyor.
Torrents

Harika, bu tam olarak bunu uzaklaştırmak için gerekli olan şey! Teşekkürler!
Martin S Ek

Size birden fazla oy verirdim, Bu, 2013 sürüm 1 ve daha yeni sürümler için doğru bir yanıttır.
Erik Simonic

2
Görsel 2015'te çalışmıyor mu? HTML / gelişmiş olarak "yapıştırma üzerine biçimlendir" seçeneğinin işaretini kaldırdım, ancak yine de yapıştırırken garip biçimlendirme / çılgın girinti alıyorum. Cshtml dosyaları için başka bir düzenleyici kullanmayı düşünüyorum, ancak o zaman C # otomatik tamamlamayı kaybedeceğim. Bu durum çılgınca.
2016'da

5
VS2017'de benim için çalıştı.
Dave

37

Bakılacak yerler:

Tools -> Options -> Web Essentials -> HTML -> Auto-format HTML on Enter

(Web Essentials uzantısının yüklenmesini gerektirir)

False olarak ayarlayın

Tools -> Options -> Text Editor -> HTML -> Advanced -> Format on Paste

False olarak ayarlayın

Bu ayarlarla Visual Studio 2013'te sorun yaşamıyorum.

Eskiden Ctrl-Z'ye çok sık basmak zorunda kalıyordum ve eğer kodunuz yazıldıktan ve test edildikten sonra karışıklığı çözmeyi unuttuysanız çok büyük bir sıkıntıydı. Microsoft yapabileceğini hissediyorum çok sıra daha erişilebilir hale yardım kullanıcılara bu yapılandırın.


3
'Web temelleri' alanı yoktur.
Paul

Mükemmel cevap! Bu beni yıllardır rahatsız ediyor, ama artık değil!
David Kirkland

2
@Paul Web Essentials , HTML, CSS, JS editörleri ile ilgili birçok şeyi geliştiren bir VS uzantısıdır. Yüklemek ve otomatik formatlamayı devre dışı bırakmak çok yardımcı olur .
Sandrock

3
Bu cevap olarak işaretlenmelidir. Özellikle Web Essentials ile ilgili satır. Teşekkürler @dazbradbury!
Aggromonster

1
İkinci seçenek onu VS2017'de düzeltmiyor ve ilki bile mevcut değil.
ygoe

24

Benim için püf noktası yapıştırdıktan sonra CTRL + Z tuşlarına basmaktı, ardından biçimlendirme kaldırıldı.


3
burada çalıştı ... ~ 8 satıra yayılmış bir dizi veri bağlama nakavt özelliği içeren bir <select> içeren bir yığın yapıştırıyordum ve deve kasasını öldürüyor ve kolonları kaldırıyordu ... punt ve yeniden yazmak üzereydi o ... sonra bunu Ctrl + Z'yi yaptım ve işe yaramasına neden oldu ... @ Miros
beauXjames

Upvoted. Bu VS 2015'te çalışır :) Başka hiçbir çözüm (Araçlar> Seçenekler altında çeşitli ayarlar) benim için işe yaramadı, en azından kod / html arasında bir şekilde değişmesi beklenen içeriği yapıştırırken, yani C # kodunu ve ardından html'yi içeren satırları yapıştırırken işe yaramadı. etiketleri veya html biçimlendirmesini C # kodlu satırların hemen sonrasına yapıştırma.
savehansson

Bu her zaman VS'de her yerde çalışır. Bu sadece biçimlendirme yaptığını karışıklık geri almak için bir yol. (Yoksa gerçekten elle mi temizlediniz ??) Buna zaten alıştım, ama çok can sıkıcı.
ygoe

10

Benim durumumda R # suçlu oldu, buradan devre dışı bırakılabilir:

ReSharper> Seçenekler> Kod Düzenleme> Razor> Düzenleyici ve Biçimlendirme

https://www.jetbrains.com/help/resharper/2016.1/Reference__Options__Languages__Razor__Editor.html


Bu, Visual Studio'ya dahil değildir, bu nedenle bunu ayrı olarak yüklemeniz gerekirdi.
Paul

2
Burada bahsetmemin nedeni, birisinin Visual Studio'nun yeniden biçimlendirmeyi yaptığını (benim yaptığım gibi), aslında R # (birçok geliştiricinin kullandığı) olduğu halde yaptığını düşünüyor olabilir. Bu nedenle, birisi onu devre dışı bırakamazsa ve R # yüklüyse, her ikisinde de devre dışı bırakıldığından emin olmak isteyecektir.
hcoverlambda

5
R # 2017.3'te bu ayarlar ReSharper'da | Seçenekler | Çevre | Editör | Editör Davranışı
Dark Daskin

1
R # 2018,3 ben de ayarlamak zorunda hamur üzerine Editör Davranışı, Otomatik biçimi "Yok" olarak
em0

7

Maalesef, yapıştırmada otomatik biçimlendirmeyi önlemenin tek yolu, yeni bir kodu yapıştıracağınız yeri yorumlamak ve yapıştırma işleminden sonra yorumlama talimatlarını kaldırmaktır.

Ara ve Değiştir, otomatik biçimlendirmeyi tetiklemiyor gibi görünüyor. Ancak yapıştırmak tüm kod bloğunu yeniden biçimlendirir.

Bu kelimelerin ötesinde korkunç. Visual Studio IDE'yi Razor düzenleme için neredeyse kullanılamaz hale getirir. Razor dosyaları için harici bir düzenleyici kullanmak gerekir.

Daha da kötüsü, Razor görünümleri her zaman düzenlenirken en son Visual Studio 2013 Güncelleştirme 1 bile çöküyor.


6

İşin eğlenceli kısmı, C # biçimlendirmesini ve HTML biçimlendirmesini devre dışı bırakabilir, ancak Razor biçimlendirmesini devre dışı bırakamazsınız.

"Araçlar> Seçenekler> Metin Düzenleyici> C #> Biçimlendirme> Yapıştırmada otomatik olarak biçimlendir" seçeneğinin işaretini kaldırdım ve aynı HTML için de geçerli.

Bu, cshtml dosyalarında aşağıdaki eğlenceli deneyime neden olur:

  • HTML kodunu yapıştırın: format yok
  • C # kodunu yapıştırın: format yok
  • Razor kodunu yapıştır: her şeyi yanlış biçimlendir

Razor seçeneklerini değiştirme seçeneği olmadığından, bununla yaşamak zorundasınız sanırım.

"Çözümüm": Otomatik biçimi geri almak için yapıştırın ve ctrl-z


1
Ben de .. ama bu beni deli ediyor!
Matt Kocaj

Çözümünüz bir çözümdür ve büyük dosyaları düzenlerken dakikalar alır.
Arturo Torres Sánchez

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.