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