ESP-IDF 新建工程时多了 `.devcontainer` 和 `.clangd`?

April 17, 2026

我一开始也懵了

我刚开始用 ESP-IDF 的时候,遇到一个很奇怪的问题:

👉 用 idf.py create-project 创建的工程很干净 👉 但是用 Visual Studio Code 新建项目的时候,莫名其妙多了两个东西:

.devcontainer/ .clangd

image.png

当时我第一反应是: 是不是我环境装错了???

后来查了一圈,才搞明白,其实根本不是问题。


先说结论

  • 这两个东西 不影响编译运行
  • 它们只是用来提升开发体验的
  • 可以删,但有一个建议别删

.devcontainer 是干嘛的?

这个东西我一开始完全没见过。

简单说就是:

👉 给 VSCode 用的一个“开发环境配置”(基于 Docker)

作用就是:

  • 换电脑也能用同一套环境
  • 团队开发不容易出问题

但对我这种情况来说:

👉 完全用不上

所以你如果只是自己开发:

✔ 可以直接删 ✔ 不影响任何东西


.clangd 是干嘛的?

这个就有点用了。

它是给 clangd 用的,说人话就是:

👉 让你的代码提示正常一点

因为 ESP-IDF 的 include 路径比较复杂,如果没有这个文件,你可能会遇到:

  • 头文件一片红
  • 跳转不了函数
  • 自动补全乱七八糟

我一开始删过一次,结果:

👉 编辑器直接变“瞎子”了

后来又加回来了 😂


为什么 idf.py 没有这些?

这个我也纠结过。

后来想明白了:

👉 idf.py 只负责一件事:让工程能跑起来

它不管:

  • 你写代码爽不爽
  • 有没有补全
  • IDE好不好用

而 VSCode 帮你加的这些:

👉 是“写代码用的”,不是“运行用的”


我的建议

  • .clangd 👉 别删
  • .devcontainer 👉 随便你(我删了)

一句话总结

👉 idf.py create-project:干净但“原始” 👉 VSCode新建:多了点“贴心小功能”