Hentikan Visual Studio dari pencampuran akhir baris dalam file

124

Saat membuka file berbasis teks di Visual Studio 2010 itu akan menulis suntingan saya dengan CRLF alih-alih format akhir baris dari file asli. Bagaimana cara menghentikan VS melakukan ini? Editor yang setengah layak harus memiliki kemampuan ini.

Yang lebih buruk adalah karena VS menulis file dengan bagian-bagian di CRLF, maka (saat membuka file lagi) akan menampilkan dialog yang meminta saya untuk mengonversi akhir baris file.

Brett Ryan
sumber
Coba add-in ini: Strip'em
membuat
8
Anda mungkin ingin memberi suara untuk ini: visualstudio.uservoice.com/forums/121579-visual-studio/…
Jon Watte
1
@JonWatte saat ini dalam peninjauan per 28 April 2016
Chris Marisic
2
Saya telah pindah dari .NET hari-hari ini, terlalu muak dengan MS yang tampaknya mengubah fokus setiap musim dan mengabaikan masalah sederhana seperti ini. Senang melihat mereka akhirnya memperbaikinya.
Brett Ryan

Jawaban:

84

Pada menu File , pilih Opsi Penyimpanan Tingkat Lanjut , Anda dapat mengontrolnya di sana.

Edit: Berikut dokumentasinya , Anda harus membuka file terlebih dahulu.

GvS
sumber
5
Saya tidak memiliki item menu ini pada pemasangan terakhir VS2010 saya.
Palantir
6
Saya memiliki pengaturan ini di VS2010 Ultimate, namun opsi ini bukan opsi persisten global dan hanya berlaku untuk sesi editor saat ini. Yang saya inginkan adalah agar VS menghormati akhir baris file yang saat ini terbuka saat mengedit file.
Brett Ryan
2
File + Save As, klik panah pada tombol Save. Hal yang sama tetapi khusus untuk file tersebut.
Hans Passant
13
Bagi mereka yang tidak melihat perintah dalam Filemenu, Anda mungkin perlu untuk pergi ke Tools, Customize, Commandstab, Menu Bar: File, Add Command..., File, Advanced Save Options..., Ok, Close. Sekarang Anda harus memiliki opsi.
davidg
92
Ini sebenarnya tidak menyelesaikan masalah, karena Anda harus memilih opsi itu SETIAP KALI ANDA HEMAT. Ini juga berarti bahwa Anda harus MEMILIH OPSI BERAKHIR BARIS setiap kali Anda menyimpan. Perilaku yang benar, yang didukung oleh setiap editor teks lain di luar sana, adalah mendeteksi format saat dimuat, dan menyimpan dalam format itu saat disimpan. Tidak ada cara untuk membuat VS2010 melakukan AFAICT itu, dan itu memalukan.
Jon Watte
70

Di Visual Studio 2015 (ini masih berlaku pada 2019 untuk nilai yang sama), periksa pengaturan:

Alat> Opsi> Lingkungan> Dokumen> Periksa akhir baris yang konsisten saat dimuat

VS2015 sekarang akan meminta Anda untuk mengonversi akhir baris saat Anda membuka file yang tidak konsisten, jadi yang perlu Anda lakukan hanyalah membuka file, pilih opsi yang diinginkan dari prompt dan simpan lagi.

Johann Caron
sumber
4
Meskipun ini mungkin bisa membantu sekarang, perhatikan bahwa pertanyaan itu diberi tag visual-studio-2010 .
dakab
4
Masalah dengan opsi ini adalah ia tidak memberi tahu Anda ujung baris mana yang paling umum dalam dokumen, jadi saya harus membuka dokumen di Notepad ++ terlebih dahulu dan kemudian hanya memilih opsi yang benar. Selain itu, ini adalah masalah penghematan, bukan masalah memuat.
Pemikir Strategi
3
Masalah yang saya alami adalah saya membuka file, dengan akhiran LF, dan kemudian setiap baris yang saya edit atau tambahkan akan disimpan dengan akhiran CR LF. Ketika saya membuka file lagi, itu akan menanyakan saya apa yang ingin saya ubah ke akhir baris yang tidak konsisten dan saya akan memilih LF dan kemudian prosesnya akan berulang. berikut adalah bagaimana saya menyelesaikannya: stackoverflow.com/a/47318778/2701911
FragmentalStew
Itu tidak menyelesaikan masalah menyalin-menempelkan teks dengan akhiran baris campuran. Anda harus membuka kembali file tersebut untuk memicu pemeriksaan.
Andry
22

Dengan VS2010 + ada solusi plugin: Line Endings Unifier .

Dengan plugin terinstal, Anda dapat mengklik kanan file dan folder di explorer solusi dan menjalankan item menu Unify Line Endings in this file

Konfigurasi untuk ini tersedia melalui

Tools -> Options -> Line Endings Unifier.

Daftar ekstensi file default yang disertakan cukup sempit:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt;

Mungkin ingin menggunakan sesuatu seperti:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config
gearsin
sumber
11
Ini sebenarnya adalah plugin dan tidak diinstal secara default.
batal
1
@null, terima kasih telah menunjukkan bahwa, inilah yang sebenarnya saya cari. Saya memperbarui jawaban agar lebih mencerminkan semua ini
Chris Marisic
13

lihat http://editorconfig.org dan https://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017

  1. Jika tidak ada, tambahkan file baru bernama .editorconfig untuk proyek Anda

  2. memanipulasi konfigurasi editor untuk menggunakan perilaku pilihan Anda.

Saya lebih suka spasi di atas tab, dan CRLF untuk semua file kode.
Ini .editorconfig saya

# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.tmpl.html]
indent_size = 4

[*.scss]
indent_size = 2 
Chris Schaller
sumber