仓颉项目调试配置与多文件场景下的问题解析

1. 调试配置指南
  • 在 VS Code 中配置好仓颉开发工具链后,只需按下 F5Fn + F5 即可启动调试。

  • 在 CodeArts IDE for Cangjie 中,需先通过右上角的 编辑配置 -> 新增配置项 -> 选择 Cangjie (cjdb) Debug -> 选择 launch 模式 -> 点击 确认。配置完成后,同样可通过按下 F5 或 Fn + F5 开始调试。

2. 多文件或多 Package 场景下右键"构建并调试文件"的问题

在使用 右键菜单 → 仓颉:构建并调试文件 功能时,如果项目包含多个文件或多个 package,调试可能会失败。根本原因在于该功能依赖于 launch.json 文件中的配置方式(在 VS Code 中位于 .vscode 目录下,在 CodeArts IDE for Cangjie 中则位于 .arts 目录下)。

当首次执行调试操作时,两种开发环境都会尝试自动生成一个调试配置(若不存在 launch.json 则自动创建),但它们生成的配置字段存在差异,从而导致行为不一致,甚至调试失败。

造成这种差异的关键字段是:buildBeforeLaunchpreLaunchTask

  • 使用 buildBeforeLaunch: true 时:
    此字段通常由调试器(如 "type": "cangjieDebug")隐式处理,表示调试器会自动触发默认的构建流程(例如调用项目管理工具的编译命令)。此时 无需手动配置 tasks.json,因为构建逻辑可能已经集成到调试器或项目本身的默认行为中(例如 Cangjie 的 CJPM 工具提供统一编译入口)。
  • 启用 preLaunchTask 字段时:
    需要在 tasks.json 中显式定义对应的任务。preLaunchTask 的作用是声明调试前需执行的自动化任务(如编译、构建),而该任务的具体实现(例如调用编译器的命令或参数)必须通过 tasks.json 明确定义。例如,若 preLaunchTask 指定为 "cangjieDebug build task - UavFDiQoBO"(随机生成的任务名),则需在 tasks.json 中定义该任务的完整执行步骤。

因此,在多文件或多 package 的复杂项目结构中,若未正确配置上述字段,可能导致构建失败,进而影响调试过程。

相关推荐
VivienneLuo8 分钟前
1. 联邦大模型微调综述 -《Federated Large Language Models...》
人工智能·语言模型·微调·联邦学习
不正经学生4 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技4 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
漂流瓶jz5 小时前
【AI】大模型本地部署与量化:Ollama、transformers、llama.cpp实践
人工智能·llm·ai编程
毕竟是shy哥6 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习
lilian2336 小时前
HarmonyOS 7 新特性(二十五)|智慧手势:意图识别与误触治理
华为·harmonyos
飞哥数智坊6 小时前
AI时代,我们到底该学什么、用什么,为什么还没提效?
人工智能
恋恋西风7 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx7 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
飞哥数智坊7 小时前
GPT 做架构,国内模型写代码:这条 AI 开发路线能跑通吗?
人工智能·ai编程