Visual Studio Codeを触っているのですが、タスクの設定をしておくと任意のコマンドを実行して、さらにその出力から警告やエラーを抽出できるようです。デフォルトではtscやgrunt、gulp等の設定がサポートされているようですが、試しにMaven用の設定を作ってみました。
プロジェクト内に以下の内容で.vscode/tasks.json
を作っておきます。
{ "version": "0.1.0", "command": "mvn", "isShellCommand": true, "tasks": [ { "taskName": "compile", "args": ["compile"], "isBuildCommand": true, "problemMatcher": { "owner": "java", "fileLocation": ["absolute"], "pattern": { "regexp": "^\\[(WARNING|ERROR)\\] (.+):\\[(\\d+),(\\d+)\\] (.+)$", "file": 2, "line": 3, "column": 4, "severity": 1, "message": 5 } } }, { "taskName": "test", "args": ["test"], "isTestCommand": true, "isWatching": false, "problemMatcher": { "owner": "java", "fileLocation": ["absolute"], "pattern": { "regexp": "^\\[(WARNING|ERROR)\\] (.+):\\[(\\d+),(\\d+)\\] (.+)$", "file": 2, "line": 3, "column": 4, "severity": 1, "message": 5 } } } ] }
するとコンパイルとテストを以下のショートカットで実行できるようになります。
エラーや警告があった場合はステータスバーに表示され、クリックすると一覧からソースコードの該当の箇所にジャンプすることができます。
タスクの定義では様々な変数が利用でき、柔軟な設定が可能です。詳細についてはVS Codeのドキュメントや、タスクを未設定の状態で実行するとVS Codeがサンプルとして生成するtasks.json
を参照してください。