Site icon T.T.T

快乐喷气,智慧大脑 | 使用 CLion 搭配 VC++ 优雅地写 Cpp 作业

本学期开了 C++ 程序设计课程。不得不说相比起课程钦定的 CodeBlocksVisual Studio 要友好不少。抛开 Visual Studio 体积庞大的问题不说,其 VC++ 编译器输出为中文,对于新手来说实在是个福音。(毕竟像 g++ 的报错动不动就几百行(雾…),谁看得懂啊)

上学期 Python 课程中钦定的 IDEPyCharmCLion 与之同属喷气脑子家族的一员,很多快捷键、UI 等都有共通之处。笔者早期学 C++ 时用的 IDEDevCpp,其界面在当时还并不显得陈旧,并且支持单文件编译、开箱即用等特点比较适合新手。如今已是 9102 年,CBDev 的复古风界面简直不能看。Visual Studio 全家桶用起来又有些杀鸡用牛刀的感觉。本着偷懒的原则,笔者选择了 CLion + VC++ 2017 的组合。

首先安装 Visual Studio Community,之后安装 CLion,学生可以享有一年的免费试用期,到期可以再续。要注意的是 Visual C++ 并不是 Visual Studio 默认安装的组件之一,需要手动勾选。CLion 安装后首次启动即可自动检测到 VC++ 编译器,一键配置完成,按确定即可。

CLion 单文件执行插件

DevCpp 不同的是,CLion 并不是一款所谓 开箱即用IDE。它默认并不支持“单文件运行”,其需要手工编写的 CMakeLists.txt 也令很多新手望而生畏。(CB 亦然,所以任老师上课时说,大家养成“良好习惯”,写一道题建一个新工程,)好在 CLion 拥有丰富的 Plugins,下图所展示的 Plugin 即可帮助我们更好地愉快写 Cpp 作业。

安装完成之后,在当前 Editor 内按下 Ctrl + Alt + Shift +E,即可将当前编辑的 Cpp 文件加入 CMakeLists.txt

在右上角,亦可以选择所需要编译执行的文件,Shift + F10 即可执行。如果右上角的下拉列表里并没有出现当前文件,可能是因为 CLion 默认并没有开启 CMakeList.txt 自动刷新功能。在左侧列表里打开 CMakeList.txt,点击 Enable Auto Refresh,即可开启自动刷新。此后,每次写完一个新文件,只要按下快捷键,等待数秒后就可以在右上角列表中选择当前文件,按下 Shift + F10 执行啦!

解决 CLion 配合 VC++ 2017 包含中文时的 C4819 报错

然而,此处又有一个坑。如果你的程序中包含中文字符串,很可能会得到以下报错:

熟悉的朋友就会知道,这一定是 Encodeing 的锅。眼光看向右下角,咦…UTF-8,莫得问题啊。

笔者爬阅一些资料后,得知 VC++ 要求 Unicode(UTF-8 带签名) 格式。(真是任性)于是,打开设置 - Editor - File Encoding,将最后一个框改为 with DOM 或者 with DOM under Windows,再编译执行,就没有出错啦。

#include<iostream>

using namespace std;

int main() {
    cout << "含有中文字符串的文件需要保存为 UTF-8 with DOM 格式" << endl;

    return 0;
}

祝大家 Cpp 满绩啦!(完)