当前位置: 首页 > news >正文

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

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 的复杂项目结构中,若未正确配置上述字段,可能导致构建失败,进而影响调试过程。

http://www.xdnf.cn/news/779185.html

相关文章:

  • Kafka 和Redis 在系统架构中的位置
  • MySQL计算精度计算加减乘除取模方式和方法总计
  • MATLAB实战:视觉伺服控制实现方案
  • VS下C++及C#项目打包发布方法
  • 第1章_数据分析认知_知识点笔记
  • 连接关键点:使用 ES|QL 联接实现更丰富的可观测性洞察
  • qt控制台程序与qt窗口程序在读取数据库中文字段的差异!!巨坑
  • UniRig:如何在矩池云一站式解决 3D 模型绑定难题
  • 1.1Nodejs和浏览器中的二进制处理
  • 高密度电子设备的黄金搭档: 双面沉金PCB线路板
  • 简单实现Ajax基础应用
  • electron定时任务,打印内存占用情况
  • 【计算机网络】数据链路层——ARP协议
  • 系统架构设计论文
  • 星敏感器:卫星姿态测量的“星空导航仪”
  • Linux-GCC、makefile、GDB
  • 手动删除网页上的禁止复制事件
  • 平台化 LIMS 系统架构 跨行业协同与资源共享的实现路径
  • 从0开始学linux韦东山教程第四章问题小结(3)
  • vue-15 (实践练习:使用路由防护实现身份验证和授权)
  • 微软Build 2025:Copilot Studio升级,解锁多智能体协作未来
  • 05 APP 自动化- Appium 单点触控 多点触控
  • 进阶配置与优化:配置 HTTPS 以确保数据安全传输
  • jenkins结合gitlab实现CI
  • 【Zephyr 系列 5】定时器与低功耗控制:打造省电高效的嵌入式系统
  • 建筑工程施工进度智能编排系统 (SCS-BIM)
  • mapbox高阶,生成并加载等时图
  • LabVIEW基于 DataSocket从 OPC 服务器读取数据
  • Spring AI Advisor机制
  • 【信创-k8s】海光/兆芯+银河麒麟V10离线部署k8s1.31.8+kubesphere4.1.3