VS code : 设置编译运行快捷键

VS code中没有编译运行的快捷按键,只能通过编写 tasks.json 实现。

一开始用的 launch.json 里的 (windows) launch 配置,设置调试开始前执行一个 task 任务,task 任务设置好 gcc 编译语句(或者 mingw32-make),后来发现个严重问题,这么做的话执行编译好的程序是在 VS code的内置调试控制台里的,然而内置调试控制台是不能输入数据的!!?

通过设置 "externalConsole": true 虽说可以通过弹出外部终端解决这个问题,但是弹出外部终端总是会卡一下,弹出个窗口也不好看。。2333

于是,如果不需要 gdb 调试程序,需要直接编译运行程序的话,写个编译+运行的 task 不就可以啦。

 

由于VS code 中的 task 一个任务只能写一个指令(只能填写一个 “command”),不过。。。在args里通过加分号就可以写很多条指令了。。。

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "COMPILER AND RUN",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileBasenameNoExtension}.exe",
                ";",
                "./${fileBasenameNoExtension}.exe"
            ],
            /*"command": "mingw32-make",
            "args": [
                "all",
                ";",
                "./${fileBasenameNoExtension}.exe"
            ],*/
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            },
            "problemMatcher": {
                "owner": "GCC COMPILER",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
                    "file": 1,
                    "location": 2,
                    "severity": 3,
                    "message": 4
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "COMPILER",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileBasenameNoExtension}.exe"
            ],
            /*"command": "mingw32-make",
            "args": [
                "all"
            ],*/
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            },
            "problemMatcher": {
                "owner": "GCC COMPILER",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
                    "file": 1,
                    "location": 2,
                    "severity": 3,
                    "message": 4
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

上面的 "COMPILER AND RUN" 任务用来编译+运行。下面的 "COMPILER" 可以用来给 gdb launch 调试前运行,只编译不运行。这样就可以快捷方便的在 VS code 内部集成终端上编译并运行了,可以正常输入,速度还很快~

按默认快捷键 CTRL + SHIFT + B 弹出可运行的任务列表,选中敲回车立即编译运行~ ~  ,多个文件编译可以改写 tasks 里的编译指令,也可以改成 mingw32-make 然后写 Makefile 。

 

END

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VSCode本身并不是一个编译器,而是一个代码编辑器。它支持各种编程语言的语法高亮、代码补全、调试等功能,但是它并不自带编译器。如果你想在VSCode编译运行代码,你需要安装相应编程语言的编译器,并且配置VSCode编译系统。 对于不同的编程语言,需要采用不同的编译器和编译系统。例如,对于C/C++语言,可以使用GCC或者Clang等编译器,并且可以配置VSCode的tasks.json文件来定义编译任务。对于Java语言,可以使用JDK来编译运行代码,并且可以通过VSCode的插件来实现编译运行功能。对于Python语言,可以使用Python解释器来执行代码,并且可以通过VSCode的Python插件来实现调试功能。 总之,VSCode并不是一个编译器,它需要结合相应的编程语言和编译器才能实现编译运行的功能。 ### 回答2: VScode 是一款轻量级、开源、跨平台的集成开发环境,具有丰富的扩展功能。它内置了编译系统,使得开发者在编辑代码的同时可以直接进行代码的编译运行,提高了开发效率。 VScode编译系统可以支持多种编程语言,如C、C++、Java、Python等。它通过集成编译器和调试器,使得开发者可以在同一个界面中完成代码编辑、编译和调试的工作。开发者只需配置好相应的插件和工具链,就可以在VScode中一键编译代码,并及时查看编译结果和错误提示。 VScode编译系统还支持自定义编译命令和参数,开发者可以根据自己的需要配置编译过程中的各种参数,例如编译选项、依赖库路径等。这样可以满足不同项目和开发需求的编译要求,并方便进行项目的构建和管理。 此外,VScode编译系统还具有丰富的调试功能,开发者可以通过在代码中设置断点、查看变量值和调用栈等来调试代码。VScode还提供了一些快捷键和命令,方便开发者快速进行调试操作。 总之,VScode编译系统为开发者提供了方便、快捷的编译和调试功能,极大地提高了开发效率。无论是小型项目还是复杂的多语言项目,开发者都可以通过VScode编译系统轻松地完成代码的编译和调试工作。 ### 回答3: VSCode是一种强大的源代码编辑器,支持多种编程语言和平台。虽然VSCode本身不是一个编译器,但它可以通过安装适当的插件来实现编译系统的功能。VSCode编译系统可以帮助开发者在编辑器中快速编译运行代码。 VSCode编译系统通常由两个部分组成:构建任务和调试器。构建任务是指将源代码转换为可执行文件或其他形式的代码的过程。可以使用VSCode提供的内置任务管理器来配置和运行构建任务。通过在.vscode文件夹中的tasks.json文件中指定构建命令和参数,开发者可以定义自己的构建任务。 调试器是另一个重要的组件,它允许开发者在VSCode中调试已编译的代码。VSCode支持各种调试器,包括Python、JavaScript、C++等。通过配置.vscode文件夹中的launch.json文件,开发者可以定义自己的调试器配置。一旦开发者启动调试器,他们就可以设置断点、单步执行代码并监视变量的值。 VSCode还提供了许多有用的扩展和插件,以增强编译系统的功能。例如,C/C++的插件可以通过配置文件(例如c_cpp_properties.json)来帮助识别和配置代码中使用的库和包含文件。此外,通过插件还可以通过在编辑器中显示编译错误和警告来提供实时反馈。 总之,VSCode是一个功能强大的源代码编辑器,可以通过适当的插件和配置来实现编译系统的功能。它提供了构建任务和调试器,还支持各种扩展和插件,可以帮助开发者更轻松地编译运行代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值