问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用VScode打Codeforces的提高效率小技巧

发布网友 发布时间:2024-10-04 23:22

我来回答

1个回答

热心网友 时间:2024-10-05 11:10

原题为刷 OJ,现在改成了打 Codeforces,还是分享个人平时打 cf 的环境配置(顺便安利自己写的 cli 工具。

由于不知道什么时候 vscode 进行了更新,之前 0.1.0 版本的 tasks.json 会有警告,修改了一下之前的配置。

众所周知,vscode是目前一款非常优秀的轻量级文本编辑器,虽然集成了很多功能,但是由于需要配置环境,没有中文文档等问题,可能很多人并没有很好发挥它的强大功能。

后面内容的详细情况可以参考下面两个文档:

编译环境配置具体也可以参考(当时找了半天怎么没发现这个Orz):

编译调试环境

2. 下载MinGW,安装完成后,打开 MinGW Installation Manager,选择gcc(C编译器),g++(C++编译器),gdb(调试器),下载安装。

3. 配置gcc,g++的系统环境变量。配置完成后,打开cmd输入指令后显示如下内容。

4. 新建一个文件夹(可以视为一个项目),用 vscode 打开,随便敲一个 Hello World。按快捷键 ctrl + shift + p 打开 vscode 的命令行,输入 tasks,选择配置任务(Configure Task),选择其他,这时会自动生成并打开一个 tasks.json 的任务配置文件。

备注:在 VS Code 的新版本中,已经不需要复制粘贴以下的配置内容了,在 VS Code 的命令行内输入 Tasks: Configure Default Build Task 即可自动生成一个配置文件。

将文件做如下修改:

配置完成后,打开刚才写好的cpp,按快捷键 ctrl + shift + B,即可编译你当前文件,并生成对应的exe可执行文件。

这时,环境还没有调试功能,继续打开写好的cpp,选择左侧调试里面的小齿轮,配置 launch.json,选择C++(GDB/LLDB),这时又自动生成了一个 launch.json 文件,如下修改:

在新版本中,同样也是只需要使用自动生成的默认配置文件即可。

配置完成后,按F5,就可以自动编译cpp并打开,你也可以像visual studio中一样,使用断点,单步调试,查看变量,添加监视,查看调用栈。

备注:你也可以打开cmd,输入这个命令,就可以编译当前文件下的filename,生成filename.exe。

如果你的编译遇到错误,problemMatcher会自动根据输出的错误信息,利用正则表达式处理后,显示在vscode上。

tasks.json和launch.json文件中,会自动获取当前文件夹的位置以及正在处理文件名称,通过变量${file}(文件名称), ${fileBasenameNoExtension}(无拓展名的文件名称), ${workspaceRoot}(工作文件夹位置)。

集成终端

在vscode中,可使用快捷键 ctrl + ` ,会自动在当前位置打开一个cmd(shell)。

win10下,如果不习惯使用 powershell,可以在设置中将集成终端改为 cmd。

点击左下角的小齿轮,打开设置,在右边的个人配置中输入:

这样就可以直接在vscode中,运行你的代码,进行调试。

我们也可以编写bat使用 filename.exe out.txt,将输入输出重新定向,便于样例测试,或者进行对拍等。

代码片段

打开左下角的小齿轮,点击用户代码片段,选择 C++,建立一个 cpp.json 配置文件。

类似如下设置:

配置完成后,新建一个cpp,只需要输入acm,代码补全会自动提示刚才设置的代码片段,按回车即可自动生成如下代码:

除此以外,代码生成完成后,光标会自动停留在maxn后,等待你修改1000的值,修改完成后按 Tab 光标会自动移动到下一个位置,我的设置是下一个输入全局变量(第8行),再按一次 Tab 光标跳转到主程序中。

简要的配置方法

你可以添加多个并列的代码片段,类似于上例,"ACM-Model" 代表该代码片段的名称。

prefix 代表需要匹配的前缀,这里是,输入 acm 代码补全就会显示这个片段候选。

body 代表你要输入的代码,其中 ${1:1000},1代表光标第一个移动到这里,1000为默认值;$2,代表 Tab 后光标第二个移动到这里。以此类推,特别地,$0 为最后一个到达的位置。

这样,大家就可以根据自己需要配置各种算法模板了。

icpc-cli:Codeforces 比赛命令行工具

核心功能:

首次使用时,新建一个全局文件夹,并在其中建立名为 Codeforces 的文件夹,在 config.py 内设置好,安装即可。

开始比赛前,输入以下一个指令,即可在全局文件夹中 Codeforces 目录下新建名为 547 的比赛文件夹,并自动进入(需要添加 vs code 到环境变量内)

更多内容见 Github 仓库:

文件目录说明
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 配置vscode代理 解决huggingface无法下载数据问题 这台电脑的配置适合装win7系统吗?对于这台电脑是装32位的还是64位的好... 请问我这配置的电脑装win7系统32和64位,哪个好? Windows:vscode、cmake环境配置,cmake入门教程 用“我爱你一生一世芷欣” 为题做一首藏头诗 威力BC-96M2重要参数 帮写表白藏头诗 求以“生死相伴”作藏头诗,谢谢。 迎春花种植时间 迎春花适合什么季节种植 我是一名中专生在卫校就读怎么样写入团申请书,不是班干部,学习... 谁给我写个藏头诗啊啊 啊,,,内容是 新珂我爱你生生世世 哪位老师能帮我写首藏头诗(只爱英姿,今生无悔 )谢谢! 我是职业学校的学生,我想入团,学校要求写一份入团申请书,麻烦帮忙一... 求关于某某我爱你的藏头诗 我爱干泠 一个圆柱形玻璃杯内侧的底面积是72平方厘米,杯中装有一些水,水面高4厘 ... 一个长方体容器中的水面高2.5cm,容器内的底面积是72平方厘米,在这个容 ... 我的苹果平板忘记开机密码了 ...在里面放人一个棱长是6厘米的正方体铁块,水刚好淹没 职位归类因素 急!!!我计算机二级拿准考证的那个单子不见了,应该怎么办啊?_百度知 ... 惠普pavilion g4-1058tx笔记本cmos密码忘记了怎么办 餐厅应该具备哪些东西 自助餐厅需要哪些设备 如果计算机考试的准考证丢拉能拿到证书吗? 怎么进入192.168.1.1的设置页面? ...计算机二级没过,这次补考报名需要上次的准考证可找不到了!还能报名... 惠普pavilion g4的一键恢复系统怎么做,怎么按f11不起作用???请教大神... 冒菜店需要哪些设备 有没有人做过微信对讲机录音功能啊? 南京华罡通讯科技有限公司业务范围 全国计算机二级考试查询,准考证丢了 餐饮店需要哪些用品 新手怎样打理空气刘海? 我是摩羯座的女生,我的中文名是liuxi 请哪位大师帮我想一个英文名 空气刘海该如何打理? 删了对方qq, 如何在他不知情的情况下知道他是否把我也删了..我是qq2... 华为mt1-u06 能插移动卡吗? 如何知道对方是否把自己拉黑删除?要在对方不知情的情况下 如何查看自己手机是否被监视器