chore: update gitignore
DSP IDE 扩展 Monorepo(npm workspaces):将原 YHFT-IDE 内置能力拆为可独立安装、可版本化的 VS Code 扩展,Publisher 统一为 **yhftide**。
npm workspaces
yhftide
vscode-languageclient
vscode-languageserver
dsp-toolchain
workspace/.basic
extensionDependencies
yhftide.dsp-core
gdb-dap
cppdbg
package.json
docs
ide-plugins/ ├── package.json # 根 workspaces、engines、package:all ├── tsconfig.base.json # TypeScript 基配置 ├── scripts/ │ └── build-local.ps1 # 本地:install → build → [package] ├── 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\build-local.ps1 # 编译后打全量 VSIX(7 个包) powershell -ExecutionPolicy Bypass -File .\scripts\build-local.ps1 -Package
在仓库根目录执行:
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
dsp-core
resolveBasicPath
dsp-mod-debug
yhftide.dsp-mod-debug
dsp-mod-build
yhftide.dsp-mod-build
dsp-mod-project
yhftide.dsp-mod-project
dsp-mod-ai
yhftide.dsp-mod-ai
dsp-language
yhftide.dsp-language
dsp-suite
yhftide.dsp-suite
extensionPack
安装顺序建议:先装 **yhftide.dsp-core**,或直接安装 **yhftide.dsp-suite**(由市场/IDE 解析依赖)。
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
packages/*/package.json
version
build-local.ps1
npm ci
各扩展包目录下的 LICENSE 为 MIT(Copyright yhftide)。若产品需变更为专有协议,请统一替换各包 LICENSE 并审查第三方依赖许可证。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
ide-plugins
DSP IDE 扩展 Monorepo(
npm workspaces):将原 YHFT-IDE 内置能力拆为可独立安装、可版本化的 VS Code 扩展,Publisher 统一为 **yhftide**。目录
简介
vscode-languageclient/vscode-languageserver(语言包)。dsp-toolchain与workspace/.basic回退。extensionDependencies依赖yhftide.dsp-core。gdb-dap+cppdbg),详见各包package.json与docs。仓库结构
环境要求
>=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-suiteextensionPack聚合上述扩展安装顺序建议:先装 **
yhftide.dsp-core**,或直接安装 **yhftide.dsp-suite**(由市场/IDE 解析依赖)。安装与使用
.vsix。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;发版时请按语义化版本分别提升各packages/*/package.json的version,并保证 dsp-suite 与依赖扩展版本策略一致(扩展包不强制同版本,但团队宜约定)。build-local.ps1/npm run build为主;接入 CI 时建议固定 Node 18 与npm ci。许可证
各扩展包目录下的
LICENSE为 MIT(Copyright yhftide)。若产品需变更为专有协议,请统一替换各包LICENSE并审查第三方依赖许可证。