zoukankan      html  css  js  c++  java
  • 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就会被初始化为模板了

    参考资料

  • 相关阅读:
    电力三维基础信息平台
    基于三维GIS技术的输电线路地理信息系统的设计与实现
    linux学习笔记(1)
    linux学习笔记(4)
    linux学习笔记(8)
    linux学习笔记(6)
    linux学习笔记(3)
    linux 学习笔记(2)
    linux学习笔记(7)
    ASCII码表完整版
  • 原文地址:https://www.cnblogs.com/fenggwsx/p/15077071.html
Copyright © 2011-2022 走看看