簡體   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