D语言开发只需安装DMD、dub及VSCode官方D插件,新建项目用dub init,无需手动配置c_cpp_properties.json或tasks.json,调试需匹配对应平台调试器并确保build成功。

直接装好 DMD + VSCode 插件 + dub 就能跑,不用改 c_cpp_properties.json 或手动写 tasks.json ——D 语言生态里 dub 是事实标准构建工具,VSCode 的 D 插件已深度集成它。
安装 DMD 编译器和 dub 工具
D 语言开发必须依赖官方编译器 DMD(或 LDC/GDC),而 dub 是默认包管理器和构建驱动,二者通常捆绑安装:
- Windows:从
https://dlang.org/download.html下载installer.exe,勾选 “Install DMD” 和 “Install dub” 两项,自动配置环境变量 - macOS:用
brew install dmd dub - Linux:推荐用
curl -fsS https://dlang.org/install.sh | bash -s(官方脚本会处理 PATH)
验证是否就位:
dm dmd --version<br>dub --version
如果终端报 command not found,说明 PATH 没生效——重启终端,或手动把 dmd 安装目录下的 bin(如 C:\D\dmd2\windows\bin)加进系统 PATH。
VSCode 插件只装这一个就够了
别装一堆名字带 “D” 的插件。唯一需要的是官方维护的:“D Programming Language”(作者:webfreak0)
它内置了:
- 语法高亮、括号匹配、
import自动补全 - 对
dub.json/package.json的识别与错误检查 - 基于
dub的任务生成(build / test / run) - 调试支持(需额外装
CodeLLDB或cppvsdbg,但仅限 Windows)
其他插件如 “D Language utility extension” 或 “DLS” 已过时或功能重复,装了反而可能冲突。
新建项目用 dub init,别手建文件夹
VSCode 不识别空文件夹为 D 项目。必须让 dub 初始化结构:
dub init myapp --type=executable
这会生成 dub.json(或 dub.sdl)和 source/app.d。然后在 VSCode 中用 File → Open Folder 打开 myapp 目录——插件立刻识别为 D 项目,左下角状态栏显示 D (dub),Ctrl+Shift+P 输入 build 就能调出 Tasks: Run Build Task。
常见误区:
- 手动建
.vscode/tasks.json并写死dmd命令:没必要,dub会自动选编译器、架构、优化等级 - 把
app.d放错位置:必须在source/下,否则dub build报No source files found - 改了
dub.json但没保存:插件不会热重载配置,改完要保存文件再触发 build
调试前确认调试器后端可用
D 语言调试不走 GDB/LLDB 原生协议,而是靠 dmd 生成 DWARF 信息 + 外部调试器桥接:
- Windows:装
CodeLLDB插件无效,必须用微软的cpptools+cppvsdbg(即 Visual Studio 调试引擎),且需安装 VS Build Tools - macOS/Linux:
CodeLLDB可用,但要求dmd编译时加-g(dub build --build=debug默认已加)
调试配置关键点:
-
launch.json中program字段必须指向./.dub/build/xxx-application-*/myapp(不是source/app.d) - 确保
preLaunchTask设为build debug,否则断点不命中 - 如果断点灰掉,大概率是
dub build没成功,或source/app.d没在构建路径里
最易被忽略的一点:D 项目依赖 dub 的缓存机制,首次 dub build 会下载依赖并编译 std 库,耗时可能达几十秒——别误以为卡死而强行关掉终端。


















