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

news2025/7/21 12:52:40
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.coloradmin.cn/o/2398209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 8.0 OCP 英文题库解析(十)

Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题81~90 试题81:…

Python Pytest

1.Pytest用例发现规则 1.1 模块名(python文件)名必须以 test_ 开头或 _test 结尾,如 test_case,case_test,下划线都不能少 1.2 模块不能放在 . 开头的隐藏目录或者叫 venv的目录下,virtual environment,叫venv1都可以…

如何轻松删除 Android 上的文件(3 种方法)

Android 手机是非常强大的设备,可让我们存储大量的个人数据,从照片和视频到应用程序和文档。然而,随着时间的推移,您的设备可能会因不再需要的文件而变得混乱。删除这些文件有助于释放空间并提高性能。在本指南中,我们…

[特殊字符] Unity UI 性能优化终极指南 — ScrollRect篇

ScrollRect ManualScrollRect API 我参考了官方最新文档(基于UGUI 3.0包),加上实际性能测试经验,直接给你梳理: 🎯 Unity UI 性能优化终极指南 — ScrollRect篇 🧩 什么是 ScrollRect&#xff…

自适应流量调度用于遥操作:面向时间敏感网络的通信与控制协同优化框架

英文标题:Adaptive Flow Scheduling for Teleoperation: A Communication and Control Co-Optimization Framework over Time-Sensitive Networks 中文标题:自适应流量调度用于遥操作:面向时间敏感网络的通信与控制协同优化框架 作者信息 …

阿里云服务器-解决宝塔登录不成功

出现问题: This site can’t be reached XX.XX.XXX.XXX took too long to respond. Try: Checking the connection Checking the proxy and the firewall Running Windows Network Diagnostics ERR_CONNECTION_TIMED_OUT 可能是端口未开放 原因:服务器…

graphviz, dot, Error: lost rA sA edge; 独立的模块

1) 有向图dot文件 digraph R { node [shaperecord]; { ranksame rA sA tA } { ranksame uB vB wB } rA -> sA; sA -> vB; t -> rA; uB -> vB; wB -> u; wB -> tA; } 2)出现报警信息 Warning: flat edge between adjacent …

Axure-元件流程图

Axure-02 线框图元件使用 目标 元件基本介绍 基础元件的使用 表单型元件的使用 菜单与表格元件的使用 案例:个人简历表 元件基本介绍 概述 在Axure RP中,元件是构建原型图的基础模块。 将元件从元件库里拖拽到画布中,即可添加元件到你…

Python爬虫解析动态网页:从渲染到数据提取

一、动态网页与静态网页的区别 在开始之前,我们需要理解动态网页与静态网页的区别。静态网页的内容在服务器端是固定的,每次请求都会返回相同的结果,通常以HTML文件的形式存储。而动态网页则不同,其内容是通过JavaScript在客户端…

LLMs之MCP:如何使用 Gradio 构建 MCP 服务器

LLMs之MCP:如何使用 Gradio 构建 MCP 服务器 导读:本文详细介绍了如何使用Gradio构建MCP服务器,包括前提条件、构建方法、关键特性和相关资源。通过一个简单的字母计数示例,演示了如何将Gradio应用转换为LLM可以使用的工具。Gradi…

VBA模拟进度条

在上一章中我跟大家介绍了ProgressBar控件的使用方法,但由于该控件无法在64位版本的Office中运行,为此我们可以采用Lable控件来模拟进度条的变化,以解决在64位版本的Office中无进度条控件的问题。 一、设计思路 添加两个重叠的Lable标签控件…

MySQL强化关键_019_索引优化

目 录 一、最左前缀原则 1.完全使用索引 2.部分使用索引 3.不使用索引 4.效率折损 (1)使用范围查找 (2)索引断开 二、索引失效场景 1. 索引列参与运算 2.索引列模糊查询以“%”开始 3.索引列是字符串类型,查…

关于list集合排序的常见方法

目录 1、list.sort() 2、Collections.sort() 3、Stream.sorted() 4、进阶排序技巧 4.1 空值安全处理 4.2 多字段组合排序 4.3. 逆序 5、性能优化建议 5.1 并行流加速 5.2 原地排序 6、最佳实践 7、注意事项 前言 Java中对于集合的排序操作,分别为list.s…

不动产登记区块链系统(Vue3 + Go + Gin + Hyperledger Fabric)

好久没有介绍过新项目的制作了,之前做的一直都是Fisco Bcos的项目,没有介绍过Hyperledger Fabric的项目,这次来给大家分享下。 系统概述 不动产登记与交易平台是一个基于Hyperledger Fabric的综合性管理系统,旨在实现不动产登记…

从 GPT 的发展看大模型的演进

这是一个技术爆炸的时代。一起来看看 GPT 诞生后,与BERT 的角逐。 BERT 和 GPT 是基于 Transformer 模型架构的两种不同类型的预训练语言模型。它们之间的角逐可以从 Transformer 的编码解码结构角度来分析。 BERT(Bidirectional Encoder Representatio…

【Qt】构建目录设置

问题 ProjectRoot/├── src/ # 源代码│ ├── project1│ └── project2├── build/ # 构建目录│ ├── build-PCIeDemoApp-Desktop_Qt_5_9_7_MSVC2015_64bit-Debug/│ └── build-PCIeDemoApp-Desktop_Qt_5_9_7_MSVC2015_64bit-Rele…

Web后端快速入门(Maven)

Maven是apche旗下的一个开源项目,是一款用于管理和构建java项目的工具。 开源项目:Welcome to The Apache Software Foundation. Maven的作用: 依赖管理(方便快捷的管理项目依赖的资源,避免版本冲突问题&#xff09…

机器学习算法:逻辑回归

1. 基础概念 定义: 逻辑回归(Logistic Regression)是一种用于解决二分类问题的监督学习算法,通过概率预测样本属于某一类别的可能性。 核心特点:输出是概率值(0~1),通过阈值&#…

AI健康小屋+微高压氧舱:科技如何重构我们的健康防线?

目前,随着科技和社会的不断发展,人们的生活水平和方式有了翻天覆地的变化。 从吃饱穿暖到吃好喝好再到健康生活,观念也在逐渐发生改变。 尤其是在21世纪,大家对健康越来越重视,这就不得不提AI健康小屋和氧舱。 一、A…

如何做接口测试?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 01、通用的项目架构 02、什么是接口 接口:服务端程序对外提供的一种统一的访问方式,通常采用HTTP协议,通过不同的url&#xff…