Matikan pemformatan otomatis di Visual Studio


140

Saya seorang pemurni kode, lebih memilih gaya pemformatan kode saya sendiri daripada pengaturan default Visual Studio. Saya telah mematikan opsi pemformatan otomatis di Alat / opsi. Dalam banyak kasus, itu berhasil.

Setelah menggunakan salah satu dari refactorings built-in, Visual Studio clobber pengaturan saya dengan pengaturan default. Bagaimana cara mencegah VS melakukan itu?


11
@ user1142958 setiap beberapa bulan dalam proyek open source dan setiap beberapa tahun dalam bisnis, saya menemukan beberapa jagoan yang menegaskan gayanya lebih baik daripada standar. Melalui penelitian bertahun-tahun, telah ditentukan bahwa standar gaya meningkatkan keterbacaan dan pemeliharaan kode. Ketika pengembang datang dengan pendekatan "lebih baik" mereka sendiri, umumnya memiliki kecenderungan untuk membuang pengembang lain dalam tim. Baca ini sebagai contoh - woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo

29
@senfo Itu semua adalah info yang bagus, tetapi pemformat internal Visual Studio rusak dalam kasus tertentu (misalnya stackoverflow.com/questions/6459861/… ). Dalam kasus seperti itu, saya lebih suka menggunakan kecerdasan manusia saya untuk menyesuaikan dengan standar yang saya anggap tepat daripada mengandalkan upaya menyedihkan VS pada "gaya".
Dan Bechard

5
@senfo - Pemformatan otomatis VS .cshtml, terutama dalam hal Razor rusak. Setuju dengan Anda di bagian lain, tetapi ini bukan fitur - ini bug
Ross

5
Ketika "standar" terlihat seperti dua kucing berkelahi di keyboard maka konsistensi bukanlah kebajikan. Sebut saya jagoan tetapi waktu ekstra untuk membuat kode terbaca sangat berharga. Pengalaman saya sangat konsisten: orang yang paling bersemangat tentang konsistensi telah mempromosikan kode yang paling tidak terbaca yang dapat mereka buat.
Chris Fox

5
Code purist adalah orang yang memasukkan teks dalam format yang benar sehingga tidak perlu (mungkin rusak) pemformatan otomatis.
Anders Lindén

Jawaban:


107

Saya mengalami masalah ini saat menulis VB di aspxhalaman.

Solusinya adalah pergi ke 'Tools> Options> Text Editor> Basic> VB Specific' dan matikan 'Pretty Listing'.


Catatan - di Visual Studio 2015 ini dapat ditemukan di:

Alat> Opsi> Editor Teks> Dasar> Lanjutan


Saya berharap saya dapat mengikat kotak centang ini dengan mudah ke sembarang tombol.
Mike de Klerk

1
Terima kasih, ini berhasil untuk saya. "Prettying" sangat buruk, dengan parameter fungsi "terselip di bawah" nama fungsi, pilihan yang tidak bisa dijelaskan ketika penyelarasan vertikal tabel adalah hal yang paling mudah dipahami oleh siapa pun yang bekerja di bidang komunikasi.
Chris Fox

56
Saya hanya akan berhenti sejenak untuk mengagumi keindahan memiliki hierarki pohon opsi yang berbunyi text editor -> basic -> advanced.. 'oh ya, Anda ingin bagian lanjutan'? Itu di bawah standar
fostandy

13
@fostandy, saya menyadari Anda mungkin tahu ini, tetapi itu basicadalah nama untuk bahasanya, bukan bagian opsi, karena C # juga terdaftar di sana.
Lightfire228

33

Nonaktifkan daftar cantik. Ini adalah opsi yang memformat ulang apa yang Anda lakukan. Saya memiliki ketidaknyamanan yang sama dengannya dan setelah melakukannya, kode saya tetap seperti yang saya inginkan dan tidak kembali ke pengaturan sebelumnya.

masukkan deskripsi gambar di sini


Tidak memiliki opsi ini di VS2010 Premium saya
Maciej

2
Perbaiki di VS2017
Doug Null

1
Tidak memperbaiki masalah C ++ saya di VS 2013. Dan saya yakin itu tidak rusak sebelum saya mengganti mesin
CashCow

6

Dalam kasus saya, itu adalah ReSharper.

Uji apakah ReSharper

StackOverflow: Bagaimana cara menonaktifkan ReSharper di Visual Studio dan mengaktifkannya lagi?

Cegah ReSharper dari memformat ulang kode

StackOverflow: Apakah ada cara memberi markup kode untuk memberi tahu ReSharper agar tidak memformatnya?

Memperbarui

Itu adalah ReSharper pada akhirnya:

masukkan deskripsi gambar di sini


2
Terima kasih, ini membuatku gila.
Simon Arnold

1
Setuju, kurung kurawal selalu berada di tempat yang salah, dan itu benar-benar menginjak kode dengan sepatu boot yang berat setiap kali Anda menekan titik koma. Tidak keren.
Contango

6

Seperti yang disarankan oleh @TheMatrixRecoder mengambil sedikit pencarian untuk saya jadi mungkin ini akan membantu orang lain. Opsi VS 2017 dapat ditemukan di sini

Unitick opsi ini untuk mencegah pemformatan otomatis yang mengganggu saat Anda menempatkan titik koma atau menekan kembali di akhir baris.


5

Anda mungkin telah menginstal Power Tool .

Dalam hal ini Anda dapat mematikannya dari 'Tools> Options> Productivity Power Tools> PowerCommands> General'

masukkan deskripsi gambar di sini


3

Di VS2017 Anda dapat mengubahnya setelah memilih bahasa pengkodean Anda di menu pengaturan. Ada opsi yang disebut "Garis baru" di submenu "Pemformatan".


3

Pengaturan VS2015 yang membantu saya mencegah pemformatan otomatis:

(dan Alat> Opsi> Editor Teks> Dasar> Lanjutan, seperti yang disarankan Tango91 )

masukkan deskripsi gambar di sini


2

Saya ragu Anda dapat menonaktifkan pemformatan ulang setelah pemformatan ulang. Refactoring mengubah kode dan karena itu hanya teks, saya ragu apa yang Anda inginkan adalah bahwa itu hanya membuang teks yang tidak diformat ke dalam sumber Anda. Bukankah akan lebih mudah untuk hanya mengatur gaya kode VS mengikuti gaya yang Anda suka dan ikuti?


1
Terkadang gaya pengkodean tidak dapat dibuat algoritmanya. Kadang-kadang secara sengaja tidak konsisten karena seseorang berkontribusi pada proyek dengan gaya pengkodean yang tidak konsisten dan ingin mengikuti gaya pengkodean dari bagian kode tertentu yang sedang diedit.
Palec

2

Pemformatan ulang pada titik koma atau kurung kurawal tutup tidak dapat dimatikan. Saya merasa kesal karena Microsoft memiliki keberanian untuk memberitahu siapa pun bagaimana memformat kode; kode paling tidak terbaca yang pernah saya lihat adalah saat bekerja di sana.

Saya ingin tugas yang berdekatan diratakan secara vertikal; VS memformatnya menjadi satu spasi di kedua sisi tanda sama dengan terlepas dari panjang variabel di sebelah kiri. Ini tidak bisa ditoleransi. Dan mematikannya pada opsi editor diabaikan; diberi komentar seperti pembuka di atas saya yakin ini disengaja.

Konsistensi hanya menjadi kebajikan jika mengarah pada hasil yang diinginkan. Ini bukan satu.


1

Ikuti TOOLS-> OPTIONS-> Text Editor-> CSS-> Formatting Pilih "Compact Rules" dan hapus centang "Hiearerchical indentation"


Editor Teks -> CSS atau HTML -> Tab -> Indentasi -> (o) Tidak Ada
Bob Stein

1

Ini bisa menjadi kasus Format Dentang. Sebelumnya, seluruh file secara otomatis diformat pada penyimpanan file, dan itu membuat saya gila (untuk repositori yang Format Clang tidak diaktifkan).

Perilaku tersebut hilang setelah mengubah "Tools -> Option -> LLVM / Clang -> ClangFormat -> Format On Save -> Enable" menjadi False.

Format ClangFormat Saat Menyimpan


1

Saya kesal setiap kali saya menempelkan apa pun di file cshtml di Visual Studio 2015, 2017. Saya mencoba pengaturan yang berbeda dan akhirnya menemukan yang tepat: Opsi => Editor Teks => HTML => Lanjutan => Tempel (Format saat menempel) = > Salah masukkan deskripsi gambar di sini


0

Anda dapat mengubah pengaturan pemformatan kode. Saya selalu mematikan semua jeda baris tambahan, dan kemudian berfungsi dengan baik untuk cara saya memformat kode.

Jika Anda mengubah pengaturan sedekat mungkin dengan preferensi Anda, itu akan membuat Anda bekerja minimal setiap kali Anda menggunakan refactoring.


0

Selain jawaban Tango untuk solusi aktual, mungkin ada orang yang benar-benar ingin tetap mengikuti format otomatis tetapi tidak membuatnya mengacaukan perubahan relevan Anda. Saya menyarankan Anda memodifikasi file agar format otomatis diaktifkan, periksa perubahan itu, lalu lanjutkan dengan perubahan aktual yang ingin Anda buat.

Dengan begitu, kode Anda dapat terus diperbarui, tetapi check-in Anda akan relevan.


0

Coba nonaktifkan Bundler & Minifier ekstensi

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.