<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vim on T.本秋的自留地</title><link>https://minortex.github.io/tags/vim/</link><description>Recent content in Vim on T.本秋的自留地</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>Copyright© 2026 T.本秋. Licensed under CC BY-NC-SA 4.0.</copyright><lastBuildDate>Sat, 04 Oct 2025 16:45:12 +0800</lastBuildDate><atom:link href="https://minortex.github.io/tags/vim/index.xml" rel="self" type="application/rss+xml"/><item><title>搭建基于 VSCode 的跨平台 C++ 学习环境</title><link>https://minortex.github.io/posts/vscode_cpp_environment/</link><pubDate>Sat, 04 Oct 2025 16:45:12 +0800</pubDate><guid>https://minortex.github.io/posts/vscode_cpp_environment/</guid><description>
&lt;h2 class="relative group"&gt;前言
&lt;div id="前言" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%89%8d%e8%a8%80" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;早期学习 C/C++ 是非常痛苦的，不仅被老师要求下载 20G 的宇宙 IDE VS，还得自己格式化代码，这就是我一开始对此不感冒的原因。&lt;/p&gt;
&lt;p&gt;但是随着学的东西多了，不写代码也不行啊，我才渐渐发现有那么多强大的工具我不知道。&lt;/p&gt;
&lt;p&gt;所以这里记录一下自己的折腾过程，希望能帮到初学 C++ 的朋友们。&lt;/p&gt;
&lt;h2 class="relative group"&gt;准备
&lt;div id="准备" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%87%86%e5%a4%87" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;由于我主要是在 ArchLinux 上面学习，偶尔会在 Windows 上面测试，这里大部分内容都会在 Linux 上面完成，不过别担心，这些工具都是跨平台的。&lt;/p&gt;
&lt;h3 class="relative group"&gt;Linux
&lt;div id="linux" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#linux" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;很简单，直接安装这些软件包：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Clang&lt;/strong&gt; LLVM 的前端，包括了 Clangd 即语言服务器&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GCC/LLVM&lt;/strong&gt; 编译器&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CMake&lt;/strong&gt; 依赖管理/构建系统&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ninja&lt;/strong&gt; 构建器&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 class="relative group"&gt;Windows
&lt;div id="windows" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#windows" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;推荐用&lt;code&gt;scoop&lt;/code&gt;一键解决，对于这些命令行工具可以说非常方便了。&lt;/p&gt;
&lt;p&gt;需要安装的包：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;llvm-mingw&lt;/strong&gt; 包含了 clangd/clang 了&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CMake&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ninja&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果想&lt;code&gt;GCC&lt;/code&gt;的话，可以到&lt;a
href="https://winlibs.com/"
target="_blank"
&gt;WinLibs&lt;/a&gt;下载：&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="winlibs"
width="1178"
height="175"
src="https://minortex.github.io/posts/vscode_cpp_environment/winlibs_hu_631ab03401f3c031.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/winlibs_hu_631ab03401f3c031.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/winlibs.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/winlibs.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;一般来说下&lt;code&gt;UCRT&lt;/code&gt;就行了，从&lt;code&gt;win10&lt;/code&gt;之后都支持&lt;code&gt;UCRT&lt;/code&gt;的。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;安装 VSCode 不用多说了吧？&lt;/p&gt;
&lt;p&gt;安装这些拓展：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CMake Tools&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Clangd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CodeLLDB&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="extensions"
width="526"
height="460"
src="https://minortex.github.io/posts/vscode_cpp_environment/extensions.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/extensions.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/extensions.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/extensions.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 class="relative group"&gt;CMake 拓展设置
&lt;div id="cmake-拓展设置" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#cmake-%e6%8b%93%e5%b1%95%e8%ae%be%e7%bd%ae" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;按照如图显示的配置&lt;code&gt;CMake&lt;/code&gt;生成的数据库文件，以便后续的&lt;code&gt;Clangd&lt;/code&gt;查找。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="cmake_tools"
width="2340"
height="1094"
src="https://minortex.github.io/posts/vscode_cpp_environment/cmake_tools_hu_85a62d68cb7e9971.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/cmake_tools_hu_85a62d68cb7e9971.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/cmake_tools_hu_241d9a9da34b0c4d.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/cmake_tools.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 class="relative group"&gt;Clangd 拓展设置
&lt;div id="clangd-拓展设置" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#clangd-%e6%8b%93%e5%b1%95%e8%ae%be%e7%bd%ae" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;填入&lt;code&gt;Clangd&lt;/code&gt;寻找数据库的位置&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="clangd"
width="2289"
height="515"
src="https://minortex.github.io/posts/vscode_cpp_environment/clangd_hu_828056955515cc85.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/clangd_hu_828056955515cc85.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/clangd_hu_72983cb27b02052f.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/clangd.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 class="relative group"&gt;CodeLLDB 拓展设置
&lt;div id="codelldb-拓展设置" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#codelldb-%e6%8b%93%e5%b1%95%e8%ae%be%e7%bd%ae" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;安装完可能会下载一个调试包，对网络环境要求较高，如果遇到问题可以参考&lt;a
href="https://zhuanlan.zhihu.com/p/566365173"
target="_blank"
&gt;这篇&lt;/a&gt;文章。&lt;/p&gt;
&lt;h2 class="relative group"&gt;创建项目
&lt;div id="创建项目" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%88%9b%e5%bb%ba%e9%a1%b9%e7%9b%ae" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;h3 class="relative group"&gt;配置 CMake
&lt;div id="配置-cmake" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%85%8d%e7%bd%ae-cmake" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;在你的项目根文件夹建立一个主&lt;code&gt;CMakeLists.txt&lt;/code&gt;,内容可以这么写：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmake" data-lang="cmake"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;CMAKE_EXPORT_COMPILE_COMMANDS&lt;/span&gt; &lt;span class="s"&gt;ON&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 最低 CMake 版本要求
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;cmake_minimum_required&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;VERSION&lt;/span&gt; &lt;span class="s"&gt;3.31&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 项目名称和语言
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;project&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;learnproj&lt;/span&gt; &lt;span class="s"&gt;VERSION&lt;/span&gt; &lt;span class="s"&gt;1.0&lt;/span&gt; &lt;span class="s"&gt;LANGUAGES&lt;/span&gt; &lt;span class="s"&gt;CXX&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 设置 C++ 标准
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;CMAKE_CXX_STANDARD&lt;/span&gt; &lt;span class="s"&gt;20&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;CMAKE_CXX_STANDARD_REQUIRED&lt;/span&gt; &lt;span class="s"&gt;ON&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;CMAKE_CXX_EXTENSIONS&lt;/span&gt; &lt;span class="s"&gt;OFF&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;GLOB&lt;/span&gt; &lt;span class="s"&gt;SUB_PROJECT_DIRS&lt;/span&gt; &lt;span class="s"&gt;LIST_DIRECTORIES&lt;/span&gt; &lt;span class="s"&gt;true&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CMAKE_CURRENT_SOURCE_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/src/*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 遍历所有找到的目录
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;SUB_DIR&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SUB_PROJECT_DIRS&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# 检查该目录下是否存在 CMakeLists.txt 文件
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;IS_DIRECTORY&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SUB_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;AND&lt;/span&gt; &lt;span class="s"&gt;EXISTS&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;${SUB_DIR}/CMakeLists.txt&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# 将该目录名打印出来，方便调试
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;get_filename_component&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;PROJECT_NAME&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SUB_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;NAME&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;message&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;STATUS&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Found and added subproject: ${PROJECT_NAME}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# 将这个文件夹作为一个子项目添加进来
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;add_subdirectory&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SUB_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;endif&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;endforeach&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## 根据需要按需添加
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# # 查找 Qt 库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 添加可执行文件
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# # 链接 Qt 库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# target_link_libraries(MyQtProject PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# # 自动处理 MOC、UIC 和 RCC
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# set_target_properties(MyQtProject PROPERTIES
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# AUTOMOC ON
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# AUTOUIC ON
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# AUTORCC ON
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# )
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;你可以根据自己的需要，设置 C++ 标准，扫描的文件夹，链接的库。这里就以&lt;code&gt;src&lt;/code&gt;目录放置源文件，&lt;code&gt;include&lt;/code&gt;放置头文件为例。&lt;/p&gt;
&lt;p&gt;进入&lt;code&gt;src/current&lt;/code&gt;创建一个子&lt;code&gt;CMakeLists.txt&lt;/code&gt;，内容写上：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-cmake" data-lang="cmake"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;get_filename_component&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;PROJECT_NAME&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CMAKE_CURRENT_SOURCE_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;NAME&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## 如果你需要添加别的源文件，别忘了在这里添加文件名，空白符为分隔。
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;add_executable&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;main.cpp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;MSVC&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;target_compile_options&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;PRIVATE&lt;/span&gt; &lt;span class="s"&gt;/W4&lt;/span&gt; &lt;span class="s"&gt;/WX&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;else&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;## 非MSVC指定一些警告参数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;target_compile_options&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;PRIVATE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;-Wall&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;-Wextra&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;-Wpedantic&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c"&gt;# -Werror
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s"&gt;-Wconversion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;endif&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;## 这里指定的头文件的路径
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;target_include_directories&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="s"&gt;PRIVATE&lt;/span&gt; &lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;CMAKE_CURRENT_SOURCE_DIR&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/../../include/&lt;/span&gt;&lt;span class="o"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;PROJECT_NAME&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;创建一个&lt;code&gt;main.cpp&lt;/code&gt;，内容可以为空，你的项目应该这样：&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="project_init"
width="2302"
height="802"
src="https://minortex.github.io/posts/vscode_cpp_environment/project_init_hu_c8dfe5d5ff95c4e5.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/project_init_hu_c8dfe5d5ff95c4e5.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/project_init_hu_2fd38584822b5986.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/project_init.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;接着我们给&lt;code&gt;CMake&lt;/code&gt;生成一些预设。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="quick_start"
width="1268"
height="657"
src="https://minortex.github.io/posts/vscode_cpp_environment/quick_start_hu_61d3a0dfcf6a4a70.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/quick_start_hu_61d3a0dfcf6a4a70.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/quick_start.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/quick_start.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;快速入门 - 添加新预设 - 从编译器创建&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="create_from_compiler"
width="1239"
height="357"
src="https://minortex.github.io/posts/vscode_cpp_environment/create_from_compiler_hu_d312a6337f00368.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/create_from_compiler_hu_d312a6337f00368.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/create_from_compiler.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/create_from_compiler.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;你如果只装了&lt;code&gt;Clang&lt;/code&gt;，那么用不带&lt;code&gt;cl&lt;/code&gt;的就行，同样也可以用&lt;code&gt;GCC&lt;/code&gt;，看个人喜好。&lt;/p&gt;
&lt;p&gt;输入名字，这里我是用&lt;code&gt;平台-编译器-构建器-版本&lt;/code&gt;来命名的，回车会自动生成一个&lt;code&gt;CMakePresets.json&lt;/code&gt;，像这样：&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="preset"
width="2102"
height="867"
src="https://minortex.github.io/posts/vscode_cpp_environment/preset_hu_f84a5090f586bc06.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/preset_hu_f84a5090f586bc06.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/preset_hu_ecc951f003d26168.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/preset.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;因为我比较喜欢&lt;code&gt;Ninja&lt;/code&gt;，所以加入这一行。如果你想用&lt;code&gt;Make&lt;/code&gt;，那么记得手动安装。&lt;/p&gt;
&lt;p&gt;然后在这里添加新生成预设，从配置预设中构建，名字可以是构建预设后面加上&lt;code&gt;-build&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="build_preset"
width="2854"
height="951"
src="https://minortex.github.io/posts/vscode_cpp_environment/build_preset_hu_b3c4efb607ab19b1.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/build_preset_hu_b3c4efb607ab19b1.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/build_preset_hu_a0b97c7d23bca8f3.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/build_preset.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;然后在这里选一下就好了：&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="choose_build_preset"
width="657"
height="462"
src="https://minortex.github.io/posts/vscode_cpp_environment/choose_build_preset.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/choose_build_preset.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/choose_build_preset.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/choose_build_preset.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;下面的生成目标可以选择你的文件夹名称了：&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="choose_build_target"
width="2134"
height="400"
src="https://minortex.github.io/posts/vscode_cpp_environment/choose_build_target_hu_5f3698d55187ed15.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/choose_build_target_hu_5f3698d55187ed15.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/choose_build_target_hu_f3a6d29c2dc2e179.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/choose_build_target.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;打开你的&lt;code&gt;main.cpp&lt;/code&gt;，看看&lt;code&gt;clangd&lt;/code&gt;怎么样？原来已经成功加载数据库并运行了：&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="clangd_log"
width="2982"
height="1680"
src="https://minortex.github.io/posts/vscode_cpp_environment/clangd_log_hu_7bf6f851b2a929ef.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/clangd_log_hu_7bf6f851b2a929ef.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/clangd_log_hu_d312478f90a3e34f.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/clangd_log.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;随便写点东西，然后点击左下角的生成，启动，你的代码应该可以运行了。&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="build_and_run"
width="2977"
height="1673"
src="https://minortex.github.io/posts/vscode_cpp_environment/build_and_run_hu_4ec44f1957a5f00b.webp"
srcset="https://minortex.github.io/posts/vscode_cpp_environment/build_and_run_hu_4ec44f1957a5f00b.webp 800w, https://minortex.github.io/posts/vscode_cpp_environment/build_and_run_hu_54fecd7a1381c0e8.webp 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://minortex.github.io/posts/vscode_cpp_environment/build_and_run.webp"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 class="relative group"&gt;配置 task
&lt;div id="配置-task" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e9%85%8d%e7%bd%ae-task" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;有人说，哎，我的&lt;key&gt;F5&lt;/key&gt;一键调试呢？&lt;/p&gt;
&lt;p&gt;在&lt;code&gt;.vscode/&lt;/code&gt;下创建一个&lt;code&gt;launch.json&lt;/code&gt;，写上：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;version&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;0.2.0&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;configurations&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;lldb&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;request&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;launch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;Debug&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;program&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;${command:cmake.launchTargetPath}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;console&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;integratedTerminal&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;cwd&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;${workspaceFolder}&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;大功告成！&lt;/p&gt;
&lt;h2 class="relative group"&gt;后续
&lt;div id="后续" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%90%8e%e7%bb%ad" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;h3 class="relative group"&gt;格式化
&lt;div id="格式化" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a0%bc%e5%bc%8f%e5%8c%96" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;你可能对于&lt;code&gt;Clangd&lt;/code&gt;的格式化不太满意，那么可以在项目根目录创建一个&lt;code&gt;.clang-format&lt;/code&gt;的文件，里面写上你想要的风格，具体可以去搜一下。&lt;/p&gt;
&lt;p&gt;这是我的：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# .clang-format&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 使用 LLVM 风格作为基础，这是很常见的风格&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;BasedOnStyle&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;LLVM&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 强制缩进宽度为 4 个空格&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;IndentWidth&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;4&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 强制指针和引用靠左&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;PointerAlignment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Left&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 强制使用空格进行缩进，而不是制表符&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;UseTab&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Never&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h3 class="relative group"&gt;其他
&lt;div id="其他" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%85%b6%e4%bb%96" aria-label="锚点"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h3&gt;
&lt;p&gt;如果想添加头文件，直接往&lt;code&gt;include/&amp;lt;你的项目名字&amp;gt;&lt;/code&gt;放置即可。&lt;/p&gt;
&lt;p&gt;如果觉得项目不错，想保留代码，直接把&lt;code&gt;current&lt;/code&gt;文件夹复制一份，改个名，运行的时候到&lt;code&gt;CMake&lt;/code&gt;里面切换配置/生成目标就好。&lt;/p&gt;
&lt;p&gt;如果你想用&lt;code&gt;MSVC&lt;/code&gt;，那么可以下&lt;code&gt;VS Installer&lt;/code&gt;，里面只选构建工具，不过注意这样是没法生成&lt;code&gt;compile_commands.json&lt;/code&gt;给&lt;code&gt;Clangd&lt;/code&gt;读取的。&lt;/p&gt;</description></item></channel></rss>