首先,在VS Code中安装Pascal和Native Debug这两个扩展程序。
然后,在我们的工作目录下新建一个文件夹.vscode,并在这个文件夹内新建三个文件:launch.json, tasks.json和settings.json。
在launch.json中输入以下代码:
{
"version": "2.0.0",
"configurations": [
{
"name": "Pascal Launch",
"type": "gdb",
"request": "launch",
"target": "${workspaceRoot}\\${fileBasenameNoExtension}.exe",
"cwd": "${workspaceFolder}",
"preLaunchTask": "compile",
//"terminal": ""
}
]
}
preLaunchTask里填compile,至于为什么填这个一会儿再讲。
terminal这一行我是注释掉了。这样的话使用的是VS Code内置的控制台。如果把前面的注释符去掉,在运行程序的时候会弹出一个外部控制台,也就是DOS那种黑窗口。
我更喜欢内置控制台,因为复制结果比较方便。
在tasks.json中输入以下代码:
{
"version": "2.0.0",
"tasks": [{
"label": "compile",
"windows": {
"command": "E:\\FPC\\3.2.2\\bin\\i386-win32\\fpc.exe"
},
"args": ["${workspaceRoot}\\${fileBasenameNoExtension}.pas","-g","-O-","-v"],
"problemMatcher": {
"owner": "external",
"pattern": {
"regexp": "^([\\w]+\\.(p|pp|pas))\\((\\d+)\\,(\\d+)\\)\\s(Fatal|Error|Warning|Note):(.*)",
"file": 1,
"line": 3,
"column": 4,
"message": 6
}
}
}]
}
这里第一个要注意的就是label,label的名称必须和launch.json里preLaunchTask的内容一样!
preLaunchTask说白了就是运行程序前要执行一个叫“compile”的任务。
command即为free Pascal编译器的路径。
args里的参数含义分别为:
-g 使gdb生成调试所需的信息
-O- 关闭编译优化
这个参数还有4中不同的配置:
-O1 快速优化
-O2 在O1的基础上再加上一些优化,速度快
-O3 在O2的基础上再加上一些优化,速度慢
-O4 在O3的基础上再加上一些优化,但这些优化可能带来不确定的副作用
-v 显示编译信息
参数的其他信息详见Free Pascal的编程手册。
在settings.json中输入以下代码:
{
"files.exclude": {
"**/*.bak": true,
"**/*.exe": true,
"**/*.o":true
},
"editor.fontSize": 18
}
files.exclude表示带这些后缀名的文件都不会显示在左侧的文件浏览器中。
fontsize是字号。
配置结束,我们来测试一个经典的“Hello World”程序。
begin
writeln(‘Hello World!‘);
end.
编译通过并能正常显示结果。大功告成!
我初中的时候学习了Pascal语言,一直很喜欢它严谨的语法和层次分明的结构。最主要的是它可读性强,容易上手。大学的计算机课上学过Java,到现在早就忘光了,可Pascal却还清晰地记着。
但不得不承认的是Pascal语言已经渐渐远去。当我在百度上搜索如何配置这些文件的时候,居然找不到一篇靠谱的文章,着实令人唏。
Pascal language never dies, it just fades away.