vscode 配置 pascal环境
网上关于配置pascal的教程不太多,我试验了好几个,都没搞对,其中有很多原因吧,最后从较多、较熟悉的c环境开始配置理解,才算是慢慢懂得了这个配置过程,前前后后大概花一个星期,写这个就是少让大家走弯路,也算是给这个事一个交代。
1、准备
分别下载vscode和free pascal
vscode下载链接: link.
free pascal下载链接:link.
2、vscode插件
需要下面几个插件:
Pascal、Pascal Formatter、Pascal Language Basics、Free Pascal Debugger
主要就是配置tasks.json和launch.json文件
3、配置过程
配置tasks.json
点击pascal插件,下拉找到free pascal示例,如下所示:
{
"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
}
}
]
}
修改过后如下所示:
{
"version": "2.0.0",
"tasks": [
{
"label": "fpDebug Pascal", // 这个名字任意 但是要与launch.json中的preLaunchTask一致
"type": "shell",
"windows": {
"command": "fpc", // 这里是free pascal编译器,由于电脑环境变量path中有fpc的路径,这里只需写名字fpc即可
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"args": [
"-g", // debug选项
// debug的文件,修改为自己的即可
"${workspaceFolder}\\${relativeFileDirname}\\${relativeFileDirname}.pas",
{
"value": "", // 这个还不知道干什么的,先直接删掉
"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
}
}
]
}
配置launch.json
新建一个.pas文件,例如:
program chinese;
begin
writeln('你好!');
end.
点 F5 调试,会出现下图,选择Pascal(fpDebug),会生成一个launch.json文件,
点击右下角的 ‘Add configuration’并选择‘fpDebug:Launch program’,会生成下图
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "fpDebug",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/executable"
}
]
}
修改代码之后,如下所示
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "fpDebug",
"request": "launch",
"name": "Launch Pascal-file",
// 执行文件的路径
"program": "${workspaceFolder}\\${relativeFileDirname}\\${relativeFileDirname}.exe",
"preLaunchTask": "fpDebug Pascal", // 与 tasks.json 中label的名字相同即可
}
]
}
运行.pas文件
运行刚写好的.pas代码,如下图所示即为成功,并生成了.o和.exe文件
这里并不会像c环境那样自动运行.exe文件,还需要在cmd中运行下才出结果,如下所示
图中的中文乱码是由于cmd活动也的编码格式不正确,修改为chcp 65001即可