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