vscode c++ 快捷键_使用VScode打Codeforces的提高效率小技巧

e0ff374389568e3a0ee03b114b137721.png

更新

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

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


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

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

Documentation for Visual Studio Code​code.visualstudio.com
b117a67a24a4862804a5af32b1f19db7.png
VScode中文文档​jeasonstudio.gitbooks.io

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

在VSCode内编译运行C++​blog.csdn.net

编译调试环境

  1. 在vscode的扩展商店中,搜索"C/C++",安装微软官方的C/C++扩展。

9e3a54fcbb91fee70c35dbcf2d7da109.png

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

fb495ba5bb0e047dc0c23849795634c8.png

eaf18f48ac49ab9780148b8a36a8b83f.png

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

261c28ddb9b59aa4b293645c87cc478f.png

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中一样,使用断点,单步调试,查看变量,添加监视,查看调用栈。

备注:

  • 在vscode中,一个文件夹就是一个项目,如果想要实现编译等功能,必须在一个文件夹中配置好这个项目环境才行,如果在其他地方敲cpp,则无法在vscode中进行自动编译。其中,项目中的 .vscode 文件就是这个项目的各种环境配置。
  • tasks.json文件,可以理解为vscode自动在后台打开一个命令行,执行了类似如下的编译文件的命令:
g++ filename.cpp -o filename.exe
gcc filename.c -o filename.exe

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

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

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


集成终端

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

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

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

"terminal.integrated.shell.windows": "C:WINDOWSSystem32cmd.exe",

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

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


代码片段

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

类似如下设置:

{
   

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

2b0d5561bfb8299f0ee2f880f0bde64e.png

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

简要的配置方法

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

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

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

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

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

核心功能:

  1. 自动从模板中创建一个比赛文件夹
  2. 快速打开一个比赛文件夹
  3. 文件输入测试
  4. 自动交题

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

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

icpc init 547 -cf
init 547 -cf

更多内容见 Github 仓库:

yjl9903/icpc-cli​github.com
30c0b80ca8a9c780ca0dd586284a500a.png

文件目录说明

  • .vscode:vscode 调试环境配置
  • attempt:写挂的,打的暴力,打表程序等等
  • debug:输出的二进制可执行文件位置
  • input:
    • in.txt:默认输入文件
    • out.txt:默认输出文件
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值