5 Star 11 Fork 5

lindexi / EncodingNormalior

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.42 KB
一键复制 编辑 原始数据 按行查看 历史
lindexi 提交于 2020-10-18 09:01 . 修改文档

编码规范工具——命令行

安装

通过 dotnet tool 安装

确定 dotnet 版本在 3.1 以上,可从https://dotnet.microsoft.com/更新到最新版本

在命令行输入下面命令作为全局工具安装

dotnet tool install -g dotnetCampus.EncodingNormalior

命令行使用

编码规范工具使用方法:

必选命令:

输入要检测的文件夹或csproj文件

EncodingNormalior -f E:\lindexi\EncodingNormalior

上面代码的 E:\lindexi\EncodingNormalior 为需要修复文本文件的编码规范的文件夹

输入格式:

输入文件夹 -f 文件夹路径

可选命令:

输入格式:

  • 必须包含的文件 --IncludeFile 文件路径

  • 文件白名单 --WhiteList 文件路径

  • 规定的编码 -E Encoding 默认是 Utf8 编码

  • 是否尝试修复编码 --TryFix [true|false] 设置true将尝试自动修复,默认为不自动修复

注意: Encoding 包含 utf8、 gbk、 ascii、utf16、BigEndianUnicode

程序从输入的文件夹读取配置,越靠近文本的配置优先度越高。 如果不存在配置,使用默认配置。

  • 白名单配置名称: WhiteList.txt

  • 必须包含的文件配置名称: IncludeFile.txt

要求编码是 UTF8

配置文件格式

配置文件有白名单文件和指定文本的文件后缀。

白名单文件是让软件可以忽略某些文件或文件夹,如 obj 这些文件夹。

因为判断一个文件是文本的算法,还没有存在一个可以绝对判断的算法,所以依靠人工添加。

软件检查文件是否需要检测的顺序是:

  1. 判断文件是否在白名单中,如果是,检查结束,不进行检测编码。如果不是,继续。

  2. 判断文件是否在 必须包含的文件配置 中,如果是,检查结束,进行检测编码。如果不是,继续。

  3. 判断文件是否是文本,如果是,进行检测编码。

对于 Utf-32 的文件,几乎不存在一个算法可以判断他是文本,除非他带 BOM 。

关于文件编码相关,如果先了解更多,戳此链接C# 判断文件编码

白名单文件格式

白名单包括文件夹白名单和文件白名单。

白名单文件以行作为分割,一行写一个文件或文件夹。

其中文件夹白名单的格式为 文件名 + \\

如 obj 文件夹添加到白名单应该写 obj\\

文件夹不支持通配符。

注意:文件夹的\\也可以写为/但是不建议。

文件白名单格式为 文件

如 lindexi.png 文件夹添加到白名单应该写 lindexi.png

文件支持通配符,如忽略所有的 png 文件,可以写 *.png

文件通配符和 MS (Microsoft) 通配符格式相同。

不支持指定文件夹中的文件。如 obj\\lindexi.txt

默认白名单:https://github.com/dotnet-campus/EncodingNormalior/blob/master/EncodingNormalior/Resource/WhiteList.txt

包含文件的配置文件格式

包含文件的配置以行做分割。

一行包括一个包含的文件。

文件支持通配符,通配符和 MS (Microsoft) 通配符格式相同。

例:

lindexi.txt
*.lindexitxt
lindexi.md
lindexi.dox
lindexi*.txt  

注意:包含的文件中不支持文件夹路径。

C#
1
https://gitee.com/lindexi/EncodingNormalior.git
git@gitee.com:lindexi/EncodingNormalior.git
lindexi
EncodingNormalior
EncodingNormalior
master

搜索帮助