繁体   English   中英

VSCode Omnisharp 忽略 omnisharp.json 中的格式设置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM