1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lindexi-EncodingNormalior

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 06:31 ba58a6f

Инструмент для проверки и нормализации кодировки в процессе разработки

В процессе разработки часто приходится сталкиваться с файлами, кодировка которых не соответствует стандартам. Если такие файлы содержат строки, которые должны отображаться пользователю, это может привести к появлению «кракозябров». Поэтому необходим инструмент, который автоматически проверяет кодировку всех текстовых файлов в проекте и позволяет стандартизировать её.

Требования к инструменту:

  • возможность задать стандартную кодировку;
  • при несоответствии файла стандартной кодировке — возможность преобразовать его в заданную кодировку.

Также инструмент должен позволять задавать белый список, чтобы некоторые файлы или папки не проверялись.

По умолчанию проверяется кодировка всех текстовых файлов. Однако из-за отсутствия надёжного алгоритма, если файл не является текстовым, то проверяется, входит ли он в белый список. Если да, то кодировка проверяется. В противном случае проверяется наличие определённого суффикса у файла. Если суффикс есть, то кодировка файла проверяется.

Алгоритм работы программы:

  1. Проверка наличия файла в белом списке.
  2. Проверка на наличие суффикса.
  3. Проверка, является ли файл текстовым.
  4. Проверка кодировки.

Использование инструмента

Существует два способа использования инструмента: через командную строку и через плагин для Visual Studio.

Для использования через командную строку обратитесь к разделу «Командная строка» в файле README.md.

Чтобы установить плагин, перейдите по ссылке https://visualstudiogallery.msdn.microsoft.com/a5f50c64-1b75-4f7a-97fd-9545747c506a или воспользуйтесь поиском на сайте VS Marketplace. После установки плагина в меню Visual Studio появится пункт EncodingNormalizer.

Плагин позволяет выполнять следующие функции:

  • Изменение кодировки текущего файла. В версии 2.6 добавлена функция изменения кодировки текущего открытого файла, даже если он не находится в текущем проекте. Это позволяет избежать ошибок при определении кодировки файла.
  • Настройка параметров. Можно настроить белый список файлов и папок, а также выбрать стандартную кодировку (Utf-8, GBK или Unicode).
  • Проверка кодировки проекта. После загрузки проекта можно выполнить проверку кодировки всех файлов. Если все файлы соответствуют стандартной кодировке, будет выведено соответствующее сообщение. В противном случае будет предложено преобразовать файлы в стандартную кодировку.

Разработка инструмента была сложной задачей, особенно в части определения кодировки файлов и создания плагина для Visual Studio. Автор рекомендует обратиться к статьям о C# и разработке расширений для Visual Studio для более глубокого понимания процесса разработки.

Проект доступен на GitHub по адресу https://github.com/dotnet-campus/EncodingNormalior и в виде плагина на VS Marketplace. Поэтому используется Visual Studio 14.0.

Затем измените параметр командной строки: /rootsuffix Exp.

После этого можно запускать.

Если хотите разрабатывать этот проект, можете форкнуть мой репозиторий на GitHub.

Если вы используете VisualStudio 2017 корпоративную версию, то измените внешнюю программу на C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.exe.

При использовании VisualStudio 2019 Community версии, измените внешнюю программу на C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lindexi-EncodingNormalior.git
git@api.gitlife.ru:oschina-mirror/lindexi-EncodingNormalior.git
oschina-mirror
lindexi-EncodingNormalior
lindexi-EncodingNormalior
master