Open1

VSCodeでC#開発のTips

kenfdevkenfdev

補完が効かないとき

VSCodeで開発しているとき、補完が効かないときがある。

まず最初にソリューションを使っている場合、ソリューションにすべてのプロジェクトがちゃんと登録されているか確認しましょう。その上でOmnisharpがソリューションを対象に設定されていることを下のステータスバーで確認。

これで概ねうまくいくはず。うまくいかない場合はOmnisharpのRestartか、VSCodeのWindowのReloadでうまくいったりする。

訂正以前にやっていた方法(slnに追加してたらこれはやらなくて良いはず)

System.Net.Httpパッケージを入れたのに、以下のように補完が効かなかったり

HttpClientももちろん補完されない。

ただ、 dotnet build は通るので、材料は揃っているのがわかる。

経験上、複数プロジェクトが入ったWorkspaceを開いたときにこの現象が起きる気がする。

こういうときは、Omnisharpのプロジェクト設定を明示的に指定すると良さそう。下のステータスバーに以下のような表示ある。

ここで、ソリューションが選択されている(CdkDotnet.sln)のがわかる。ここをクリックすると、プロジェクトが選択できるようになる。

ここで自分が開発しているプロジェクトを選択する。すると補完が意図通り効くようになる。

複数のプロジェクトを行き来するときは不便だけど、全く補完が効かないよりは遥かに良い。