几个月以来,我一直在致力于一个在Unity中的项目,并且一直使用Omnisharp来格式化C#代码。就在今天,格式化程序开始对我的代码进行与以前不同的格式化,我不知道为什么。
我注意到的唯一不同之处是在类和方法定义、if/then语句和循环中的大括号前面插入了一个新行。在此之前,我已经将其配置为格式化所有这些东西,如:

今天突然间,他们都被格式化成这样:

在Start()之后加上一个新的行,在开场前用卷曲支撑。项目根目录下的omnisharp.json文件如下所示:

自从我开始做这个项目,我就没有改变过它。我想知道为什么格式化程序似乎突然忽略了NewLine...设置。Intellisense仍然在工作,文件确实正在格式化,只是不是以与我所配置的设置相匹配的方式。
我尝试在indentationSize中将omnisharp.json更改为4,然后重新启动Omnisharp。这使得它缩进了4个空格。因此,格式化程序似乎从我的omnisharp.json中得到了一些东西,但它只是忽略了以前没有的所有NewLine...设置。
这不是什么大不了的事,只是让我的代码的格式化方式与以往不同有点烦人,更让人讨厌的是不知道为什么会发生这种情况。
发布于 2022-11-15 13:21:59
我也有过同样的问题,找到了一个github问题,并找到了一个适合我的解决方案,https://github.com/OmniSharp/omnisharp-vscode/issues/5446
我回滚到VS代码C#扩展
v1.25.0,这解决了这个问题。
将C#扩展从v1.25.0重新安装到v1.25.2,为我修复了它。
我的理解是,默认情况下,新添加的omnisharp设置"Enable“是打开的,这使得它忽略了您可能拥有的任何omnisharp.json。
发布于 2022-08-04 09:13:19
转到settings.json并删除"omnisharp.path": "latest",如果您有它,这修复了问题,为我确保重新启动omnisharp后,按ctrl+shift+p和键入restart omnisharp
发布于 2022-11-15 21:31:02
“启用编辑器Config Support”一文中提到的“服从”为我解决了这个问题。我已经更新了VS代码,当我更新时,omnisharp开始忽略我的格式选择。
设置-> Extensions-> C# Configuration ->取消选中"Omnisharp:启用编辑器Config支持“
确保在进行更改后重新启动omnisharp。
https://stackoverflow.com/questions/73129993
复制相似问题