Cara menetapkan pengkodean standar di Visual Studio .NET

101

Saya sedang mencari cara untuk mengatur Visual Studio sehingga selalu menyimpan file saya dalam UTF-8.

Saya hanya menemukan opsi untuk mengatur proyek ini secara luas. Apakah ada cara untuk mengaturnya Visual Studio lebar?

Thomaschaaf
sumber
33
Di mana Anda menemukan opsi untuk mengatur proyek ini secara luas?
Marc

Jawaban:

66

Apakah Anda ingin file disimpan sebagai UTF-8 karena Anda menggunakan karakter khusus yang akan hilang dalam pengkodean ASCII? Jika demikian, maka ada pengaturan global VS2008 di Tools > Options > Environment > Documents, bernama Save documents as Unicode when data cannot be saved in codepage. Jika ini diaktifkan, VS2008 akan disimpan sebagai Unicode jika karakter tertentu tidak dapat ditampilkan di halaman kode default.

Selain itu, file mana yang tidak disimpan sebagai UTF-8? Semua file .cs, .csproj, .sln, .config, .as * x, dll saya, semuanya disimpan sebagai UTF-8 (dengan tanda tangan, tanda urutan byte), secara default.

Samuel Meacham
sumber
2
Terima kasih atas tip pengaturannya. Saya mengalami masalah ini dengan file xaml, yang menyebabkan kesalahan selama kompilasi
surfen
Hai, tahukah Anda mengapa Report Designer Change encoding atribut menjadi utf-8? stackoverflow.com/questions/30071846/…
Mohammadreza
2
Masih belum ada solusi yang lebih baik? VS2015 saya terus mengatur ulang codepage setelah setiap crash, dan dengan listrik saya itu sering terjadi, sangat menyedihkan, bagaimana Microsoft sampai pada hal ini, bagaimana mereka dapat membuat IDE terbaik dan melupakan pengaturan codepage default, sayang ((
Movsar Bekaev
2
Saat Anda menyetel Unicode, apakah itu benar-benar menggunakan UTF-8 atau UTF-16?
binki
9
Masalahnya adalah data DAPAT disimpan di halaman kode sistem default. Tetapi perangkat lunak lain tidak selalu dapat membaca sumber di halaman kode sistem saya. Oleh karena itu saya mencari cara untuk memaksa VS menyimpan semua file teks di UTF-8 secara default. Saya tidak tahu mengapa sih seseorang ingin menyimpan data teks di codepage selain UTF-8.
BlackOverlord
20

Apa

Hal ini dimungkinkan dengan EditorConfig .

EditorConfig membantu pengembang mendefinisikan dan memelihara gaya pengkodean yang konsisten antara editor dan IDE yang berbeda.

Ini juga termasuk pengkodean file.

EditorConfig adalah Visual Studio 2017 bawaan secara default, dan saya ada plugin yang tersedia untuk versi setua VS2012. Baca lebih lanjut dari halaman Plugin EditorConfig Visual Studio .

Bagaimana

Anda dapat mengatur file konfigurasi EditorConfig yang cukup tinggi di struktur folder Anda untuk menjangkau semua repo yang Anda maksudkan (hingga root drive Anda jika file Anda benar-benar tersebar di mana-mana) dan mengkonfigurasi pengaturancharset :

charset : disetel ke latin1, utf-8, utf-8-bom, utf-16be atau utf-16le untuk mengontrol kumpulan karakter.

Anda dapat menambahkan filter dan pengecualian dll pada setiap tingkat folder atau dengan nama / jenis file jika Anda ingin kontrol yang lebih baik.

Setelah dikonfigurasi, maka IDE yang kompatibel secara otomatis akan melakukan hal itu untuk membuat file yang cocok sesuai dengan aturan yang ditetapkan. Perhatikan bahwa Visual Studio tidak secara otomatis mengonversi semua file Anda tetapi melakukan sedikit ketika Anda bekerja dengan file di IDE (buka dan simpan).

Apa selanjutnya

Meskipun Anda dapat memiliki pengaturan Visual-studio, saya sangat menyarankan untuk tetap menyertakan root EditorConfig ke kontrol versi solusi Anda, sehingga pengaturan eksplisit disinkronkan secara otomatis ke semua anggota tim juga. File root editorconfig drive Anda dapat menjadi cadangan jika beberapa proyek belum memiliki file editorconfig sendiri.

Imre Pühvel
sumber
5

Saya bekerja dengan Windows7.

Panel Kontrol - Wilayah dan Bahasa - Administratif - Bahasa untuk program non-Unicode.

Setelah saya menyetel "Ubah lokal sistem" ke bahasa Inggris (Amerika Serikat). Pengkodean default saya dari vs2010 berubah menjadi Windows-1252. Dulugb2312 sebelumnya.

Saya membuat .cppfile baru untuk proyek C ++, setelah memeriksa file baru ke TFS encoding menunjukkan Windows-1252 dari halaman properti file.

pengguna10959888
sumber
Di Windows 10 memiliki satu kotak centang dengan label "Beta: Gunakan Unicode UTF-8 untuk mendukung bahasa dunia". Ketika saya memeriksanya, saya dapat membuka file encoding dengan Windows-1252 di visual studio 2019. Tetapi saya hanya menemukan konfigurasi ini karena jawaban ini. Terima kasih!
Gean Ribeiro
1

Saya juga tidak tahu tentang pengaturan global, tetapi Anda dapat mencoba ini:

  1. Simpan semua template Visual Studio di UTF-8
  2. Tulis Visual Studio Macro / Addin yang akan mendengarkan acara DocumentSaved dan akan menyimpan file dalam format UTF-8 (jika belum).
  3. Letakkan proxy pada kontrol sumber Anda yang akan memastikan bahwa file baru selalu UTF-8.
Shay Erlichmen
sumber
2
3. Bisa jadi ide yang buruk, karena segera setelah Anda memeriksa file, itu akan menentukan bahwa file Anda tidak cocok dengan file yang diperiksa. Setidaknya, dengan subversi. Jika memungkinkan untuk menyandikan cek dan check-in, maka ini tidak akan menjadi masalah.
TamusJRoyce
Hai, tahukah Anda mengapa Report Designer Change encoding atribut menjadi utf-8? stackoverflow.com/questions/30071846/…
Mohammadreza