vscode language pascal
v9.5.1
Pascal是为Visual Studio代码创建的开源扩展。在自由和开源的同时,如果您觉得有用,请考虑支持它
它增加了对Pascal语言及其方言(如Delphi和Freepascal)的支持。
以下是Pascal提供的一些功能:
Pascal支持Delphi和Freepascal的全部语法突出显示

几乎可以使用40个片段

查看Pascal格式化文档。
导航到Pascal文件中的任何语言元素(方法,属性,类,接口等)。它支持本机与代码命令,例如:
它使用GNU Global(源代码标记系统),这意味着如果您将其与AST解析进行比较,则具有一定的限制。
pip install Pygments )%PATH%环境变量(系统)假设您在C:gnu文件夹中提取GNU Global和CTAGS。 %PATH%的两个新条目应该是:
C:gnuglo653wbbinC:gnuctags58ctags58还要确保python处于%PATH%
GNU Global使用CTAG + Python Pygments作为插件,以识别Pascal源代码,因此您必须配置它们。
GTAGSCONF : C:gnuglo653wbsharegtagsgtags.confGTAGSLABEL : pygments 
注意:目前,它仅在Windows上进行了测试,但是由于这些工具是乘数(实际上,它来自UNIX),因此应该在Linux和Mac上使用。
为了启用代码导航,扩展名取决于GNU全局和繁殖标签,为此,您必须在根文件夹上运行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_BIN文件名YOUR_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
}
}
]
}
特别感谢为该项目做出贡献的人们:
还要感谢所有帮助开放想法和错误报告问题的人。
麻省理工学院©Alessandro Fragnani