CSharpier 命令行工具使用指南
CSharpier 是一个强大的 C# 代码格式化工具,通过命令行可以轻松实现代码风格的统一管理。本文将详细介绍 CSharpier 命令行工具的各项功能和使用方法。
基本使用
CSharpier 通过 dotnet csharpier 命令运行,基本格式如下:
dotnet csharpier format .
这个命令会格式化当前目录及其子目录中的所有 C# 文件。在实际项目中,通常会配合忽略文件或配置文件一起使用,以实现更精细的控制。
核心命令详解
格式化命令 (format)
dotnet csharpier format [<目录或文件>]
参数说明:
- 如果提供路径列表:
- 路径指向文件:格式化该文件
- 路径指向目录:递归格式化目录内容
- 如果不提供路径:从标准输入读取文件内容,格式化后输出到标准输出
常用选项
-
配置路径 (--config-path)
当配置文件不在默认位置时,可以手动指定路径:
dotnet csharpier format . --config-path "./config/.csharpierrc"支持多种配置文件格式,包括 .csharpierrc、yaml 或 editorconfig 文件。
-
日志级别 (--log-level)
控制日志输出级别:
- None
- Error
- Warning
- Information (默认)
- Debug
-
禁用缓存 (--no-cache)
默认情况下,CSharpier 会缓存格式化结果以提升性能。缓存基于:
- CSharpier 版本
- CSharpier 选项
- 文件内容
缓存位置:
[LocalApplicationData]/CSharpier/.formattingCache -
包含生成文件 (--include-generated)
默认会忽略 SDK 生成的文件或以特定注释开头的文件,此选项可强制格式化这些文件。
-
跳过验证 (--skip-validation)
CSharpier 会验证格式化前后的语法树是否一致(忽略空白差异)。如果验证失败,通常表明 CSharpier 存在 bug。
-
输出到标准输出 (--write-stdout)
默认会原地修改文件,此选项将结果输出到标准输出。
检查命令 (check)
dotnet csharpier check [<目录或文件>]
用于检查文件是否已格式化,输出未格式化的文件列表。在 CI 管道中特别有用,因为如果发现未格式化文件会返回退出码 1。
支持选项:
- --include-generated
- --no-msbuild-check
- --compilation-errors-as-warnings
- --config-path
- --log-format
- --log-level
服务器模式 (server)
dotnet csharpier server
启动 HTTP 服务器提供格式化服务,主要用于 IDE 插件,显著减少格式化延迟。
选项:
- --server-port:指定服务器端口(默认随机端口)
管道文件模式 (pipe-files)
dotnet csharpier pipe-files
保持 CSharpier 运行状态,通过管道输入多个文件进行格式化,同样主要用于 IDE 插件提升性能。
输入格式:\u0003 分隔的文件名和内容列表 输出格式:\u0003 分隔的格式化结果
最佳实践
-
项目集成:在项目根目录添加配置文件,确保团队成员使用一致的代码风格。
-
CI/CD 流程:在构建流程中加入
dotnet csharpier check命令,确保提交的代码符合格式规范。 -
IDE 配合:使用服务器模式或管道文件模式与 IDE 集成,获得实时格式化体验。
-
性能优化:对于大型项目,合理利用缓存机制,避免不必要的重复格式化。
-
异常处理:关注格式化验证失败的情况,及时报告问题。
通过合理使用 CSharpier 命令行工具,可以显著提升 C# 项目的代码一致性和可维护性,是团队协作开发中不可或缺的工具。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



