Чтобы захватить все части, которые поддерживает Sublime (файл, строка / столбец и сообщение), вам нужно создать file_regex
, который захватывает только эти части. В этом случае это означает, что вам нужно сопоставить (но не перехватить) конечные диапазоны, чтобы вы могли получить сообщение об ошибке на конце.
Это регулярное выражение может выглядеть примерно так:
"file_regex": "^([^:]+):(\d+)?\.(\d+)-\d+\.\d+: (.*)"
Исходя из вышеприведенного вывода, оно будет захватывать имя файла, первые два значения в виде строки и столбца, а затем совпадать, но в противном случае игнорировать местоположение конечного диапазона, выбирая все остальное как сообщение.
Примечание также, что имена файлов в ваших выходных данных являются относительными именами файлов, и в результате Sublime попытается открыть их как таковые. Однако текущий каталог может не соответствовать ожидаемому, поскольку текущий каталог Sublime может отличаться от того, где выполняется ваша сборка.
Если вы видите, что даже с вашим текущим регулярным выражением файл не открывается ( но вкладка создана), это причина, по которой это происходит.
Чтобы решить эту проблему, вам нужно, чтобы все имена файлов, отображаемые с ошибками, были абсолютными путями, или вам нужно добавить ключ working_dir
в вашей системе сборки, чтобы явно указать, к каким путям относятся.
Примером этого может быть что-то вроде следующего:
"working_dir": "${folder:${project_path:${file_path}}}",
Это устанавливает рабочий каталог на первую вершину Уровень папки на боковой панели, обратно к месту, где хранится текущий проект, если нет папок, и обратно к пути к текущему файлу, если также нет проекта.