compile_comands.json

# 下面的命令会在 .vscode/ 下面生成 json 文件
GenerateProjectFiles.bat -VSCode

<aside>

  1. 读取 .vscode/compileCommands_UE4.json(UE4 用 GenerateProjectFiles.bat -VSCode 生成的编译命令)
  2. 过滤掉 .h/.hpp/.hxx 头文件条目(让 clangd 通过 .cpp 的 include 链自动解析头文件)
  3. 解析每个条目的 .rsp 文件,从中提取: - /I "path" → include 目录 - /FI "path" → 强制包含的头文件 - /D MACRO → 预处理器宏定义
  4. 转换为 clang 兼容的命令行参数(MSVC 的 /I、/D、/FI → clang 的 -I、-D、-include)
  5. 追加 MSVC/Windows SDK 的系统头文件路径(硬编码的路径)
  6. 输出 Engine/Build/compile_commands.json </aside>

git

git config feature.manyFiles true
git config core.untrackedcache true
git config core.fsmonitor true
core.fsmonitor 用系统文件监控守护进程,只检查真正变化的文件,不全量扫描
core.untrackedcache 缓存未跟踪文件的目录状态,避免重复遍历
feature.manyFiles 启用大仓库优化(commitGraph、index 预读等)

Other projects

https://github.com/taku25/UnrealDev.nvim

https://github.com/boocs/unreal-clangd