0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[C#]VSCodeでビルドしたときのエラーや警告が残ってしまう(メモ)

Posted at

はじめに

VSCodeでC#のビルドタスクの実行を行ったときに、エラーや警告が2重になってコードを修正しても残ってしまう現象についてのメモ

TL;DR

tasks.json の ビルドタスクの "problemMatcher": "$msCompile"を消せばよいかも?

環境

OS:Windows10

VSCode(V1.66.0)
VSCodeのC#拡張(v1.24.3)
.NetSDK(.Net6)

現象について

たとえば以下のようなコードがあったとき、セミコロン(;)がないのでコンパイルエラーになる。

Console.WriteLine("Hello, World!")//セミコロンがない

当然、VSCodeの問題にはエラーが一つ示されている。
image.png

ここでVSCodeのビルドタスクを呼び出してビルドをかけると問題が二つに増えてしまう。(デバッグの呼び出しでも)
image.png

セミコロンを入れて修正しても、片方のエラーが消えずに残ってしまう。
image.png

もう一度ビルドタスクを呼び出せば消えるけど、ちょっとうっとおしい。

解決策?

原因はデフォルトのビルドタスクの設定にある。(たぶん)
C#の拡張がtasks.jsonに作るビルドタスクの中にある"problemMatcher": "$msCompile"の設定が直前のビルドのエラーや警告を残してしまっているらしい。
image.png
とりあえずこの設定を消すか、//でコメントアウトすればエラーや警告が残らなくなる。
※全部の問題を消してから設定を変えないとエラーがずっと残り続けるので注意。(たぶん残ったエラーが更新されなくなる)

とはいえ、なんでデフォルトでこうなっているのかよくわからないし、消したことで別の問題が起きるのかはよくわかない。詳しい人がいれば教えてほしい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?