Visual Studio'da standart kodlama nasıl ayarlanır


101

Dosyalarımı her zaman UTF-8 olarak kaydetmesi için Visual Studio'yu kurmanın bir yolunu arıyorum.

Sadece bu projeyi genişletmek için seçenekler buldum. Bunu Visual Studio genişliğinde ayarlamanın bir yolu var mı?


33
Bu projeyi genişletmek için seçenekleri nerede buldunuz?
Marc

Yanıtlar:


66

ASCII kodlamasında kaybolacak özel karakterler kullandığınız için dosyaların UTF-8 olarak kaydedilmesini istiyor musunuz? Durum buysa, o zaman Tools > Options > Environment > Documentsadında bir VS2008 global ayarı vardır Save documents as Unicode when data cannot be saved in codepage. Bu etkinleştirildiğinde, belirli karakterler aksi takdirde varsayılan kod sayfasında temsil edilemiyorsa, VS2008 Unicode olarak kaydedilecektir.

Ayrıca, hangi dosyaların edilir değil UTF-8 olarak kaydediliyor? Tüm .cs, .csproj, .sln, .config, .as * x, vb., Tümü varsayılan olarak UTF-8 (imza, bayt sırası işaretleri ile) olarak kaydedilir.


2
Ayarlama ipucu için teşekkürler. Derleme sırasında hataya neden olan xaml dosyalarıyla bu sorunu yaşadım
surfen

Merhaba, Rapor Tasarımcısının kodlama özniteliğini neden utf-8 olarak değiştirdiğini biliyor musunuz? stackoverflow.com/questions/30071846/…
Mohammadreza

2
Hala daha iyi bir çözüm yok mu? VS2015'im her çöküşten sonra kod sayfasını sıfırlamaya devam ediyor ve elektriğimle bunlar oldukça sık oluyor, çok üzücü, Microsoft buna nasıl geldi, en iyi
IDE'yi

2
Unicode'u ayarladığınızda, aslında UTF-8 veya UTF-16 kullanıyor mu?
binki

9
Sorun, verilerin varsayılan sistem kod sayfasına kaydedilebilmesidir. Ancak diğer yazılımlar, sistem kod sayfamdaki kaynakları her zaman okuyamaz. Bu nedenle VS'yi varsayılan olarak tüm metin dosyalarını UTF-8 olarak kaydetmeye zorlamanın yolunu arıyorum. UTF-8 dışında bir kod sayfasında neden metin verilerini kaydetmek istediği hakkında hiçbir fikrim yok.
BlackOverlord

20

Ne

EditorConfig ile mümkündür .

EditorConfig, geliştiricilerin farklı düzenleyiciler ve IDE'ler arasında tutarlı kodlama stilleri tanımlamasına ve sürdürmesine yardımcı olur.

Buna dosya kodlaması da dahildir.

EditorConfig, varsayılan olarak Visual Studio 2017'de yerleşiktir ve VS2012 kadar eski sürümler için kullanılabilen eklentiler vardı. EditorConfig Visual Studio Eklentisi sayfasından daha fazlasını okuyun .

Nasıl

Tüm amaçlanan depolarınızı kapsayacak (dosyalarınız gerçekten her yere dağılmışsa sürücünüzün kök dizinine kadar) klasör yapınızda yeterince yüksek bir EditorConfig yapılandırma dosyası oluşturabilir ve ayarıcharset yapılandırabilirsiniz :

karakter kümesi : karakter kümesini kontrol etmek için latin1, utf-8, utf-8-bom, utf-16be veya utf-16le olarak ayarlayın.

Daha iyi bir kontrol istiyorsanız, her klasör seviyesinde veya dosya adı / türüne göre filtreler ve istisnalar vb. Ekleyebilirsiniz.

Bir kez yapılandırıldıktan sonra, uyumlu IDE'ler otomatik olarak eşleşen dosyaları kural koymak için uyumlu hale getirmelidir. Visual Studio'nun tüm dosyalarınızı otomatik olarak dönüştürmediğini, ancak IDE'deki dosyalarla çalışırken (açıp kaydedin) bitini yaptığını unutmayın.

Sırada ne var

Visual stüdyo çapında bir kurulumunuz olabilir, ancak yine de çözüm sürümü kontrolünüze bir EditorConfig kökü eklemenizi şiddetle tavsiye ederim, böylece açık ayarlar da tüm ekip üyeleriyle otomatik olarak eşitlenir. Sürücü kök düzenleyici yapılandırma dosyanız, bazı projelerin henüz kendi düzenleyici yapılandırma dosyalarının kurulmamış olması durumunda geri dönüş olabilir.


5

Windows7 ile çalışıyorum.

Denetim Masası - Bölge ve Dil - Yönetim - Unicode olmayan programlar için dil.

"Sistem yerel ayarını değiştir" seçeneğini İngilizce (ABD) olarak ayarladıktan sonra. Vs2010 varsayılan kodlamam Windows-1252. Önceden öyleydi gb2312.

.cppBir C ++ projesi için yeni bir dosya oluşturdum, yeni dosyayı TFS'ye kontrol ettikten sonra, kodlamanın dosyanın özellikler sayfasından Windows-1252 gösterimi.


Windows 10'da "Beta: Dünya dillerini desteklemek için Unicode UTF-8 kullan" etiketli bir onay kutusu vardır. Kontrol ettiğimde, visual studio 2019 üzerinde Windows-1252 ile kodlanan dosyaları açabiliyorum. Ama bu konfigürasyonu sadece bu cevap için buluyorum. Teşekkürler!
yabani kiraz Ribeiro

1

Küresel bir ayar bilmiyorum ama şunu deneyebilirsiniz:

  1. Tüm Visual Studio şablonlarını UTF-8 olarak kaydedin
  2. DocumentSaved olayını dinleyecek ve dosyayı UTF-8 biçiminde kaydedecek (zaten değilse) bir Visual Studio Makro / Eklentisi yazın.
  3. Kaynak kontrolünüze, yeni dosyaların her zaman UTF-8 olmasını sağlayacak bir proxy koyun.

2
3. Bir dosyayı teslim ettiğiniz anda dosyanızın teslim edilen dosyayla eşleşmediğini belirleyeceği için kötü bir fikir olabilir. En azından yıkıcı bir şekilde. Hem çeki hem de check-in'i kodlamak mümkün olsaydı, bu bir sorun olmazdı.
TamusJRoyce

Merhaba, Rapor Tasarımcısının kodlama özniteliğini neden utf-8 olarak değiştirdiğini biliyor musunuz? stackoverflow.com/questions/30071846/…
Mohammadreza
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.