完善 GDB-DAP 同步调试链路与测试模板
YHFT-IDE插件化扩展:将原 YHFT-IDE 内置能力拆为可独立安装、可版本化的 VS Code 扩展,Publisher 统一为 **yhftide**。
yhftide
vscode-languageclient
vscode-languageserver
dsp-toolchain
workspace/.basic
gdb-dap
cppdbg
package.json
docs
dsp-core
dsp-mod-debug
dsp-mod-build
dsp-mod-project
dsp-mod-ai
dsp-language
dsp-suite
baseDebug/project-index
projectManage/project-index
ai-application/project-index
ide-plugins/ ├── package.json # 根 workspaces、engines、package:all ├── tsconfig.base.json # TypeScript 基配置 ├── scripts/ │ ├── prepare-local-vsix.ps1 # 本地:增量构建 / 增量打包 VSIX │ ├── install-local-vsix.ps1 # 本地:安装 / 卸载 VSIX 到目标 IDE │ └── dev-update-local-vsix.ps1# 本地:一条命令完成增量打包 + 增量安装 ├── packages/ │ ├── dsp-core/ # 核心:profile、离线包、工具解析 │ ├── dsp-mod-debug/ # 调试模块 │ ├── dsp-mod-build/ # 构建模块 │ ├── dsp-mod-project/ # 工程管理模块 │ ├── dsp-mod-ai/ # AI 应用模块(占位/演进中) │ ├── dsp-language/ # 语言服务、语法、片段 │ ├── dsp-suite/ # 单插件主扩展(聚合上述模块) │ └── */LICENSE # 各包许可证(vsce 打包需要) └── docs/ # 架构、路线图、规范与样例
>=18.17.1 <19
engines
>=9 <10
^1.70.0
engines.vscode
使用 PowerShell 一键脚本(Windows):
# 仅安装依赖并编译全部 workspace powershell -ExecutionPolicy Bypass -File .\scripts\prepare-local-vsix.ps1 # 默认只打包 dsp-suite;如需子模块请显式指定 -Targets powershell -ExecutionPolicy Bypass -File .\scripts\prepare-local-vsix.ps1 -Package -Targets dsp-suite # 安装当前最新的 dsp-suite VSIX 到默认 VS Code powershell -ExecutionPolicy Bypass -File .\scripts\install-local-vsix.ps1 # 从默认 VS Code 一键卸载整套扩展 powershell -ExecutionPolicy Bypass -File .\scripts\install-local-vsix.ps1 -Uninstall # 开发阶段推荐使用:增量打包 + 增量安装 dsp-suite powershell -ExecutionPolicy Bypass -File .\scripts\dev-update-local-vsix.ps1
在仓库根目录执行:
npm install
npm run build
build
tsc
dist/
npm run watch
tsc -w
npm run clean
dist
clean
npm run lint
lint
npm run package:all
package
vsce package
单个扩展打包(示例):
cd packages/dsp-core npm run package
生成的 .vsix 位于该包目录下,文件名一般为 <name>-<version>.vsix。
.vsix
<name>-<version>.vsix
yhftide.dsp-core
resolveBasicPath
yhftide.dsp-mod-debug
yhftide.dsp-mod-build
yhftide.dsp-mod-project
yhftide.dsp-mod-ai
yhftide.dsp-language
yhftide.dsp-suite
用户侧安装建议:直接安装 **yhftide.dsp-suite**。
.\scripts\prepare-local-vsix.ps1 -Package -Targets dsp-suite
dsp-suite.vsix
.\scripts\install-local-vsix.ps1
.\scripts\dev-update-local-vsix.ps1
-Targets dsp-core,dsp-mod-project
dsp.core.toolchainPath
globalStorage/dsp-toolchain
.basic
docs/07
部分键由 dsp-core 贡献,可在用户/工作区 settings.json 中设置:
settings.json
dsp.install.mode
offline
hybrid
online
dsp.install.offlineIndexPath
index.json
<workspace>/.dsp-packages/index.json
各功能模块另有独立配置(如 dsp.debug.*、dsp.build.*),见对应包 package.json → contributes.configuration。
dsp.debug.*
dsp.build.*
contributes.configuration
docs/examples/offline-index.sample.json
docs/07-离线工具包制作规范.md
m7004/
gdb-m7004/
vsce@2.14.0
devDependencies
vsce package --no-dependencies --allow-missing-repository
--no-dependencies
--allow-missing-repository
repository
LICENSE
根目录 overrides.cheerio 用于在 Node 18 下避免拉取不兼容的 undici 传递依赖;若升级 vsce/Node,需重新验证打包。
overrides.cheerio
undici
vsce
ReadableStream
overrides
invalid relative path: ... .git
node_modules
[y/N]
0.1.0
prepare-local-vsix.ps1
npm ci
开发阶段推荐默认使用增量脚本,避免每次全量打包、全量安装所有插件。
# 一条命令完成增量打包 + 增量安装(默认只处理 dsp-suite) powershell -ExecutionPolicy Bypass -File .\scripts\dev-update-local-vsix.ps1 # 只处理指定内部模块 powershell -ExecutionPolicy Bypass -File .\scripts\dev-update-local-vsix.ps1 -Targets dsp-core,dsp-mod-project # 全量重打包 + 全量重装 powershell -ExecutionPolicy Bypass -File .\scripts\dev-update-local-vsix.ps1 -All
相关脚本说明:
scripts\prepare-local-vsix.ps1
-Package
-All
scripts\install-local-vsix.ps1
-Targets
scripts\dev-update-local-vsix.ps1
ide-plugins
YHFT-IDE插件化扩展:将原 YHFT-IDE 内置能力拆为可独立安装、可版本化的 VS Code 扩展,Publisher 统一为 **
yhftide**。目录
简介
vscode-languageclient/vscode-languageserver(语言包)。dsp-toolchain与workspace/.basic回退。gdb-dap+cppdbg),详见各包package.json与docs。目标插件分层
目标插件清单
dsp-coredsp-mod-debugdsp-mod-builddsp-mod-projectdsp-mod-aidsp-languagedsp-suite旧模块到新模块映射
baseDebug/project-indexdsp-mod-debug+dsp-coreprojectManage/project-indexdsp-mod-build+dsp-mod-project+dsp-coreai-application/project-indexdsp-mod-aidsp-languagedsp-language仓库结构
环境要求
>=18.17.1 <19package.json中engines一致;打包优先保证 Node 18 稳定。>=9 <10^1.70.0engines.vscode下限;实际产品以你们定制 IDE 版本为准。快速开始
使用 PowerShell 一键脚本(Windows):
常用命令
在仓库根目录执行:
npm installnpm run buildbuild脚本的包执行tsc(输出到各包dist/)。npm run watchtsc -w)。npm run cleandist(若包定义了clean脚本)。npm run lintlint则执行。npm run package:allpackage脚本的 workspace 执行vsce package(见下文)。单个扩展打包(示例):
生成的
.vsix位于该包目录下,文件名一般为<name>-<version>.vsix。扩展包一览
package.jsonnamedsp-coredsp-coreyhftide.dsp-coreresolveBasicPath、工具解析dsp-mod-debugdsp-mod-debugyhftide.dsp-mod-debugdsp-mod-builddsp-mod-buildyhftide.dsp-mod-builddsp-mod-projectdsp-mod-projectyhftide.dsp-mod-projectdsp-mod-aidsp-mod-aiyhftide.dsp-mod-aidsp-languagedsp-languageyhftide.dsp-languagedsp-suitedsp-suiteyhftide.dsp-suite用户侧安装建议:直接安装 **
yhftide.dsp-suite**。安装与使用
.\scripts\prepare-local-vsix.ps1 -Package -Targets dsp-suite生成dsp-suite.vsix。.\scripts\install-local-vsix.ps1或.\scripts\dev-update-local-vsix.ps1,默认只处理dsp-suite。dsp-suite即可。-Targets dsp-core,dsp-mod-project等参数。dsp.core.toolchainPath,或使用 DSP: 安装离线工具包 安装到globalStorage/dsp-toolchain;旧工程可继续使用工作区下的.basic(见docs/07)。配置说明
部分键由
dsp-core贡献,可在用户/工作区settings.json中设置:dsp.install.modeoffline/hybrid/online,默认离线优先。dsp.install.offlineIndexPathindex.json路径;空则使用<workspace>/.dsp-packages/index.json。dsp.core.toolchainPathglobalStorage/dsp-toolchain→workspace/.basic。各功能模块另有独立配置(如
dsp.debug.*、dsp.build.*),见对应包package.json→contributes.configuration。离线工具链与打包
docs/examples/offline-index.sample.jsondocs/07-离线工具包制作规范.md(归档内目录需与dsp-toolchain下m7004/、gdb-m7004/等约定一致)打包说明(VSIX)
vsce@2.14.0**(根devDependencies),与各包脚本中的vsce package一致。vsce package --no-dependencies --allow-missing-repository--no-dependencies**:避免 monorepo 工作区依赖被打进 VSIX 或触发异常路径。--allow-missing-repository**:package.json未填repository时不交互暂停。LICENSE**,满足 vsce 对许可证文件的检查,实现npm run package:all无人值守。根目录
overrides.cheerio用于在 Node 18 下避免拉取不兼容的undici传递依赖;若升级vsce/Node,需重新验证打包。故障排除
vsce package报ReadableStream/undicioverrides。invalid relative path: ... .git--no-dependencies;勿把 monoreponode_modules链进扩展目录。[y/N]LICENSE+--allow-missing-repository消除;若仍出现,检查是否用了全局其他版本vsce。dsp.core.toolchainPath、是否执行离线安装、工作区是否存在兼容的.basic。文档索引
index.json样例版本与发布
yhftide(各扩展package.json)。0.1.0;发版时以 dsp-suite 为用户交付主版本,内部模块可根据需要保持同步版本策略。prepare-local-vsix.ps1/npm run build为主;接入 CI 时建议固定 Node 18 与npm ci。许可证
各扩展包目录下的
LICENSE为 MIT(Copyright yhftide)。若产品需变更为专有协议,请统一替换各包LICENSE并审查第三方依赖许可证。开发脚本速查(增量)
开发阶段推荐默认使用增量脚本,避免每次全量打包、全量安装所有插件。
相关脚本说明:
scripts\prepare-local-vsix.ps1默认增量构建;传入-Package时增量打包 VSIX。dsp-suite会自动走单插件聚合打包流程;传入-All时全量处理。scripts\install-local-vsix.ps1默认增量安装dsp-suite;只安装新生成或更新过的 VSIX;传入-Targets可安装指定内部模块;传入-All时全量安装。scripts\dev-update-local-vsix.ps1一条命令完成“增量打包 + 增量安装”,默认只更新dsp-suite。