正規表現タグジャンプの設定例2
TEditorMXのタグジャンプ機能は正規表現を用いてジャンプ先のファイル名、行番号、カラム値をそれぞれ取得できるようになっています。
そのため、いろいろな言語の様々なエラー出力メッセージからタグジャンプさせることができます。
是非活用してくださいね。
以下は私(管理人)が入手したコンパイラやインタプリタのエラーメッセージよりタグジャンプさせるための具体的な正規表現の例です。
C#
Visual Studio 2017 のC#コンパイラをコマンドラインから使用するときの例です。
コンパイラ → csc.exe
csc.exeのエラーメッセージ出力例
decimal.cs(18,47): error CS0103: 現在のコンテキストに 'balaance' という名前は存在しません。タグジャンプ用正規表現
^(.+?)\((\d+),(\d+)\):.*:.*
\1 ファイル名
\2 行番号
\3 カラム値
環境設定バッチファイル → VsDevCmd.bat (C, C++と同じ)
Visual Studio 2017 をデフォルトでインストールしたときの環境設定バッチファイルは下記の所にあると思います。
インストールした場所がデフォルトでないときは異なるフォルダにあると思われます。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat
C, C++
Visual Studio 2017 のC, C++コンパイラをコマンドラインから使用するときの例です。
コンパイラ → cl.exe
cl.exeのエラーメッセージ出力例
sample.c(6): error C2146: 構文エラー: ';' が、識別子 'printf' の前に必要です。タグジャンプ用正規表現
^(.+?)\((\d+)\):.+:.*
\1 ファイル名
\2 行番号
環境設定バッチファイル → VsDevCmd.bat (C#と同じ)
Visual Studio 2017 をデフォルトでインストールしたときの環境設定バッチファイルは下記の所にあると思います。
インストールした場所がデフォルトでないときは異なるフォルダにあると思われます。
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat
GCC(MinGW)
GCCをコマンドラインから使用するときの例です。
コンパイラ → gcc.exe
gcc.exeのエラーメッセージ出力例
gcc_test.c:8:27: error: unknown type name 'a'タグジャンプ用正規表現
^(.+?):(\d+):(\d+):
\1 ファイル名
\2 行番号
\3 カラム値
VBScript
VBScriptの例です。
コマンド → cscript.exe
cscript.exeのエラーメッセージ出力例
D:\vbs_program\vb_test.vbs(2, 1) Microsoft VBScript 実行時エラー: 型が一致しません。: 'a'
タグジャンプ用正規表現
^(.+?)\((\d+),\s+(\d+)\)
\1 ファイル名
\2 行番号
\3 カラム値
python
pythonの例です。
コマンド → python.exe
python.exeのエラーメッセージ出力例
File "sample1.py", line 19, in <module>
タグジャンプ用正規表現
^\s+File\s+"(.+?)",\s+line\s+(\d+)
\1 ファイル名
\2 行番号
Perl
ActivePerlの例です。
コマンド → perl.exe
perl.exeのエラーメッセージ出力例
Bareword found where operator expected at sample1.pl line 14, near "3a1" (Missing operator before a1?) syntax error at sample1.pl line 14, near "3a1"
タグジャンプ用正規表現
\s+at\s+(.+?)\s+line\s+(\d+),
\1 ファイル名
\2 行番号