OIer配置VS Code

系统环境

本文通过虚拟机实现整个流程的模拟,使用的是Windows10x64纯净系统

安装VS Code

官网链接:https://code.visualstudio.com/,安装过程很简单,一直下一步就可以了,至于以下这一步可以根据个人喜好来设置

VS Code首次启动主界面如下

可以看到右下角提示安装中文包,如果希望使用中文界面,则安装即可

安装完成会自动重启VS Code,可以看到界面已经是中文了

安装MinGW64

官网链接:https://sourceforge.net/projects/mingw-w64/files/

滚动到网页如下位置

这里不推荐使用在线安装器,安装的时候下载速度非常慢,建议下载离线包自己配置

具体地:

  • x86_64-posix适用于64位操作系统,i686适用于32位操作系统
  • sjlj兼容32位和64位,稳定性较高,seh仅支持64位,dwarf仅支持32位,后两者性能较高
  • win32用于开发窗口应用程序,这里用不到

这里使用了x86_64-posix-sjlj,下载完7z压缩包后进行解压,将mingw64文件夹放置在C盘的一个位置

打开里面的bin文件夹,复制路径

打开系统环境变量,将之前复制的路径粘贴到PATH中,然后一路确定即可

至此,推荐重启一遍电脑,确保配置的环境变量生效

建立工作目录

建立一个自己的工作目录

打开VS Code,在“文件-将文件夹添加至工作区”中选择之前创建的工作目录,然后点击“是,我信任此作者”

安装C/C++扩展

打开VS Code,点击左边的扩展选项,搜索“C/C++”,然后进行安装

配置工作目录

在工作目录中新建空文件temp.cpp,然后直接按F5运行,会提示选择环境,选择“C++ (GDB/LLDB)”

然后选择“g++.exe”

接着,VS Code会创建两个json文件

打开tasks.json,在args中添加-DLOCAL,并将cwd改为workspaceFolder

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

按下快捷键Ctrl+Shift+P,输入“C/C++”,选择“C/C++: 编辑配置(JSON)”

json文件中,将LOCAL添加至defines,并且把cppStandard设置位c++98(比赛只能用C++98……)

以下仅供参考

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE",
                "LOCAL"
            ],
            "windowsSdkVersion": "10.0.18362.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++98",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}

添加模板

在工作目录中添加文件template.cpp,在其中填入模板

#include <iostream>
#include <cstdio>
#include <ctime>
using namespace std;

int main()
{
    clock_t c1 = clock();
#ifdef LOCAL
    freopen("data.in","r",stdin);
    freopen("data.out","w",stdout);
#endif

    // Code Here

end:
    cerr << "Time Used:" << clock() - c1 << "ms" << endl;
    return 0;
}

添加批处理

考虑到每次复制模板也很麻烦,于是在工作目录中添加一个批处理文件init.bat,写入如下指令

@echo off
copy main.cpp last.cpp
copy template.cpp main.cpp

这两句指令会将原来的代码文件做个备份,然后将模板覆盖上去

又考虑到有时在一道题还没AC的时候要做另一道题的情况,就在工作目录中再添加一个bk.batbkbackup的缩写),写入如下指令

@echo off
if not exist backup md backup
copy main.cpp "backup/%1.cpp"

使用此批处理时需要加上一个参数,也就是文件名称,不需要加后缀cpp

运行代码

在工作目录中添加文件data.indata.outmain.cpp,将两个输入输出文件拖到右边,随便写一段代码作为测试,此处以A+B为例

将下方的终端换成cmd,因为powershell调用bat不太方便,点开+右边的下箭头,点击“配置终端设置”

将默认终端设为cmd

设置完成后回到main.cpp,按下快捷键Ctrl+Shift+B生成exe,生成完毕后在cmd终端中输入main即可看到data.out给出了结果

调试代码

若要调试代码,下好断点后使用快捷键F5会启动调试,调试启动会比较慢

将来的流程

当要写一道新题目时,如果之前的那道还未解决,那么在终端中输入bk unsolvedunsolved.cpp会被放在backup文件夹中

接着输入initmain.cpp就会被初始化为模板了

参考资料

原文地址:https://www.cnblogs.com/fenggwsx/p/15077071.html