1. 在 VS Code 中配置 Prolog 环境

为了在 VS Code 中高效编写和调试 Prolog 程序,我们需要进行一些配置。以下是详细的步骤指南:

1.1. 1. 安装 Prolog

首先,你需要安装 SWI-Prolog。可以从 SWI-Prolog 官方网站下载并安装适合你操作系统的版本。

1.2. 2. 安装 VS Code 插件

打开 VS Code,然后按 Ctrl+P 调出命令面板,输入 ext install arthurwang.vsc-prolog 并按回车,或者你也可以在扩展商店中搜索并安装名为 "Prolog" 的插件,具体链接如下: VS Code Prolog 插件

1.3. 3. 配置插件

安装插件后,我们需要在 VS Code 的 settings.json 文件中进行一些配置。你可以在工作区配置文件中进行这些设置。

Ctrl+, 打开设置,点击右上角的打开设置(JSON)按钮,添加以下配置代码:

{
    "prolog.dialect": "swi", // 选择 Prolog 方言: swi(SWI-Prolog) 或 ecl(ECLiPSe)
    "prolog.executablePath": "C:\\Program Files\\swipl\\bin\\swipl.exe", // 指向 Prolog 可执行文件的路径
    "prolog.linter.run": "onSave", // 在保存文件时进行代码检查
    // "prolog.linter.delay": 500,  // 使用 "onType" 时的延迟选项
    "prolog.format.enabled": true, // 允许格式化源代码
    "prolog.format.tabSize": 4, // 将 tab 替换为 4 个空格
    "prolog.format.insertSpaces": true // 更偏向使用空格
}

1.4. 4. 配置调试环境

为了进行调试,还需要创建一个 .vscode 文件夹,并在其中建立 launch.json 文件:

在你的工作区根目录下创建 .vscode 文件夹,然后在其中创建 launch.json 文件,添加以下内容:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug", // 配置名称
            "type": "prolog", // 配置类型
            "request": "launch", // 请求配置类型,可以是启动 launch 或附加 attach
            "program": "${file}", // 将要进行调试的程序的完整路径
            "startupQuery": "start",
            "stopAtEntry": false, // 设为 true 时调试程序将暂停在程序入口处,否则将执行到第一个断点处
            "cwd": "${fileDirname}", // 调试程序时的工作目录,此处为源码文件所在目录
            "env": {}, // 传递给源文件的环境变量
            "runtimeExecutable": "C:\\Program Files\\swipl\\bin\\swipl.exe", // 调试进程的可执行文件
            "runtimeArgs": [], // 传递给调试程序的命令行参数
            "args": [], // 程序调试时传递给程序的命令行参数,这里设为空即可
            "traceCmds": { // 介于 VS Code 调试命令和 Prolog trace 选项之间的映射
                "continue": ["leap", "l"],
                "stepover": ["skip", "s"],
                "stepinto": ["creep", "c"],
                "stepout": ["up", "u"]
            }
        }
    ]
}

1.5. 注意事项

这个插件目前存在一些问题和限制:

  • 插件已经有 6 年未更新,最近一次提交是在 2018 年 11 月 29 日
  • 目前有 43 个未解决的 Issue
  • 插件可能包含未修复的 Bug。
  • 插件的作者似乎已停止维护,未来可能不再提供支持。

如果在使用过程中遇到问题,可以查看插件的 Issue 列表 或寻找其他替代方案。未来如果有时间,建议尝试编写一个更稳定的支持插件。

Copyright © zhzluke96 2020 all right reserved,powered by Gitbook该文件修订时间: 2026-06-30 16:08

results matching ""

    No results matching ""