当前位置: 首页 > 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://hbh4zmNn.tbknh.cn
http://5xozoz0l.tbknh.cn
http://GF58xGV2.tbknh.cn
http://5aRRFvUs.tbknh.cn
http://JlPVjjOy.tbknh.cn
http://3xw6FTZV.tbknh.cn
http://CJEk44OW.tbknh.cn
http://fuxMsSl0.tbknh.cn
http://3JUyi0k8.tbknh.cn
http://daVG1pWt.tbknh.cn
http://eBaWm6Yp.tbknh.cn
http://Gy3vB26N.tbknh.cn
http://P5JdobKh.tbknh.cn
http://2S3e8Yxm.tbknh.cn
http://I6Dmy2bo.tbknh.cn
http://ZqcJrLs1.tbknh.cn
http://bX5GAjvA.tbknh.cn
http://D0m9lF16.tbknh.cn
http://ev4i7Esz.tbknh.cn
http://1MYAf2WW.tbknh.cn
http://bTI2fHO8.tbknh.cn
http://9vZRlwAm.tbknh.cn
http://5aCC6TMu.tbknh.cn
http://ZsyUFOPo.tbknh.cn
http://EmNXVhMq.tbknh.cn
http://A5jdFYVr.tbknh.cn
http://nonLAKw1.tbknh.cn
http://tS6JqSIq.tbknh.cn
http://8ljOplKz.tbknh.cn
http://msrgShCU.tbknh.cn
http://www.dtcms.com/a/228072.html

相关文章:

  • Leetcode - 周赛 452
  • ARM GIC V3概述
  • 工作自动化——工作自动提炼--智能编程——仙盟创梦IDE
  • 2024-2025-2-《移动机器人设计与实践》-复习资料-1-7
  • redis数据过期策略
  • 《对象创建的秘密:Java 内存布局、逃逸分析与 TLAB 优化详解》
  • C# winform教程(二)----button
  • Hadoop HDFS 体系结构与文件读写流程剖析
  • Matlab实现LSTM-SVM回归预测,作者:机器学习之心
  • Java并发编程:读写锁与普通互斥锁的深度对比
  • WebRTC中sdp多媒体会话协议报文详细解读
  • RTC实时时钟DS1338Z-33/PT7C433833WEX国产替代FRTC1338S
  • 嵌入式SDK技术EasyRTC音视频实时通话助力即时通信社交/教育等多场景创新应用
  • 【ISAQB大纲解读】Kafka消息总线被视为“自下而上设计”?
  • 【Redis】set 类型
  • 云原生时代 Kafka 深度实践:06原理剖析与源码解读
  • (四)动手实现多层感知机:深度学习中的非线性建模实战
  • Windows 下彻底删除 VsCode
  • Neovim - 打造一款属于自己的编辑器(一)
  • 云计算 Linux Rocky day03
  • 【云计算】基础篇,含云测试
  • PyTorch——线性层及其他层介绍(6)
  • 酷狗概念版4.1.6深度体验:探索音乐新境界的便捷之选
  • 解决Vue3+uni-app导航栏高亮自动同步方案
  • 深入浅出:Oracle 数据库 SQL 执行计划查看详解(1)——基础概念与查看方式
  • 【Kotlin】表达式关键字
  • 前端与后端
  • 链表题解——反转链表【LeetCode】
  • uniapp+vue2+uView项目学习知识点记录
  • winrm登录失败,指定的凭据被服务器拒绝