IDE 选择与配置教程
目录
-
- 总览
-
- IDE 是啥:基础概念
-
- 选型:为什么是这三款
-
- 公共前置:MinGW-w64 安装
-
- CLion 篇
-
- VSCode 篇
-
- Dev-C++ 篇
-
- 收尾与统一规范
- 附录 A:竞赛代码模板
- 附录 B:常见问题索引
0. 总览
| 工具 | 定位 | 适合谁 | 花钱吗 |
|---|---|---|---|
| VSCode | 日常主力 | 所有人(免费、轻量、插件多) | 免费 |
| CLion | 体验天花板 | 机器配置好、能搞到学生认证的人 | 学生免费,否则付费 |
| Dev-C++ | 机房保底 | 所有人(机房/蓝桥杯只有它) | 免费 |
总策略一句话:平时写题用 VSCode(或 CLion),机房可能只有 Dev-C++ 。三款最终都要会,因为比赛现场没有选择权,但是新手只要掌握一个就可以了。
1. IDE 是啥
1.1 四个概念别搞混
- 编辑器:写代码的记事本加强版。只负责"打字",不负责"运行"。比如记事本、Vim、VSCode 本身。
- 编译器:把人类写的 C++ 代码翻译成电脑能执行的机器码的程序。C++ 用的编译器叫 g++(GNU 的)或 cl(微软的)。
- 调试器:让程序"暂停"给你检查的工具。可以断点、单步、看变量值,找 bug 用的。
- IDE(集成开发环境):编辑器 + 编译器 + 调试器 + 一堆便利功能打包在一起。Dev-C++、CLion 是 IDE;VSCode 严格说是"编辑器",但装上插件后能干 IDE 的活。
1.2 一段代码是怎么变成程序的
写代码(.cpp) --预处理--> 翻译成汇编 --汇编--> 机器码(.o) --链接--> 可执行文件(.exe)
萌新不需要懂细节,只需要知道:你写的是源码,电脑跑的是 exe,中间的翻译工作由编译器完成。
1.3 三个贯穿全文的关键概念(必须搞懂)
- MinGW 是啥:g++ 本来是 Linux 上的编译器。MinGW 是"Windows 版的 g++",让 Windows 也能编译 C++。装编译器 = 装 MinGW。
- 环境变量 PATH 是啥:告诉系统"去哪找可执行文件"。配好 PATH 后,在任意目录打开终端敲
g++都能找到它。配不好 = 报"不是内部或外部命令"。 - 编码(UTF-8 vs GBK)是啥:电脑存中文有两种主流编码。Windows 中文系统控制台默认 GBK,而现代编辑器默认 UTF-8。两边不一致 = 中文输出乱码。后面每一章都会遇到这个问题,第 4、5 章会给解决方案。
2. 选哪个IDE
只推荐三个,剩下不推荐原因后面有说。
VSCode
- 优点:插件丰富(代码提示、调试,抓题、美化),写题舒适
- 缺点:各种功能都要自行配置,流程较为复杂,下方教程会有基础和进阶些的配置教学
CLion
- 优点:开箱即用,功能完善,调试代码体验最佳
- 缺点:插件较少,无法满足定制化需求
- 如果想获得较好体验但不想折腾配置就选它
Dev-C++
- 优点:开箱即用,随处可见
- 缺点:除了优点全是(代码提示弱、调试器老、默认编译器版本老)
- 可以不用,但得会用,学校机房以及某些比赛(点名蓝桥杯)只要它
顺带说下为什么不推荐别的
- Visual Studio:区别于VSCode,这是工程开发用的,不适合学算法打竞赛用,而且安装先得下载10G+。
- Code::Blocks:和 Dev-C++ 同代的老家伙,定位重复,且远不如Dev常见。
- vim/Emacs:除非你会用或者你想当嘉豪,新生
3. MinGW-w64 安装
如果你选择使用VSCode,Dev-C++必须完成这一步,CLion可以选择跳过,但是建议顺手下了后面配置方便。
3.1 下载
- 下载地址(整合包,要啥有啥):https://github.com/niXman/mingw-builds-binaries/releases
- (上方蓝色链接鼠标左键单击或按住ctrl后左键单击可以直接打开)
- 选哪个文件:找最新的 x86_64 开头的 release 版本,格式类似:
x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev1.7z - 命名含义(认准这三个词):
x86_64:64 位(现在电脑基本都是)13.2.0:版本号随意,下最新的就行(不是最新的也行)posix:线程模型,支持std::thread(win32 模型不支持,别选)seh:异常处理模型,64 位下最稳
- 或者点击右边直接下载:点这点这
- 如果你打不开链接,那是正常的,请尝试在你下载这篇教程的群文件里寻找对应压缩包文件,
或者找东皮要。

3.2 解压安装
插一嘴,建议把显示文件扩展名打开
-
Win11可以直接双击打开压缩包或者用解压软件打开压缩包,把mingw64文件夹解压放到C盘根目录下(
C:\mingw64),或者你也可以放到D盘根目录也行,==不要放到下载文件夹或者桌面上==。
-
解压后确认里面有
bin文件夹,C:\mingw64\bin下能看到g++.exe

3.3 配置 PATH
-
按
Win键,搜索"环境变量",打开"编辑系统环境变量"
-
点右下角"环境变量(N)..."
-
在"系统变量"里找到
Path,双击 → 点"新建" → 填入C:\mingw64\bin -
一路"确定"关掉所有窗口

3.4 验证
- 按
Win + R,输入cmd回车,打开命令行 - 输入
g++ --version,回车 - 看到类似
g++ (x86_64-posix-seh-rev1, Built by MinGW-Builds project) 16.2.0的输出 = 成功

🔧 如果提示"不是内部或外部命令":多半是 PATH 没配好,或者配完没重开 cmd(要重开窗口才生效)。
4. CLion 篇
4.1 下载安装
- 官网下载:https://www.jetbrains.com/clion/download/ (Windows 版),或者群里找安装包。
- 安装包1.6GB较大,等待下载。实测至少校园网能直接下载(速度能到10MB/s)。
- 双击安装,安装时勾选"添加到 PATH"和"创建桌面快捷方式",其他随意,其余常规软件安装流程不多赘述。
- 安装完成后打开应用,语言与地区默认直接下一步→同意协议→数据共享随你→允许访问互联网,随后来到主菜单

- 选择新建项目,可以不用修改配置直接创建,当然你可以给项目文件夹换个位置

- 创建完后新打开的窗口会弹出来项目向导,如果前面按照流程下载好了MinGW这里应该能直接检测到,直接点确认就行,否则点击旁边下载...按钮现场下载就行。

- 打开左侧的main.cpp(默认已经打开了),点击 顶部绿色箭头按钮运行,看到底部弹出运行窗口成功打印输出。到这里,你就可以开始写代码了,但是还得做些设置让你舒服地写代码。

你大概已经注意到了右下角弹出的提示。
⚠️ CLion 没有免费社区版!只有 30 天试用。免费长期使用要靠下面的学生认证。
4.2 学生认证激活
- 点击左下角的试用按钮,打开激活窗口。
- 选择学习和爱好可免费使用。

- 选择学习和自我教育,点击注册会弹出浏览器窗口。

- 选择你有的账户的平台或使用邮箱注册登录(骗你的到最后都得绑定邮箱,QQ邮箱总有吧,Win QQ客户端左下角邮件图标能打开,填邮箱收验证码等步骤不说了)

- 注册登录后会给你跳到一个全是英文的界面,不管他,返回到CLion激活窗口,这次点击“登录以进行非商业使用”,再走一遍登录流程到显示“授权成功 您可以关闭此页面并返回 IDE”。
- 返回CLion同意协议后点“开始非商业使用”。至此,激活完成。

4.3 怎么"干掉" CMake 配置
为什么要干掉CMake:CLion 默认用 CMake 管理项目,对我们写题来说每道题目只需要一个.cpp文件就够了。
两个方案,推荐 A:
方案 A(推荐):直接删了CMakeLists.txt
-
看到左侧项目文件夹,左键单击选中CMakeLists.txt,del键删除或者右键删除,弹出窗口直接回车确认就是。
-
删完给你蹦出个错误警告,同时运行按钮也变成灰色无法运行了,怎么办。
-
鼠标点击
int mian() {一行,注意到这一行行号旁边有个一样的绿色运行按钮,点他,选运行。 -
在这一行右键,打开的菜单中也有“运行'main.cpp'”选项,点他。
-
然后就正常运行了,顶上的运行按钮也恢复了。

-
注意:这样子做后,以后添加新的cpp文件时,不要勾选添加到目标(就算你勾选了也没没配置文件添加)

-
新建的文件会弹出“此文件不属于任何项目目标”,写好代码后一样点
mian()一行的运行箭头就能添加到运行配置里运行了,运行一次后警告也会消失。
方案 B:修改CMakeLists.txt
打开CMakeLists.txt,替换为以下内容:
cmake_minimum_required(VERSION 3.16)
project(contest)
# C++17 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 警告 + 中文输出不乱码(-fexec-charset=GBK 仅 Windows 需要)
add_compile_options(-Wall -Wextra -fexec-charset=GBK)
# 跑题请用右上角构建类型 Release(自带 -O2 优化),调试切回 Debug
# 想固定 -O2 的话取消下一行注释(代价:调试时变量可能被优化看不到)
# add_compile_options(-O2)
# 收集所有 .cpp;CONFIGURE_DEPENDS = 新增文件自动识别,不用手动重载
file(GLOB CPPS CONFIGURE_DEPENDS "*.cpp")
# 每个 .cpp 生成一个独立可执行文件
foreach(CPP ${CPPS})
get_filename_component(EXE ${CPP} NAME_WE)
add_executable(${EXE} ${CPP})
endforeach()
然后点击左下角Cmake图标,点击重新加载

后续新增文件同方案A,不要勾选“添加到目标”,不小心勾选且创建文件了可以按ctrl+z撤回或者打开CMakeLists.txt重新贴一遍上面的配置。
新添加的文件如果没有出现在运行配置列表,同上点CMake图标重新加载一下就行。
注意有多个文件之后,点击运行按钮运行的是左侧运行列表当前显示的文件,注意核对与自己当前想运行的文件是否一致。
4.4 中文输出乱码解决
如果上一节你选择方案B的话就不用管这一步了,CMakeLists配置模板里已经顺带解决了这个问题。
实际上遇到输出中文的情况非常少见,目前只在极个别题目中见过。
原理:CLion 源码默认 UTF-8 保存,但 Windows 控制台默认 GBK 读,两边打架就乱码。
方案 A:在点击main()旁的运行按钮后选择修改运行配置,弹出的窗口的编译器选项加 -fexec-charset=GBK。
方案 B(不推荐):main 开头加一行:
system("chcp 65001 > nul"); // 把控制台切成 UTF-8,解决中文输出乱码
原理一句话:让"源码编码"和"控制台编码"一致。比赛提交前记得删掉这行(OJ 上不需要,有的评测机还会警告)。
4.5 运行与调试
这一部分可以等到后续学C++时体验
- 运行:右上角绿色三角 / Shift+F10
- 调试:右上角虫子图标 / Shift+F9
- 调试三件套:
- 断点:点代码行号右侧,出现红点。程序跑到这里会暂停
- 单步:F8 步过(一行一行走)、F7 步入(走进函数内部)
- 变量监视:调试时左侧 Variables 面板实时看变量值;也可以选中表达式右键 Add to Watches
- 常见流程:样例不过 → 在可疑行打断点 → 调试运行 → 看变量在哪一步开始不对
4.7 禁用 AI(重要)
新版 CLion 捆绑了 JetBrains AI Assistant,有AI建议补全代码功能,虽然弹出建议直接按tab补上一整行甚至多行很爽,但容易造成 学过就忘 情况,当然比赛的时候时没有这玩意的,建议从一开始就关掉:
如图:


关闭后还剩的输入时补全单词的功能还是可以用的,长点的词敲一半按下tab填充完整还是很好使的。

4.8 常用快捷键
| 功能 | 快捷键 |
|---|---|
| 运行 | Shift+F10 |
| 调试 | Shift+F9 |
| 步过 | F8 |
| 步入 | F7 |
| 跳出 | Shift+F8 |
| 格式化代码 | Ctrl+Alt+L |
| 搜索 | 双击 Shift |
5. VSCode 篇
5.1 安装 VSCode
- 官网下载:https://code.visualstudio.com/ (Windows 版,选 User Installer 即可)
- 双击安装。安装向导里建议勾选:
- "添加到 PATH"(以后能在终端直接敲
code) - "将'通过 Code 打开'操作添加到文件和目录上下文菜单"(右键就能打开文件夹)
- "添加到 PATH"(以后能在终端直接敲
- 打开后左侧是图标栏,从上到下:资源管理器、搜索、源代码管理、运行和调试、扩展
【📷 截图:VSCode 首次打开界面】
5.2 安装中文插件
- 左侧点"扩展"图标(或 Ctrl+Shift+X)
- 搜索
Chinese,安装 Chinese (Simplified) Language Pack for Visual Studio Code(微软官方) - 装完右下角提示重启,重启后界面全中文
【📷 截图:扩展商店搜 Chinese】
5.3 确认编译器可用
打开任意文件夹,新建 test.cpp,写个 A+B,然后按 Ctrl+~ 打开终端输入:
g++ --version
能输出版本号 = 第 3 章成功,继续。报错就回去看第 3 章。
5.4 第一步:装微软官方 C++ 扩展(先能跑)
- 扩展商店搜索
C++,安装 C/C++(作者 Microsoft,蓝色图标) - 装完打开 .cpp 文件,编辑器会自动开始索引,写代码时应该有基本提示了
- 此时按
Ctrl+Shift+B会提示"未配置生成任务"——先不管,5.7 节配
这一节只是"先跑起来"。微软这个扩展的代码提示(IntelliSense)又慢又卡,下一节换掉。
5.5 升级:clangd 替换微软 IntelliSense
微软 C/C++ 扩展的提示慢、占内存、有时候还错。竞赛代码短平快,推荐换成 clangd(业界公认的 C++ 语义分析引擎,快且准)。
安装 clangd(二选一):
- 方法 A:扩展商店装 clangd(作者 LLVM,图标是红色圆环),装完打开 .cpp 会提示找不到 clangd,点 Download 自动下载(国内网络可能慢/失败,失败用方法 B)
- 方法 B(推荐,稳):装 LLVM 全家桶。Win 键搜索
winget或直接开终端:
winget install LLVM.LLVM
装完重开 VSCode。验证:终端敲 clangd --version。
关掉微软家的智能感知(关键,否则两个补全打架):
Ctrl+,打开设置- 搜索
intelliSenseEngine - 把 C_Cpp: IntelliSense Engine 从
default改成 disabled
(语法高亮、括号匹配这些功能还留着,只是提示交给 clangd)
配置 clangd 编译参数(让 clangd 知道用什么标准,否则标准库符号可能标红):见 5.7 的 settings.json。
【📷 截图:C_Cpp IntelliSense Engine 改 disabled】
【📷 截图:clangd 正常工作,写代码秒出提示】
5.6 调试:CodeLLDB
调试不用微软那套了(和 gdb 一样难用),换 CodeLLDB:
- 扩展商店装 CodeLLDB(作者 Vadim Chugunov)
- 配好 5.7 的 launch.json 后,按
F5即可断点调试,速度和体验比默认好一截
5.7 .vscode 文件夹配置(核心中的核心)
在工作区文件夹根目录新建 .vscode 文件夹,里面放三个文件。注意:JSON 不支持注释,下面代码块是可直接复制使用的纯净版,字段解释写在代码块后面。
① tasks.json(编译任务,Ctrl+Shift+B 一键编译)
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "cppbuild",
"command": "g++",
"args": [
"-std=c++17",
"-O2",
"-Wall",
"-Wextra",
"-fexec-charset=GBK",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
}
]
}
字段说明(记住常用的,以后自己改):
command:g++—— 用的是第 3 章配的 PATH,所以不用写全路径-std=c++17—— 语言标准,竞赛统一 C++17-O2—— 优化开关,竞赛必开(不开 O2 时间限制可能过不了)-Wall -Wextra—— 打开警告,帮你抓低级错误(数组越界、未用变量等)-fexec-charset=GBK—— 中文输出不乱码(原理见 4.5)-g—— 生成调试信息(F5 调试需要)${file}—— 当前打开的 .cpp 文件;输出 exe 和源码同名同目录
② launch.json(调试配置,F5 一键调试)
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug (lldb)",
"type": "lldb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"cwd": "${fileDirname}",
"console": "integratedTerminal"
}
]
}
字段说明:
program—— 调试哪个程序(编译出的 exe,和 tasks.json 输出路径对应)cwd—— 程序工作目录(读文件类题目需要,保持和源码同目录)console: integratedTerminal—— 程序跑在 VSCode 内置终端里,能正常用 cin 输入
使用流程:先 Ctrl+Shift+B 编译 → 打断点 → F5 调试。
③ settings.json(编辑器 + clangd + Code Runner 统一配置)
{
"editor.fontSize": 16,
"editor.fontFamily": "Consolas, 'Courier New', monospace",
"files.encoding": "utf8",
"C_Cpp.intelliSenseEngine": "disabled",
"clangd.fallbackFlags": ["-std=c++17", "-O2", "-Wall", "-Wextra"],
"code-runner.runInTerminal": true,
"code-runner.executorMap": {
"cpp": "cd $dir && g++ -std=c++17 -O2 -Wall -Wextra $fileName -o $fileNameWithoutExt && $fileNameWithoutExt"
}
}
字段说明:
editor.fontFamily—— 等宽字体,Consolas 是 Windows 标配(数字 0/O、1/l/i 分得清,写代码必须等宽字体)files.encoding: utf8—— 源码统一 UTF-8 保存C_Cpp.intelliSenseEngine: disabled—— 5.5 节已说明,关掉微软提示clangd.fallbackFlags—— clangd 的编译参数兜底(没有 compile_commands.json 时用它)code-runner.*—— 给 5.9 节的 Code Runner 用,装了才有意义
c_cpp_properties.json 呢? 用 clangd + CodeLLDB 之后这个文件可以不要。网上老教程会让配它,那是微软 C/C++ 扩展时代的事,直接忽略。
【📷 截图:.vscode 文件夹里三个文件的完整目录结构】
5.8 CPH 插件:从抓题到提交一条龙
Competitive Programming Helper(CPH):竞赛专用插件,能把 OJ 题目抓进 VSCode,本地跑样例,甚至直接提交。
安装(两个东西,缺一不可):
- VSCode 扩展商店装 Competitive Programming Helper (cph)(作者 Divyanshu Agrawal)
- Chrome/Edge 浏览器装扩展 Competitive Companion(应用商店直接搜)
使用流程:
- VSCode 里打开你的刷题文件夹(建议按专题/比赛分文件夹)
- 浏览器打开题目页面(Codeforces / AtCoder / 洛谷都支持)→ 点浏览器工具栏的 Competitive Companion 图标(红色胶囊形状)
- 题目自动出现在 VSCode 左侧 CPH 面板:题目描述、样例输入输出都齐了
- 写代码 → 点 CPH 面板的 Run tests → 自动跑全部样例,绿了就是过
- 全过之后点 Submit → 首次会让你登录 Codeforces/AtCoder 账号,之后一键提交
【📷 截图:浏览器点 Competitive Companion 图标】
【📷 截图:VSCode 里 CPH 面板跑样例全绿】
⚠️ 两个注意点:
- 浏览器扩展和 CPH 之间的默认端口(10045)要一致,两边设置里都能看到,别乱改
- 洛谷支持抓题,但 CPH 不支持直接提交洛谷,洛谷题自己复制去网页交
5.9 Code Runner:一键运行(可选)
日常"就想快速跑一下"时,比 Ctrl+Shift+B 更省事:
- 扩展商店装 Code Runner(作者 Jun Han)
- settings.json 里那两行
code-runner.*已配好 - 打开 .cpp,点右上角播放按钮(或 Ctrl+Alt+N)直接编译运行
注意:Code Runner 是"运行",不带调试。正经调试还是 F5。它和自定义 tasks 二选一即可,都配也行,不冲突。
5.10 禁用 AI
- 不装 GitHub Copilot、Cline、Continue 等任何 AI 编程插件
- 理由:训练要自己动脑子,依赖补全会变懒;比赛现场断网,AI 帮不了你
- ⚠️ 别误伤:clangd 的补全不是 AI,是本地语义分析,放心用
5.11 常见问题
| 症状 | 原因/解决 |
|---|---|
g++ 不是内部或外部命令 |
PATH 没配好 / 配完没重开终端 |
| 中文输出乱码 | 源码 UTF-8 + 控制台 GBK:tasks.json 已带 -fexec-charset=GBK,确认没删 |
| clangd 标红一大片,包括 std | fallbackFlags 没配 / clangd 没装成功(clangd --version 验证) |
| 按 F5 提示找不到 exe | 没先编译,或 launch.json 的 program 路径和 tasks 输出对不上 |
| 两个补全同时弹 | C_Cpp.intelliSenseEngine 没设 disabled |
| 下载插件/扩展超时 | 国内网络问题:开代理,或稍后再试,多试几次 |
5.12 验收清单
- [ ]
Ctrl+Shift+B能编译,输出 exe - [ ] 中文输出不乱码
- [ ]
F5断点调试正常 - [ ] clangd 补全飞快(比微软扩展明显快)
- [ ] CPH 能抓题、跑样例
- [ ] 没装任何 AI 插件
6. Dev-C++ 篇(保底工具)
定位:机房/蓝桥杯只有它。要求不高:能编译、能运行、能调标准、能开警告。
6.1 版本选择(先搞清楚自己装的是啥)
Dev-C++ 有两个常见版本,界面和配置位置不一样,先认版本:
- Orwell Dev-C++ 5.11(经典版,2015 年停更):机房和蓝桥杯赛点几乎都是它。自带编译器 TDM-GCC 4.9.2(很老,C++ 新特性支持差)
- Embarcadero Dev-C++(官方接手的新版,还在更新):https://www.embarcadero.com/free-tools/dev-cpp ,自带 GCC 10.3,支持 C++17,代码提示也比老版强
建议:家里装 Embarcadero 新版(好用一点),同时必须会操作 5.11(机房环境)。
蓝桥杯现实:赛点机房编译器老,C++11 是安全线。平时写 C++17 没问题,但赛前一定要拿机房环境实测新特性能不能过。
6.2 安装(以 5.11 为例)
- 下载安装包(官方源:https://sourceforge.net/projects/orwelldevcpp/ ,国内搜"Dev-C++ 5.11 下载"也有镜像)
- 双击安装,语言选 English(装完再改中文:Tools → Environment Options → Language → 简体中文)
- 首次启动选主题/语言,一路 Next
【📷 截图:安装完成首次启动界面】
6.3 编译器设置(最重要的三步)
打开 工具(Tools)→ 编译器选项(Compiler Options):
① 语言标准调新:
- 5.11:编译器选项 → "编译时加入以下命令"(Add the following commands)框里填:
-std=c++14
(5.11 自带编译器最高稳妥支持到 C++14 附近;想用 C++17 看 6.4 换编译器。Embarcadero 新版:设置里直接有语言标准下拉,选 C++17)
② 开优化 -O2:
- 编译器选项 → "编译时加入以下命令" 里补上(和标准写在同一行,空格隔开):
-std=c++14 -O2
(竞赛必须 -O2,理由同 5.7)
③ 开警告 -Wall -Wextra:
- 同样加在"编译时加入以下命令"里,最终效果:
-std=c++14 -O2 -Wall -Wextra
【📷 截图:编译器选项界面,命令框已填好】
顺手:编译器选项里还能把"编译时显示警告信息"类选项勾上,这样警告会出现在输出面板而不是一闪而过。
6.4 换新 MinGW(可选,想用 C++17 再做)
5.11 想用 C++17 完整特性,可以指向第 3 章装的 MinGW:
- 工具 → 编译器选项 → 顶部"编译器"页签
- "编译器安装目录"选 New,手动定位到
C:\mingw64 - 确定后语言标准可以填
-std=c++17
⚠️ 诚实警告:5.11 太老,和新 g++ 配合偶尔有小毛病(错误跳转、提示异常)。能用,但别指望完美。嫌麻烦就直接用 Embarcadero 新版。
6.5 代码提示与万能头(认清现实)
- Dev 的代码提示本来就弱:老版要手动按
Ctrl+Space才出,Embarcadero 新版稍好 - 万能头
#include <bits/stdc++.h>在 Dev 里没有代码提示——因为 Dev 的索引器根本不解析 bits 目录下的文件。这个问题没有好用的解决方案(翻遍论坛也就那几个歪招),别浪费时间折腾 - 结论:在 Dev 里写代码就别指望提示,函数名记不住就回 VSCode 写。编译能过、跑得对,Dev 的任务就完成了
6.6 竞赛模板文件(绕开提示问题的土办法)
新建文件时直接把模板贴进去,至少不用每次敲万能头和 main 骨架:
- 把附录 A 的模板存成一个
template.txt - 每次新建源文件,全选粘贴即可
- (Embarcadero 新版可以在"工具 → 代码模板"里配真正的模板,老版没这功能,就用土办法)
【📷 截图:新建文件粘贴模板后的效果】
6.7 调试(能用,但别指望)
- F5 加断点、F7 单步,基本调试能凑合用
- 但体验很差(老版本对 STL 容器的查看基本是灾难)
- 建议:样例不过,回 VSCode/CLion 调,别在机房硬磕
6.8 编码注意(老家伙的怪癖)
- Dev 5.11 默认用 ANSI(GBK)保存文件
- 在 Dev 里写的中文注释,拷到 VSCode(默认 UTF-8)会乱码;反之亦然
- 处理:哪个工具写的代码就用哪个工具看,别来回倒腾;统一用 Dev 写完整再提交
6.9 蓝桥杯/机房实战注意
- 提交方式:蓝桥杯是网页端贴代码提交,不是交文件
- 机房电脑配置一般,别装太多东西,Dev 够了
- 提前用机房环境跑一遍自己的代码:C++11 标准、老编译器、无 O2 时能不能过,赛前确认
6.10 验收清单
- [ ] 能编译运行 A+B
- [ ] 编译命令里带
-O2 -Wall -Wextra(标准按版本填) - [ ] 知道万能头在 Dev 里没提示,不折腾
- [ ] 模板文件已就绪
7. 收尾与统一规范
7.1 三款工具统一规范(换工具不迷路)
| 项目 | 统一值 |
|---|---|
| 语言标准 | C++17(机房 5.11 降到 C++14/11 兜底) |
| 编译选项 | -O2 -Wall -Wextra |
| 编码 | 源码 UTF-8(Dev 里除外,Dev 写 Dev 看) |
| 万能头 | 竞赛随便用,但要知道它是什么(见附录 A 说明) |
7.2 日常流程建议
- 平时写题:VSCode(主力)或 CLion(体验派),CPH 抓题 → 写 → 跑样例 → 提交
- 赛前:用 Dev-C++ 模拟机房环境跑一遍,确认编译选项和新特性没问题
- 调试:先在 VSCode/CLion 用断点调明白,Dev 只当"能编译的记事本"
7.3 目录组织建议
- 一个专题一个文件夹:
D:\oj\dp、D:\oj\graph、D:\oj\cf-xxx(某场比赛) - .vscode 文件夹放最外层(工作区根目录),子文件夹的题都能共用配置
- 每道题一个 .cpp:
D:\oj\dp\P1048.cpp、D:\oj\cf-xxx\A.cpp
附录 A:竞赛代码模板
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int, int>;
#define endl '\n'
#define all(v) (v).begin(), (v).end()
void solve() {
// ===== 每道题在这里写 =====
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T = 1;
// cin >> T; // 多组数据时取消注释
while (T--) solve();
return 0;
}
关于万能头的说明(新生必读):
bits/stdc++.h不是标准 C++ 头文件,是 GNU 编译器(g++)自带的一个"一键包含所有标准库头文件"的方便头- 因为评测环境基本都是 g++,所以竞赛用它没问题,能省一堆 include
- 代价:编译变慢一点点(竞赛无所谓)、Dev 里没代码提示(见 6.5)
- 进阶建议:图论/字符串等专题可以开始用标准头,但万能头在竞赛里完全合法,别纠结
模板里的两行 fast IO 解释:
ios::sync_with_stdio(false);关掉 cin/cout 和 C 的 scanf/printf 的同步,输入输出变快cin.tie(nullptr);取消 cin 和 cout 的绑定,进一步提速- 竞赛输入数据量大时,不写这两行可能 TLE。代价:不能混用 cin 和 scanf(别混用就行)
附录 B:常见问题索引
| 问题 | 去哪看 |
|---|---|
| g++ 命令找不到 | 第 3 章 3.3/3.4 |
| 中文输出乱码 | 4.5(CLion)/ 5.11(VSCode)/ 6.8(Dev) |
| CLion 学生认证 | 4.2 |
| VSCode 两个补全打架 | 5.5 |
| VSCode 调试不了 | 5.11 |
| CPH 洛谷不能提交 | 5.8 |
| Dev 万能头没提示 | 6.5 |
| 机房编译器太老跑不了新语法 | 6.9 |
草稿完。正式版待补:全部截图、路径实测验证、机房环境实测。

