Я сконфигурировал задачу в VSCode для компиляции dpk Delphi 2005. Он работает и возвращает ошибки в «представлении проблем», но он не показывает эти ошибки в файле.Как настроить пути файлов в ошибках задачи VSCode
Я думаю, что это происходит потому, что, когда я нажимаю на ошибку, я получаю сообщение об ошибке:
Не удалось открыть «sr075pro.pas»: Файл не найден (... projectfolder \ sr075pro. pas)
Но файл находится в ...projectfolder\webservices\sr075pro.pas
.
Я не могу найти способ сообщить заданию, что файл находится в подпапке. Я попытался использовать параметр «relative» в теге «fileLocation» без успеха.
Обнаружена ошибка:
Compiling sa_webservices...
Borland Delphi Version 13.0 Copyright (c) 1983,99 Inprise Corporation
sr075pro.pas(99) Error: Undeclared identifier: 'ni'
sa_webservices.dpk(802) Fatal: Could not compile used unit 'sr075pro.pas'
Моя конфигурация задачи:
{
"version": "0.1.0",
"name": "Compilar",
"command": "C:\\Compilers\\compile.bat",
"suppressTaskName": true,
"isShellCommand": true,
"isBuildCommand": true,
"tasks": [
{
"taskName": "Compile sa_webservices",
"isBuildCommand": false,
"isTestCommand": false,
"showOutput": "always",
"args": [
"sa_webservices"
],
"problemMatcher": {
"owner": "external",
"fileLocation": "relative",
"pattern": {
"regexp": "^([\\w]+\\.(pas|dpr|dpk))\\((\\d+)\\)\\s(Fatal|Error|Warning|Hint):(.*)",
"file": 1,
"line": 3,
"message": 5
}
}
}
Мой compile.bat:
@echo off
@P:
@set arg1=%1
shift
...
if "%arg1%" == "sa_webservices" set arg2="webservices"
...
echo Compiling %arg1%...
cd\%arg2%
dcc32.exe -H -W -Q %arg1%.dpk
Это сработало! Я не знал вторую опцию «fileLocation». Благодарю. – user2133093