机房环境配置指北

机房环境配置指北

Dev-Cpp

谁用这个 /oh

VSCode

确保有在官网上下载最新版本的 VSCode。

插件安装

  • C/C++:image

  • Code Runner:image

  • cph(选用):image

  • Python(如有需要):image

  • Latex Workshop(编辑 .tex 文件):image

配置编译器

使用 VSCode 需要用户自己提供 C++ 语言的编译器,可以从 winlibs 官网上下载最新的版本(CCF 比赛使用的标准编译器版本是 GCC 9.3.0,编译选项 -std=c++14 -O2)。附件中提供了一份参考版本。

下载后解压压缩包,可以将文件夹放置在需要的路径下,一下配置中默认放置在 C:\Program Files 下。

下载后在终端中无法直接使用,需要添加到系统环境变量中,具体方法如下:

  • 再搜索框中搜索 “编辑系统环境变量”:

image

  • 点击打开 “系统” 变量中的 “Path”:

image

  • 点击 “新建” 后输入你的编译器二进制文件夹(/bin)路径即可:

image

  • 再终端中输入指令 g++ -v 测试,可能的结果:

image

配置 IntelliSense 和 Run and Debug

VSCode 的使用依赖于一个用户指定文件夹,并会从该目录下读取 .vscode 中的配置文件。参考配置见附件,不详细解释。

可以根据具体情况调整文件中的编译器路径。

配置终端

VSCode 中可以自己增加自定义的终端,为了方便,我们可以下载一个模拟的 bash 终端来模拟考场环境,下文中选用 Git Bash,可以自行再官网上下载最新版本(按照默认选项安装)。

可以在 VSCode 中自定义 Git Bash 为默认的终端,命令详见附件中的 setting.json,也可以手动设置:打开终端,点击选项,点击 “Select Default Profile”,选择合适的终端即可。

image

需要特殊注意的是,如果你使用的是 Git Bash,那么可能会带来一些问题:Git Bash 环境中的 mingw64 和从 winlibs 上安装的 mingw64 存在差异!解决方案:

  • 在编译时使用选项 -static,但是会造成编译速度减慢的后果;
  • 将不同的文件覆盖到 Git 的 mingw64 的二进制文件夹(Git/mingw64/bin)中,具体而言,你需要将二进制文件夹(/bin)中的这两个文件夹覆盖过去:image,缺点是每次更新都需要再来,而且这样子比较危险。

嗷,尽然没有附件,只好放代码了:

c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "D:/mingw64/include/c++/14.1.0/x86_64-w64-mingw32" // 编译器库路径
            ],
            "defines": [],
            "compilerPath": "D:/mingw64/bin/g++.exe",
            "intelliSenseMode": "windows-gcc-x86",
            "compilerArgs": [],
            "cStandard": "c11",
            "cppStandard": "c++14"
        }
    ],
    "version": 4
}

launch.json:

{
	"version": "0.2.0",
	"configurations": [
		{
			"name": "C/C++ Launch",
			"preLaunchTask": "C/C++ Compile",
			"type": "cppdbg",
			"request": "launch",
			"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
			"args": [],
			"stopAtEntry": false,
			"cwd": "${fileDirname}",
			"environment": [],
			"externalConsole": true,
			"MIMode": "gdb",
			"miDebuggerPath": "D:/mingw64/bin/gdb.exe",
			"setupCommands": [
				{
					"description": "为 gdb 启用整齐打印",
					"text": "-enable-pretty-printing",
					"ignoreFailures": true
				},
				{
					"description": "将反汇编风格设置为 Intel",
					"text": "-gdb-set disassembly-flavor intel",
					"ignoreFailures": true
				}
			]
		}
	]
}

tasks.json:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "C/C++ Compile",
			"command": "g++",
			"args": [
				"\"${file}\"",
				"-g",
				"-o",
				"\"${fileDirname}/${fileBasenameNoExtension}\"",
				"-std=c++14",
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "Compiler: D:/mingw64/bin/g++.exe",
		},
		{
			"type": "cppbuild",
			"label": "C/C++: g++.exe 生成活动文件",
			"command": "g++",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"\"${file}\"",
				"-o",
				"\"${fileDirname}/${fileBasenameNoExtension}\"",
				"-std=c++14",
			],
			"options": {
				"cwd": "D:/mingw64/bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "调试器生成的任务。"
		}
	]
}

用的时候自己改一下编译器的路径

CP Editor

打开设置。

  • 语言 \(\to\) C++ \(\to\) C++ 命令,把 C++ 编译命令改成 g++
  • 外观 \(\to\) 字体,把编辑器字体改成 Consolas 16,测试用例字体、消息字体、自定义全局字体改成 Consolas 12
  • 动作 \(\to\) 测试用例,勾选“在空的测试点上运行你的代码”。

这个是 @zlt 的极简版 /oh

posted @ 2024-11-27 16:26  JWRuixi  阅读(94)  评论(0)    收藏  举报