[英]VSCode Omnisharp ignores format settings in omnisharp.json
我已经在 Unity 中从事一个项目几个月了,并且一直在使用 Omnisharp 来格式化 C# 代码。 就在今天,格式化程序开始以与以前不同的方式格式化我的代码,我不知道为什么。
我注意到的唯一不同之处是在 class 和方法定义、 if
/ then
语句和循环中的大括号前插入了一个新行。 之前,我将它配置为格式化所有这些东西,如下所示:
现在突然间,今天他们都被格式化成这样:
在Start()
之后和左花括号之前有一个新行。 项目根目录下的omnisharp.json
文件如下所示:
自从开始从事这个项目以来,我还没有改变过它。 我想知道为什么格式化程序似乎突然忽略了NewLine...
设置。 Intellisense 仍在工作,文件确实正在格式化,只是与我配置的设置不匹配。
我尝试在omnisharp.json
indentationSize 更改为 4,然后重新启动 Omnisharp。 这行得通并使它缩进了 4 个空格。 因此,格式化程序似乎从我的omnisharp.json
获得了一些东西,但它只是忽略了所有NewLine...
以前没有的设置。
这没什么大不了的,只是让我的代码格式与一直以来不同,这有点烦人,更烦人的是不知道为什么会这样。
我遇到了同样的问题,发现了一个 github 问题和一个对我有用的解决方法https://github.com/OmniSharp/omnisharp-vscode/issues/5446
我回滚到 VS Code C# 扩展
v1.25.0
,这解决了这个问题。
将 C# 扩展从v1.25.2
重新安装到v1.25.0
为我修复了它。
我的理解是,新添加的 omnisharp 设置“启用编辑器配置支持”在默认情况下处于启用状态,这使得它会忽略您可能拥有的任何omnisharp.json
。
@obezy 提到的“启用编辑器配置支持”为我解决了这个问题。 我更新了 VS Code,当我更新时,omnisharp 开始忽略我的格式选择。
设置 -> 扩展 -> C# 配置 -> 取消选中“Omnisharp:启用编辑器配置支持”
确保在进行更改后重新启动 omnisharp。
Go 到 settings.json 并删除"omnisharp.path": "latest"
如果你有它,这解决了我的问题确保通过按ctrl+shift+p
并键入restart omnisharp
禁用Omnisharp: Enable Editor Config Support
为我修复了它,感谢@obezy 和@puzzl
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.