Pascal - это расширение с открытым исходным кодом, созданное для кода Visual Studio . Будучи свободным и открытым исходным кодом, если вы найдете его полезным, пожалуйста, рассмотрите возможность поддержать его
Он добавляет поддержку языка Паскаля и его диалектов, таких как Delphi и Freepascal .
Вот некоторые из особенностей, которые предоставляет Паскаль :
Pascal поддерживает полный синтаксис для Delphi и Freepascal

Доступно почти 40 фрагментов

Проверьте документацию Pascal Formatter.
Перейдите к любому языковому элементу (методы, атрибуты, классы, интерфейсы и т. Д.) Внутри файлов Pascal. Он поддерживает команды Native VS Code, такие как:
Он использует GNU Global, систему метки исходного кода, что означает, что он имеет некоторые ограничения, если вы сравниваете с анализом AST.
pip install Pygments )%PATH% переменной среды ( система ) Допустим, вы извлекаете GNU Global и CTAG в папке C:gnu . Две новые записи в %PATH% должны быть:
C:gnuglo653wbbinC:gnuctags58ctags58 Также убедитесь, что Python находится в %PATH%
GNU Global использует CTAGS + Python Pygments в качестве плагина, чтобы распознать исходный код Pascal, поэтому вам нужно их настроить.
GTAGSCONF : C:gnuglo653wbsharegtagsgtags.confGTAGSLABEL : pygments 
Примечание. На данный момент он был протестирован только в Windows, но, поскольку эти инструменты являются многоплатформенными (на самом деле, это происходит из UNIX), он должен работать на Linux и Mac.
Чтобы включить навигацию по коду , расширение зависит от GNU Global и изобилия тегов , и для этого вы должны запустить gtags в корневой папке, поэтому создавались теги. Чтобы облегчить жизнь, две команды, в которые добавлены:
Управляет, как должна работать навигация кода. Особенно полезно, если вы работаете с огромными проектами
workspace : полная навигация по коду.file : ограничен, чтобы Go to Symbol in File "pascal.codeNavigation" : " workspace " "pascal.tags.autoGenerate" : trueДля огромных проектов рекомендуется использовать:
"pascal.codeNavigation" : " file " ,
"pascal.tags.autoGenerate" : falseИспользуйте примеры этой задачи , так что вы можете:

Если вы хотите создать задачи (задача: запустить сборку задачи), вы можете использовать фрагменты ниже.
Обновите два тега:
DCC32.EXE_PATH : местоположение компилятораYOUR_DELPHI_PROJECT.DPR : строительный проект. "version": "2.0.0",
"tasks": [
{
"label": "Pascal",
"type": "shell",
"windows": {
"command": "DCC32.EXE_PATH"
},
"linux": {
"command": "FPC_BIN_PATH"
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"args": [
{
"value": ""YOUR_DELPHI_PROJECT.DPR"",
"quoting": "escape"
}
],
"problemMatcher": {
"owner": "external",
"pattern": {
"regexp": "^(.*.(pas|dpr|dpk))\((\d+)\)\s(Fatal|Error|Warning|Hint):(.*)",
"file": 1,
"location": 3,
"message": 5
}
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
Обновите два тега:
FPC_BIN_PATH : полное местоположение компилятора. Если его PATH уже находится в переменных среды , просто используйте имя файла FPC_BINYOUR_FREEPASCAL_PROJECT_OR_FILE : строительный проект/файл.
{
"version": "2.0.0",
"tasks": [
{
"label": "Pascal",
"type": "shell",
"windows": {
"command": "FPC_BIN_PATH"
},
"linux": {
"command": "FPC_BIN_PATH"
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"args": [
{
"value": "YOUR_FREEPASCAL_PROJECT_OR_FILE",
"quoting": "escape"
}
],
"problemMatcher": {
"owner": "external",
"pattern": {
"regexp": "^([\w]+\.(p|pp|pas))\((\d+)\,(\d+)\)\s(Fatal|Error|Warning|Note):(.*)",
"file": 1,
"line": 3,
"column": 4,
"message": 6
}
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Особая благодарность людям, которые внесли свой вклад в проект:
Также благодаря всем, кто помог открыть проблемы с идеями и отчетами об ошибках.
MIT © Alessandro fragnani