VS Code中C#保存时格式化工具异常行为问题咨询
C#代码自动重构问题的解决方法
调整Roslyn代码风格规则
这类自动替换(显式类型转var、未赋值变量改为_)属于代码风格修复,不是普通格式化:- 打开「工具 > 选项 > 文本编辑器 > C# > 代码风格 > 变量声明」,将「首选显式类型而非
var」设为首选,禁用自动替换var的规则。 - 进入「工具 > 选项 > 文本编辑器 > C# > 代码风格 > 未使用的代码」,把「未使用的变量」的修复行为设为无,彻底关闭变量转丢弃符的规则。
- 打开「工具 > 选项 > 文本编辑器 > C# > 代码风格 > 变量声明」,将「首选显式类型而非
关闭保存时的代码修复执行
单纯关格式化没用,得禁用保存时的代码修复:- 到「工具 > 选项 > 文本编辑器 > C# > 代码风格 > 常规」,取消勾选「保存时运行代码分析器修复」或「应用代码风格规则」选项。
- 也可以在项目根目录的
.editorconfig文件里添加全局配置,强制覆盖设置:# 禁止自动将显式类型转为var dotnet_style_prefer_var = false:suggestion # 禁止将未使用变量替换为丢弃符_ dotnet_style_prefer_underscore_for_unused_variables = false:none
排查第三方扩展
如果以上设置都无效,检查是否装了Resharper、CodeRush这类第三方重构工具:- 暂时禁用这些扩展,测试保存代码是否还会出现问题。
- 确认是第三方扩展导致的话,进入扩展的设置界面,找到对应的重构规则并关闭。
内容的提问来源于stack exchange,提问作者Stefan
相关产品推荐
相关产品推荐

