C++开发环境搭建全攻略:从编译器选择到VSCode配置
1. 项目概述:为什么开发环境是C++学习的第一道坎?
很多刚接触C++的朋友,拿到一本厚厚的教材或者打开一个在线教程,第一件事可能就是照着写一个“Hello World”。但往往代码还没敲几行,就被“编译错误”、“链接错误”、“找不到头文件”这些拦路虎给劝退了。这其实不怪你,问题大概率出在“开发环境”这个最基础,却又最容易被忽视的环节上。
所谓“开发环境”,简单说就是你写代码、把代码变成可运行程序所需要的一整套工具和配置。对于C++这种编译型语言来说,这个过程尤其重要。它不像Python或JavaScript,有个解释器就能跑。C++需要编译器把你的源代码翻译成机器码,需要构建工具来管理复杂的项目文件,还需要调试器帮你找出代码里的bug。这一套工具链如果没搭好,或者配置不对,你的学习之路从一开始就会磕磕绊绊。
我见过太多初学者,在环境问题上浪费了大量时间,甚至因此丧失了学习兴趣。所以,我把搭建C++开发环境称为“保姆级”教程,就是希望能把每一步都拆解得清清楚楚,让你能一次成功,把精力真正集中在学习C++语言本身,而不是和工具链搏斗。无论你是想在Windows上快速上手,还是在Linux下进行更专业的开发,甚至是使用跨平台的VSCode,这篇指南都会给你一条清晰的路径。
2. 核心工具链拆解:编译器、构建工具与编辑器
搭建C++环境,本质上是在组装三条核心“流水线”:编译流水线、构建流水线和编辑调试流水线。理解它们各自的作用和关系,后续的安装配置才会心中有数。
2.1 编译器:从源代码到机器码的翻译官
编译器是C++开发环境的基石,它的任务是将你写的.cpp、.h等高级语言代码,翻译成计算机能直接执行的机器指令(通常是.exe或可执行文件)。
主流编译器选择:GCC vs MSVC vs Clang
对于新手,选择往往集中在以下三者:
GCC (GNU Compiler Collection):这是Linux世界的“原住民”和事实标准。绝大多数开源C/C++项目都默认使用GCC编译。它的优势是极其稳定、对标准支持全面、生态庞大。如果你学习的目标是Linux系统编程、嵌入式开发或者参与开源项目,GCC几乎是必选项。在Windows上,你可以通过MinGW或MSYS2来获得GCC环境。
MSVC (Microsoft Visual C++):这是Windows平台的“亲儿子”,集成在Visual Studio中。它对Windows SDK的支持最好,编译Windows桌面应用、调用系统API最为方便。如果你未来的目标是开发Windows应用程序、游戏(使用DirectX)或与.NET生态交互,MSVC是最顺畅的选择。它的调试器Visual Studio Debugger也异常强大。
Clang/LLVM:这是一个相对较新但发展迅猛的编译器套件。它的最大特点是编译速度快、错误提示信息非常清晰友好(对新手极其重要),并且采用模块化设计。苹果公司的Xcode就使用Clang作为默认编译器。很多现代C++项目(如Chromium)也转向使用Clang。它在跨平台支持上做得很好。
我的选择建议:对于纯新手,如果你在Windows上,并且不确定未来方向,我推荐从Visual Studio Community版(包含MSVC)开始,因为它提供了“一键安装”的完整环境,避开了大量配置麻烦。如果你明确要在Linux下学习,或者希望工具链更“纯净”、更接近工业界(如后端开发),那么从GCC开始。Clang则适合那些喜欢尝鲜、看重开发体验(如更好的静态分析)的学习者。
2.2 构建工具:管理多文件项目的“项目经理”
当你只有一个main.cpp文件时,手动调用编译器命令g++ main.cpp -o program很简单。但一个真实的项目可能有几十上百个源文件,依赖不同的库,需要不同的编译选项。这时就需要构建工具。
CMake:现代C++项目的构建标准
目前,CMake是绝对的主流。它不是一个编译器,而是一个“构建系统的构建系统”。你编写一个声明式的CMakeLists.txt文件,描述你的项目结构、依赖和构建目标(生成可执行文件还是库)。CMake会根据这个文件,为你本地环境生成对应的构建脚本(如Windows上的Visual Studio项目文件.sln,或Linux上的Makefile)。
为什么是CMake?因为它跨平台。一份CMakeLists.txt可以在Windows、Linux、macOS上生成各自IDE认识的工程文件,极大降低了项目迁移和协作的成本。几乎所有开源C++项目都使用CMake。因此,学习CMake是现代C++开发者的必备技能,哪怕只是基础的用法。
2.3 代码编辑器/集成开发环境:你的主战场
这是你每天面对时间最长的工具。选择很多,主要分两类:
集成开发环境:功能大而全,开箱即用。
- Visual Studio (Windows):宇宙第一IDE,对MSVC和Windows开发支持无敌,调试体验顶级。缺点是体积庞大。
- CLion (跨平台):JetBrains出品,以智能代码补全、重构和深度CMake集成著称。非常高效,但是一款付费软件(对学生免费)。
- Qt Creator (跨平台):如果你主要做图形界面(GUI)开发,特别是用Qt框架,这是不二之选。它对C++和Qt的支持非常好。
轻量级编辑器 + 插件:灵活、轻快、高度可定制。
- Visual Studio Code (跨平台):这是当前最流行的选择。通过安装C/C++、CMake等插件,它可以获得媲美IDE的体验,同时保持轻量。它非常适合学习和小型项目,也是很多专业开发者进行跨平台开发的首选。本教程后续会重点介绍VSCode的配置方案,因为它平衡了功能、易用性和学习成本。
- Sublime Text / Vim / Emacs:这些是更极客向的选择,需要大量自定义配置才能达到高效开发的状态,不适合初学者直接上手。
3. 实操方案一:Windows平台快速上手(Visual Studio 2022)
这是让Windows用户最快写出第一个C++程序的方法,几乎没有配置门槛。
3.1 下载与安装
- 访问Visual Studio官网,下载Visual Studio 2022 Community版本。这是完全免费的,对于个人和学习用途功能没有任何限制。
- 运行安装程序。在“工作负载”选择界面,勾选“使用C++的桌面开发”。这个选项包含了MSVC编译器、Windows SDK、CMake、调试器等所有必需组件。
- 在右侧的“安装详细信息”中,确保“用于Windows的C++ CMake工具”也被勾选上。这能让你直接处理CMake项目。
- 选择安装位置(默认在C盘,如果空间紧张可以改到其他盘),点击“安装”。这个过程会下载几个GB的文件,请耐心等待。
3.2 创建并运行你的第一个项目
安装完成后,启动Visual Studio。
- 创建新项目:在启动窗口,点击“创建新项目”。在项目模板列表中,搜索“控制台”,选择“控制台应用”(模板名称可能略有不同,但图标通常是一个黑框)。
- 配置项目:给项目起个名字,比如
HelloWorld,选择存放位置。 - 编写代码:项目创建后,IDE会自动打开
main.cpp(或类似名称)文件。里面已经有一个基本的main函数和Hello World输出代码。 - 编译运行:点击工具栏上绿色的“本地Windows调试器”按钮(或按
F5键)。Visual Studio会自动完成编译和链接,并弹出一个控制台窗口,显示“Hello World”。
实操心得:按
F5是“启动调试”,程序如果正常结束,窗口会一闪而过。如果你想看到输出后暂停,可以在main函数return 0;前加上一行system("pause");(仅限Windows),或者更推荐的方法是:在程序最后(return之前)设置一个断点,或者使用Ctrl + F5(“开始执行(不调试)”)来运行,这样窗口会在程序结束后保持打开,直到你按任意键。
3.3 初识Visual Studio项目结构
在“解决方案资源管理器”面板中,你可以看到:
.sln文件:解决方案文件,可以包含多个项目。- 你的项目文件夹:包含
.vcxproj项目文件,它定义了如何编译这个项目。 main.cpp:你的源代码。Debug或Release文件夹:编译输出的可执行文件就在这里。
Debug版本包含调试信息,方便排查错误;Release版本经过优化,体积小、运行快,用于最终发布。
4. 实操方案二:跨平台首选(VSCode + MinGW-w64/GCC)
如果你想在Windows上使用更接近Linux风格的GCC工具链,或者你的代码最终需要运行在Linux服务器上,这个方案是最佳选择。它轻量、灵活,且技能可以无缝迁移到Linux环境。
4.1 安装编译器和构建工具
我们使用MSYS2来安装MinGW-w64(Windows版的GCC)和CMake。MSYS2提供了一个类Linux的软件包管理环境。
安装MSYS2:
- 访问MSYS2官网,下载安装程序。
- 按照提示安装,建议安装路径不要有中文和空格,例如
C:\msys64。 - 安装完成后,从开始菜单打开MSYS2 UCRT64(或MSYS2 MinGW 64-bit)。这个终端环境就是我们安装和管理软件的地方。
在MSYS2中安装工具链:
- 在打开的UCRT64终端中,首先更新软件包数据库:
pacman -Syu - 更新过程中可能会提示关闭终端,按照提示操作,重新打开终端,再次运行
pacman -Syu直到系统完全更新。 - 安装编译器和工具:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain cmake - 这个命令会安装GCC、G++、GDB、Make以及CMake。安装时直接按回车接受默认选项(安装所有)。
- 在打开的UCRT64终端中,首先更新软件包数据库:
将工具链添加到系统环境变量:
- 这是关键一步,为了让VSCode和命令行能找到我们刚安装的编译器。
- 打开“系统属性” -> “高级” -> “环境变量”。
- 在“系统变量”中找到并选中
Path,点击“编辑”。 - 点击“新建”,添加MSYS2中工具链的路径,例如:
C:\msys64\ucrt64\bin。 - 务必确认!添加后,打开一个新的Windows命令提示符(CMD)或PowerShell(不是MSYS2终端),输入
gcc --version和cmake --version。如果能显示版本信息,说明配置成功。
4.2 安装并配置VSCode
- 安装VSCode:从官网下载安装,过程简单。
- 安装必要扩展:打开VSCode,点击左侧活动栏的扩展图标,搜索并安装以下插件:
- C/C++(Microsoft):提供代码智能感知、调试等功能。
- CMake(twxs):提供CMake语言支持。
- CMake Tools(Microsoft):提供CMake项目的配置、构建、调试等全套工具。
4.3 创建并构建一个CMake项目
现在,让我们用最“标准”的方式创建一个C++项目。
- 创建项目文件夹:在任意位置(例如桌面)新建一个文件夹,命名为
MyCppProject。用VSCode打开这个文件夹(“文件”->“打开文件夹”)。 - 创建源代码文件:在VSCode资源管理器中,右键点击项目根目录,新建文件
main.cpp,输入以下代码:#include <iostream> #include <vector> #include <string> int main() { std::vector<std::string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"}; for (const std::string& word : msg) { std::cout << word << " "; } std::cout << std::endl; return 0; } - 创建CMakeLists.txt:在项目根目录下再新建一个文件
CMakeLists.txt,这是CMake的构建脚本。cmake_minimum_required(VERSION 3.10) # 指定CMake最低版本 project(MyCppProject) # 定义项目名称 set(CMAKE_CXX_STANDARD 17) # 设置C++语言标准为C++17 set(CMAKE_CXX_STANDARD_REQUIRED ON) # 要求编译器必须支持该标准 add_executable(my_app main.cpp) # 添加一个可执行文件构建目标,名为my_app,源文件是main.cpp - 配置CMake项目:
- 按下
Ctrl+Shift+P打开命令面板,输入CMake: Configure并执行。 - 第一次配置时,VSCode会提示你选择一个“Kit”。这会列出它检测到的所有编译器。你应该能看到一个类似
GCC x.x.x (ucrt64)的选项,选择它。 - 接着可能会让你选择“Variant”(构建类型),选择
Debug(用于调试)或Release(用于发布),先选Debug。 - CMake Tools会自动在项目根目录下生成一个
build文件夹,并在其中生成对应你系统的构建文件(在Windows下可能是Makefile或Ninja文件)。
- 按下
- 构建项目:
- 命令面板中运行
CMake: Build,或者点击底部状态栏的“构建”按钮(一个齿轮图标)。 - 如果一切顺利,你会在终端看到编译成功的输出。生成的可执行文件
my_app.exe(Windows)或my_app(Linux)位于build目录下。
- 命令面板中运行
- 运行程序:
- 打开一个终端(
Ctrl+``),切换到build目录,执行.\my_app.exe(Windows)或./my_app`(Linux),就能看到程序输出。
- 打开一个终端(
4.4 配置调试环境
不能调试的编程是没有灵魂的。VSCode配合CMake Tools可以轻松调试。
- 确保你的
CMakeLists.txt中,add_executable的目标名(这里是my_app)是正确的。 - 点击VSCode左侧的“运行和调试”图标(或按
Ctrl+Shift+D)。 - 点击“创建一个launch.json文件”,选择“C++ (GDB/LLDB)”。
- 这会在项目下生成一个
.vscode文件夹和launch.json文件。我们需要修改它,让它知道要调试哪个程序。将program配置项修改为CMake生成的可执行文件路径:{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/my_app.exe", // 关键!指向你的可执行文件 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, // 使用VSCode内置终端,体验更好 "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "CMake: build" // 调试前自动构建,确保代码最新 } ] } - 回到
main.cpp,在for循环那一行左侧点击,设置一个断点(会出现红点)。 - 按
F5启动调试。程序会在断点处暂停,你可以看到变量值、调用堆栈,并可以单步执行(F10)、步入函数(F11)。
注意事项:
launch.json中的program路径必须与你CMakeLists.txt中add_executable定义的目标名以及实际的生成路径完全匹配。如果CMake配置的是Debug模式,可执行文件可能在build/Debug目录下。一个更通用的方法是使用CMake的变量:"program": "${command:cmake.launchTargetPath}",这会让CMake Tools自动填入正确的路径。
5. 实操方案三:Linux原生环境搭建(Ubuntu为例)
在Linux下搭建C++开发环境非常直接,因为GCC和Clang本就是为这个生态而生的。
5.1 安装编译器和基础工具
打开终端,执行以下命令更新软件源并安装工具链:
sudo apt update sudo apt install build-essential gdb cmakebuild-essential:这是一个元包,包含了gcc,g++,make,libc6-dev等编译和构建必需的基础软件。gdb:GNU调试器。cmake:构建工具。
安装完成后,可以通过gcc --version和cmake --version验证。
5.2 安装Clang(可选但推荐)
Clang能提供更好的错误提示。安装命令如下:
sudo apt install clang clangd clang-tidy clang-format lldbclang:Clang编译器。clangd:语言服务器,为编辑器提供超强的代码补全、跳转等功能。clang-tidy:静态代码分析工具,能发现潜在问题。clang-format:代码格式化工具。lldb:LLVM项目下的调试器,是GDB的替代品。
5.3 在Linux下使用VSCode
在Linux上安装VSCode同样简单,可以通过Snap包、直接下载.deb包或使用官方仓库。安装后,同样需要安装“C/C++”、“CMake”、“CMake Tools”这三个扩展。
其后的项目创建、CMake配置、构建和调试流程,与第4章(Windows VSCode方案)完全一致。因为VSCode和CMake都是跨平台的,CMakeLists.txt文件无需任何修改。唯一的区别是,在Linux下生成的可执行文件没有.exe后缀,且路径分隔符是正斜杠/。
例如,在launch.json中,program的路径应该类似:
"program": "${workspaceFolder}/build/my_app"5.4 使用Linux终端进行编译和调试
除了IDE,掌握基本的命令行操作是Linux开发者的基本功。
直接使用GCC编译:
# 编译单个文件 g++ -o my_program main.cpp # 运行 ./my_program # 编译多个文件,并启用C++17标准和调试信息 g++ -std=c++17 -g -o my_app main.cpp utils.cpp-o:指定输出文件名。-std=c++17:指定C++语言标准。-g:在可执行文件中包含调试信息,这是使用GDB调试的前提。
使用GDB调试:
gdb ./my_app进入GDB后,常用命令:
break main或b main:在main函数开始处设置断点。run或r:运行程序。next或n:单步执行(不进入函数内部)。step或s:单步执行(进入函数内部)。print variable或p variable:打印变量的值。continue或c:继续运行直到下一个断点。quit或q:退出GDB。
使用CMake进行构建(命令行):
# 在项目根目录下 mkdir build && cd build # 创建并进入build目录,保持源码目录清洁 cmake .. # 用上一级目录的CMakeLists.txt生成构建文件 make # 执行编译 ./my_app # 运行程序
6. 进阶配置与效率提升技巧
环境搭好只是开始,以下这些配置能让你的开发体验更上一层楼。
6.1 配置VSCode的C/C++插件智能感知
有时你会发现VSCode的代码补全或跳转定义不准,这是因为C/C++插件不知道你项目的头文件路径和编译定义。对于CMake项目,CMake Tools扩展可以自动生成配置。对于非CMake项目,你需要手动配置c_cpp_properties.json。
- 在VSCode中,按
Ctrl+Shift+P,输入C/C++: Edit Configurations (UI),这是一个图形化配置界面。 - 在这里,你可以设置:
- 编译器路径:指定你使用的
g++或clang++的完整路径。 - IntelliSense 模式:根据你的编译器选择
gcc-x64或clang-x64。 - 包含路径:添加你项目依赖的第三方库的头文件路径,例如
/usr/include,C:/msys64/ucrt64/include等。 - C++ 标准:例如
c++17。 - 定义:添加预处理器宏,例如
-DDEBUG。
- 编译器路径:指定你使用的
对于CMake项目,更推荐在CMakeLists.txt中正确设置include_directories()和target_compile_definitions(),然后让CMake Tools来驱动IntelliSense。
6.2 使用clangd获得更强大的代码支持
clangd是一个独立的语言服务器,它的代码理解能力(尤其是对于现代C++)通常比VSCode自带的C/C++插件更强。
- 确保已安装
clangd(在Linux上通过apt,在Windows上可通过MSYS2的pacman或LLVM官网安装)。 - 在VSCode中禁用或卸载微软的“C/C++”插件。
- 安装“clangd”扩展(由llvm-vs-code-extensions发布)。
- 通常
clangd能自动检测到CMake项目并读取compile_commands.json文件(CMake配置时可以生成)来获取准确的编译信息。如果不行,可以在项目根目录创建一个.clangd配置文件进行指引。
6.3 代码格式化与静态检查
保持代码风格一致非常重要。
clang-format:
- 安装
clang-format工具。 - 在项目根目录创建一个
.clang-format文件,定义你的代码风格(可以从Google、LLVM等现成风格开始)。 - 在VSCode中安装“Clang-Format”扩展,并设置保存时自动格式化。
- 也可以在终端运行
clang-format -i *.cpp *.h来格式化一批文件。
- 安装
clang-tidy:
- 安装
clang-tidy。 - 它是一个静态分析工具,能发现代码中潜在的错误、不规范的写法、性能问题等。
- 可以在CMake中集成,在构建时自动运行检查:
# 在CMakeLists.txt中 find_program(CLANG_TIDY_EXE NAMES clang-tidy) if(CLANG_TIDY_EXE) set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXE}") endif()
- 安装
6.4 管理第三方库
真实的项目几乎都会依赖第三方库。在Linux上,通常使用包管理器(如apt)安装开发包:
sudo apt install libboost-all-dev libopencv-dev在CMake中,使用find_package来查找这些库:
find_package(Boost REQUIRED) find_package(OpenCV REQUIRED) target_link_libraries(my_app PRIVATE Boost::boost OpenCV::opencv)在Windows上,管理库更复杂一些。推荐使用vcpkg或Conan这样的跨平台C++包管理器。它们能帮你自动下载、编译和配置依赖库,并生成供CMake使用的工具链文件,极大简化了库管理的工作。
7. 常见问题与故障排除实录
即使按照教程一步步来,也可能会遇到问题。这里记录了一些我踩过的坑和解决方案。
7.1 “gcc不是内部或外部命令”或“cmake不是内部或外部命令”
- 问题:在Windows命令行中执行
gcc --version失败。 - 原因:编译器路径没有正确添加到系统的
PATH环境变量中。 - 解决:
- 确认你安装的MinGW-w64或MSYS2的
bin目录路径(例如C:\msys64\ucrt64\bin)。 - 按照4.1节的步骤,仔细检查环境变量
Path中是否添加了该路径。 - 关键:添加环境变量后,必须关闭所有已打开的CMD或PowerShell窗口,重新打开一个新的,新的终端才会加载更新后的
PATH。 - 在新终端中再次尝试
gcc --version。
- 确认你安装的MinGW-w64或MSYS2的
7.2 VSCode的CMake扩展找不到编译器(No Kit Found)
- 问题:在VSCode中执行
CMake: Configure时,弹出“No Kit Found”或列表为空。 - 原因:CMake Tools没有自动扫描到已安装的编译器。
- 解决:
- 手动指定编译器路径。打开VSCode设置(
Ctrl+,),搜索CMake: Generator或CMake: Preferred Generators。可以尝试设置为MinGW Makefiles(对于MinGW)或Unix Makefiles(对于Linux/WSL)。 - 更直接的方法是,在命令面板执行
CMake: Scan for Kits,强制重新扫描。 - 检查你的编译器是否真的能在系统终端中被调用(见问题1)。
- 对于Windows的MinGW,有时需要手动创建一个
kit。在VSCode的用户设置中搜索cmake kits,编辑settings.json,添加如下内容(路径根据你的实际安装位置修改):"cmake.kits": [ { "name": "GCC 13.2.0 x86_64-w64-mingw32", "compilers": { "C": "C:\\msys64\\ucrt64\\bin\\gcc.exe", "C++": "C:\\msys64\\ucrt64\\bin\\g++.exe" }, "environmentVariables": { "PATH": "C:\\msys64\\ucrt64\\bin;${env:PATH}" } } ]
- 手动指定编译器路径。打开VSCode设置(
7.3 编译时出现“undefined reference to ...”链接错误
- 问题:编译通过,但链接失败,提示找不到某个函数的实现。
- 原因:这是最常见的链接错误。可能的原因有:
- 你声明并使用了某个函数(或类方法),但没有提供它的定义(实现)。
- 你使用了第三方库的函数,但在链接时没有指定该库文件(
.a或.lib)。
- 解决:
- 检查对应的
.cpp文件是否被添加到CMakeLists.txt的add_executable或add_library命令中。 - 如果使用了第三方库,确保在
CMakeLists.txt中使用了target_link_libraries(your_target PRIVATE library_name)来链接库。 - 在Linux命令行下使用
g++直接编译时,需要用-l选项指定库名,如-lpthread链接线程库。
- 检查对应的
7.4 调试时无法查看STL容器(如std::vector)的内容
- 问题:在VSCode或GDB调试时,查看
std::vector变量只显示一堆内存地址,看不到里面的元素。 - 原因:默认的调试视图对STL容器的展示不友好。
- 解决:
- 在VSCode的
launch.json中,我们已经配置了"-enable-pretty-printing",这通常能解决大部分问题。确保GDB版本较新(>=7.0)。 - 对于更复杂的视图,可以安装“C++ Helper”之类的VSCode扩展来增强调试数据可视化。
- 在纯GDB命令行中,可以安装
python3-gdb包,并确保GDB加载了Python漂亮的打印机脚本(通常安装完整的GDB开发包会自动配置)。
- 在VSCode的
7.5 CMake配置时下载很慢或失败
- 问题:CMake在
configure阶段,特别是使用FetchContent或find_package时,会从网络下载依赖,速度很慢或超时。 - 原因:资源服务器在国外。
- 解决:
- 设置代理:如果你有合法的网络访问方式,可以在终端中设置
http_proxy和https_proxy环境变量,让CMake走代理。 - 使用国内镜像:对于一些知名项目(如Google Test),可以修改CMake脚本,将其下载地址替换为国内镜像站的地址(如中科大、清华的镜像)。这需要一定的CMake脚本修改能力。
- 预先下载:最稳妥的方式是,提前将所需的源码包或库下载到本地,然后修改
CMakeLists.txt,通过file(DOWNLOAD ...)或直接指定本地路径来获取。
- 设置代理:如果你有合法的网络访问方式,可以在终端中设置
环境搭建是编程的起点,一个顺畅的环境能让你专注于代码逻辑本身。我个人的体会是,不要害怕在环境配置上花时间,尤其是初期。一旦你摸清了工具链的脉络,形成了自己稳定的开发工作流,后续的学习和开发效率会成倍提升。如果遇到问题,善用搜索引擎,错误信息本身就是最好的老师。大多数你踩的坑,前人都已经踩过并留下了解决方案。