Як встановити стандартне кодування в Visual Studio


99

Я шукаю спосіб налаштування Visual Studio, щоб він завжди зберігав мої файли в UTF-8.

Я знайшов лише варіанти, щоб широко поставити цей проект. Чи є спосіб встановити його для Visual Studio?


31
Де ви знайшли варіанти широкого розширення цього проекту?
Марк

Відповіді:


64

Ви хочете, щоб файли зберігалися як UTF-8, оскільки ви використовуєте спеціальні символи, які втрачаються в кодуванні ASCII? Якщо це так, тоді існує глобальний параметр VS2008 Tools > Options > Environment > Documents, названийSave documents as Unicode when data cannot be saved in codepage . Коли це ввімкнено, VS2008 зберігатиме як Unicode, якщо певні символи не можуть бути представлені на кодовій сторінці, яка встановлена ​​за замовчуванням.

Крім того, які файли не зберігаються як UTF-8? Усі мої .cs, .csproj, .sln, .config, .as * x тощо тощо, усі за замовчуванням зберігаються як UTF-8 (із підписом, позначками байтового порядку).


2
Дякуємо за підказку щодо налаштування. У мене виникла проблема з файлами xaml, що спричинило помилку під час компіляції
surfen

Привіт, ти знаєш, чому дизайнер звітів змінив атрибут кодування на utf-8? stackoverflow.com/questions/30071846/…
Мохаммадреза

2
Все ще немає кращого рішення? Мій VS2015 продовжує скидати кодову сторінку після кожного збою, і з моєю електрикою це трапляється досить часто, так сумно, як Microsoft дійшла до цього, як вони можуть зробити найкращу IDE і забути про налаштування кодової сторінки за замовчуванням, як шкода ((
Мовсар Бекаєв

2
Коли ви встановлюєте Unicode, чи насправді він використовує UTF-8 або UTF-16?
binki

9
Проблема полягає в тому, що дані МОГЛИ б зберігатись у системній кодовій сторінці за замовчуванням. Але інше програмне забезпечення не завжди може прочитати джерела на моїй системній кодовій сторінці. Тому я шукаю спосіб змусити VS зберегти всі текстові файли в UTF-8 за замовчуванням. Я поняття не маю, чому, на біса, хтось хоче зберегти текстові дані в кодовій сторінці, що відрізняється від UTF-8.
BlackOverlord

19

Що

Це можливо за допомогою EditorConfig .

EditorConfig допомагає розробникам визначати та підтримувати послідовні стилі кодування між різними редакторами та IDE.

Сюди також входить кодування файлів.

EditorConfig за замовчуванням вбудований в Visual Studio 2017, і я мав доступні плагіни для версій, старих як VS2012. Читайте більше від сторінці плагіна EditorConfig Visual Studio .

Як

Ви можете встановити файл конфігурації EditorConfig досить високо в структурі вашої папки, щоб охопити всі ваші заплановані репозиторії (до кореня вашого диска, якщо ваші файли дійсно розкидані скрізь) і налаштувати параметрcharset :

charset : встановлено значення latin1, utf-8, utf-8-bom, utf-16be або utf-16le для управління набором символів.

Ви можете додавати фільтри та винятки тощо на кожному рівні папки або за назвою / типом файлу, якщо хочете отримати більш точний контроль.

Після налаштування сумісні IDE повинні автоматично робити це, щоб відповідні файли відповідали встановленню правил. Зверніть увагу, що Visual Studio не перетворює автоматично всі ваші файли, але виконує свої завдання, коли ви працюєте з файлами в середовищі IDE (відкрийте та збережіть).

Що далі

Хоча у вас може бути налаштування Visual-studio, я настійно рекомендую все-таки включити корінь EditorConfig до вашого контролю версій рішення, щоб явні параметри автоматично синхронізувались також із усіма членами команди. Кореневий файл кореневого файлу editorconfig може бути резервним, якщо в якомусь проекті ще не встановлені власні файли editorconfig.


4

Я працюю з Windows7.

Панель управління - Регіон та мова - Адміністративна - Мова для програм, що не належать до Unicode.

Після того, як я встановив "Змінити локаль системи" на англійську (США). Моє кодування за замовчуванням vs2010 змінити на Windows-1252. Це булоgb2312 раніше.

Я створив новий .cppфайл для проекту C ++, після перевірки нового файлу в TFS на екрані кодування Windows-1252 зі сторінки властивостей файлу.


У Windows 10 є один прапорець із міткою "Бета: Використовуйте Unicode UTF-8 для підтримки світових мов". Коли я перевіряю це, я можу відкрити файли, що кодуються за допомогою Windows-1252, у Visual Studio 2019. Але цю конфігурацію я знаходжу лише через цю відповідь. Дякую!
Gean Ribeiro

1

Я не знаю ні глобального налаштування, але ви можете спробувати це:

  1. Збережіть усі шаблони Visual Studio в UTF-8
  2. Напишіть Visual Studio Macro / Addin, який прослуховуватиме подію DocumentSaved і збереже файл у форматі UTF-8 (якщо ще не).
  3. Помістіть проксі-сервер до елемента керування джерелом, який забезпечить, щоб нові файли завжди були UTF-8.

2
3. може бути поганою ідеєю, оскільки як тільки ви зареєструєте файл, він визначить, що ваш файл не відповідає зареєстрованому файлу. Ну, принаймні з підривом. Якби можна було кодувати як реєстрацію, так і реєстрацію, то це не було б проблемою.
TamusJRoyce

Привіт, ти знаєш, чому дизайнер звітів змінив атрибут кодування на utf-8? stackoverflow.com/questions/30071846/…
Мохаммадреза
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.