Visual Studio中Protobuf生成代码时如何配置LF/CRLF行尾格式
解决Visual Studio 2022 gRPC生成类行尾默认为LF的配置方案
以下三种方案按需选择即可:
方法1:配置.gitattributes文件(推荐,仓库级全局生效)
该方案会让git自动统一处理行尾转换,适配仓库现有CRLF规范:
- 在仓库根目录创建/修改
.gitattributes文件,添加对应规则:
# 所有C#文件统一使用CRLF行尾 *.cs text eol=crlf # 如需仅针对gRPC生成的特定目录文件,可使用路径匹配规则,示例: # Generated/Grpc/*.cs text eol=crlf # 如需同时统一.proto源文件行尾,可添加: # *.proto text eol=crlf
- 配置完成后执行以下命令重置git缓存,重新应用行尾规则:
git rm --cached -r .git reset --hard
注意:执行上述命令前请确认所有未提交的改动已备份或提交,避免丢失本地修改。
方法2:修改Grpc.Tools生成配置(直接控制生成文件行尾)
直接修改项目配置,强制gRPC代码生成工具输出CRLF行尾的文件:
- 右键对应项目,选择「编辑项目文件」,在
<Project>根节点下添加如下配置:
<PropertyGroup> <!-- 强制gRPC生成的C#代码使用CRLF行尾 --> <Protobuf_AdditionalArgs>--csharp_opt=line_ending=crlf</Protobuf_AdditionalArgs> </PropertyGroup>
- 保存项目文件后重新生成项目,新生成的gRPC类自动使用CRLF行尾。
方法3:Visual Studio全局行尾配置
如果需要所有新建、生成的文件默认都使用CRLF,可修改VS全局配置:
- 打开VS 2022菜单栏「工具」->「选项」->「文本编辑器」->「代码样式」->「行尾」
- 将「默认行尾格式」设置为「Windows(CRLF, \r\n)」
- 勾选「保存文件时检查行尾」选项,保存配置即可。
内容的提问来源于stack exchange,提问作者Le Vu
相关产品推荐
相关产品推荐

