这是一篇重要提醒,希望吧主可以帮忙做个置顶。
--------------------------------------------------
VSCode 的定位是一个全功能代码编辑器,它不是大部分小白想象的「开箱即用」。尤其在 Windows 这种安装 C/C++ 开发环境如此费劲的操作系统上,依赖于大量配置文件完成外部工具性应用程序联动的 VSCode 是阻碍小白们学习 C/C++ 的极大障碍。
因此,本小吧主提醒:
1)在 Windows 上进行 C/C++ 开发的新人请考虑使用 Orwell Dev-C++ (不过有点年代了,最新版发布于10年前) ,或者使用 Embarcadero Dev-C++ (这个比较新且持续维护中,但适用人数较少,没有 Orwell 那个知名),又或者考虑 JetBrains CLion (首选,对后续迁移至 VSCode 有较大帮助,不过本身要钱) ,还可以直接使用 Microsoft 官方首选 Visual Studio IDE (注意 VSIDE 和 VSCode 不是同一个东西,作为小白只需要 Community 社区版,用不着付费的 Professional 专业版和 Enterprise 企业版) 。对于 macOS 用户请无脑 XCode ,Linux 用户群体本身自带门槛不在考虑范围内(用 Linux 的基本都知道自己要干啥、怎么干)。
2)逛吧过程中,我看到大量 Windows C/C++ 小白查找到的安装教程都在使用 MinGW-w64 。此应用不是 Microsoft 官方推荐,任何问题都和 Windows / Microsoft 没有任何关系,且此应用不包含 Windows SDK 部分(它们仅由 VSIDE 和其功能核心 MSBuild Tools 提供),在后续学习(比如 MFC 或者 Win32 API 之类的 Windows 底层,或者安装涉及 Python C API 的第三方库,或者安装需要 node-gyp 本地编译的 JavaScript 第三方库)会无意中引入其他复杂的问题。请无脑安装 VSIDE 或 MSBuild Tools (全名 "Visual Studio 生成工具") 。
3)待你对 C/C++ 有较深了解,能够保证自己不会写出连语法都不通的代码后,请完成 CMake 入门。VSCode 有针对 CMake 配置文件 CMakeLists.txt 的智能代码补全,你至少要能够写出一个最小规模的 CMake 配置文件、搭建出一个最简单的 CMake 项目。
4)请不要使用 Code Runner 插件。对于 C/C++ 用户,VSCode 首选插件 Microsoft C/C++ 已经具备了相关代码的编译、执行、调试功能,不需要额外引入其他插件来提供这个功能。对于 CMake 项目,CMake 扩展插件将检测到此特征并调用本地已安装的 cmake.exe 接管一切编译/执行/调试过程,不需要再手写其他配置文件(这就是要求完成 CMake 入门的原因,且 VSCode + CMake + MSBuild 也是 Microsoft 官方的 Windows C/C++ 开发最佳实践)。
--------------------------------------------------
VSCode 的定位是一个全功能代码编辑器,它不是大部分小白想象的「开箱即用」。尤其在 Windows 这种安装 C/C++ 开发环境如此费劲的操作系统上,依赖于大量配置文件完成外部工具性应用程序联动的 VSCode 是阻碍小白们学习 C/C++ 的极大障碍。
因此,本小吧主提醒:
1)在 Windows 上进行 C/C++ 开发的新人请考虑使用 Orwell Dev-C++ (不过有点年代了,最新版发布于10年前) ,或者使用 Embarcadero Dev-C++ (这个比较新且持续维护中,但适用人数较少,没有 Orwell 那个知名),又或者考虑 JetBrains CLion (首选,对后续迁移至 VSCode 有较大帮助,不过本身要钱) ,还可以直接使用 Microsoft 官方首选 Visual Studio IDE (注意 VSIDE 和 VSCode 不是同一个东西,作为小白只需要 Community 社区版,用不着付费的 Professional 专业版和 Enterprise 企业版) 。对于 macOS 用户请无脑 XCode ,Linux 用户群体本身自带门槛不在考虑范围内(用 Linux 的基本都知道自己要干啥、怎么干)。
2)逛吧过程中,我看到大量 Windows C/C++ 小白查找到的安装教程都在使用 MinGW-w64 。此应用不是 Microsoft 官方推荐,任何问题都和 Windows / Microsoft 没有任何关系,且此应用不包含 Windows SDK 部分(它们仅由 VSIDE 和其功能核心 MSBuild Tools 提供),在后续学习(比如 MFC 或者 Win32 API 之类的 Windows 底层,或者安装涉及 Python C API 的第三方库,或者安装需要 node-gyp 本地编译的 JavaScript 第三方库)会无意中引入其他复杂的问题。请无脑安装 VSIDE 或 MSBuild Tools (全名 "Visual Studio 生成工具") 。
3)待你对 C/C++ 有较深了解,能够保证自己不会写出连语法都不通的代码后,请完成 CMake 入门。VSCode 有针对 CMake 配置文件 CMakeLists.txt 的智能代码补全,你至少要能够写出一个最小规模的 CMake 配置文件、搭建出一个最简单的 CMake 项目。
4)请不要使用 Code Runner 插件。对于 C/C++ 用户,VSCode 首选插件 Microsoft C/C++ 已经具备了相关代码的编译、执行、调试功能,不需要额外引入其他插件来提供这个功能。对于 CMake 项目,CMake 扩展插件将检测到此特征并调用本地已安装的 cmake.exe 接管一切编译/执行/调试过程,不需要再手写其他配置文件(这就是要求完成 CMake 入门的原因,且 VSCode + CMake + MSBuild 也是 Microsoft 官方的 Windows C/C++ 开发最佳实践)。