vscode 配置指北

咱就是说,水准可以不高,但是生产力工具一定要用的顺手。所以我们来弄一下vscode,本人是一个呃呃呃蒟蒻oier,所以大致讲的是目前感觉最顺手又简单的做题配置。其实在mac,或者linux会舒服很多,但没办法,主播要打游戏,所以windows还是无法摆脱。

环境要求

  • windows 系统
  • git
  • g++
  • vscode (with c++ env configed)

配置过程

1、OI 部分

首先,我们在任意位置创建一个 oi 文件夹。里面,创建一个你自己想要的模板文件,比如 template.cpp,我的如下:

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define per(i,a,b) for(int i=a;i>=b;i--)
using namespace std;



int main(){
	ios::sync_with_stdio(0),cin.tie(0);
	
	
	
	return 0;
}

然后,创建 data.in 文件用于读入数据,data.txt 用于输出数据。接下来,创建main.cpp作为主要的做题文件。vscode最强大的功能就是他的任务系统,就是可以用户自定义任务,然后配置快捷键一键执行任务。我们的运行就用了这个flow。

我们先在底部terminal那里,选择加号旁边的尖尖,然后select default profile,选择 git bash,这有助于我们使用 linux 的指令,当然powsh大神可以把下面的执行代码改成psh代码,效果应该也是一样的。

接着,我们在 Terminal -> config tasks 中选择默认模板,就是 echo hello 那一个,然后 输入这些:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "oi-diff",
            "type": "shell",
            "command": "g++ ${fileBasename} -o main.exe && ./main.exe < data.in > data.txt"
        },
    ],
}

至此,我们配置完成了一个任务。要运行任务,我们可以调出面板,然后找run task 然后找到我们的这个任务去执行,当然也可以配置快捷键。

调出面板,找keyboard json 然后就可以自定义快捷键了,注意配置的时候,看看有没有冲突的快捷键,有的话,记得删掉哦。

 {
    "key": "shift+j",
    "command": "selectNextSuggestion",
    "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
}, // 使用 shift+j 来选择下一个可选项(相当于方向键下)
{
    "key": "shift+tab",
    "command": "selectPrevSuggestion",
    "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
}, // 使用 shift+k 来选择上一个可选项(相当于方向键上)
{
    "key": "tab",
    "command": "-acceptSelectedSuggestion",
    "when": "suggestWidgetHasFocusedSuggestion && suggestWidgetVisible && textInputFocus"
    // "when": "suggestWidgetVisible && textInputFocus"
},
{
    "key": "enter",
    "command": "acceptSelectedSuggestion",
    "when": "editorTextFocus && suggestWidgetVisible"
},
{
    "key": "ctrl+shift+b",
    "command": "workbench.action.tasks.runTask",
    "args": "oi-diff", // 你任务的名字
    "when": "editorTextFocus"
},
{
    "key": "ctrl+shift+n",
    "command": "workbench.action.tasks.runTask",
    "args": "init-main", // 你任务的名字
    "when": "editorTextFocus"
}

我们看上面代码倒数第二个快捷键,额,绑定任务就是这样写的啦,具体为啥,可以看vscode的文档。qwq

这个时候,就有人要问了,主播主播,你下面那个 init-main 是啥东西?

那我们接下来就来看看这是啥。就是说,我们做完一道题,想要保存,重命名,然后,再把模板放进来是不是很麻烦,所以也可以做成task。具体操作:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "oi-diff",
            "type": "shell",
            "command": "g++ ${fileBasename} -o main.exe && ./main.exe < data.in > data.txt"
        },
        {
            "label": "init-main",
            "type": "shell",
            "command": "cp main.cpp ${input:file_name}.cpp;cp template.cpp main.cpp"
        }
    ],
    "inputs": [
        {
            "id": "file_name", // 代表我们要设定的变量名
            "type": "promptString", // 代表怎么输入,这里采用弹出来一个框
            "description": "Please input the file name: ",
            "default": "tmp" // 如果直径按回车,默认main.cpp
        }
    ],
}

至于具体是什么含义,可以看我的参考链接部分,他说的很详尽了,我就不赘述了。qwq

好的,至此,我们现在就是可以,ctrl+shift+b执行代码,ctrl+shift+n 完成一坨操作了!

References

posted @ 2025-04-16 16:19  不爱喝橙子汁的橙子  阅读(60)  评论(0)    收藏  举报