c - 尝试在 Visual Studio Code 上实现 C 代码时的一些问题
问题描述
我最近开始使用 C/C++ 进行一些编程。我使用的是 Dev-C++,今天我改用 Visual Studio Code,因为以后我也需要使用其他编程语言,如 Python、R 等。我成功安装了它,并添加了 C/C++ 和代码的扩展亚军。虽然当我尝试运行以下两个基本程序时遇到了一些问题:
#include <stdio.h>
int main(void){
printf("hello world\n");
return 0;
}
和
#include <stdio.h>
int main(void){
int x;
printf("Give a number: ");
scanf("%d",&x);
printf("Your number is: %d\n",x);
return 0;
}
在第一个程序中,我在 VS 代码的集成终端中得到以下输出:
我的第一个问题是外观问题,如何删除“hello world”输出上方显示的路径?另外,请注意我在终端选项上,如果我切换到输出选项,那里没有显示任何内容,尽管我在一些教程中看到他们可以在比终端更简约的输出选项中显示结果,此外,它还显示程序的运行时间,这是一个不错的功能。
在第二个程序中,当我按下运行代码按钮时,它首先打开我的 cmd 并要求提供一个数字,在我提供数字并按 Enter 之后,我也可以在 VS 的集成终端中输入所要求的数字并获得结果。反正有没有超越我的cmd?即只在VS中运行程序而不通过cmd运行它?请注意,我已经在代码运行器扩展的设置中选中了“在终端中运行”选项。
提前致谢!
解决方案
所以我相信你在 Windows 上,简单地安装扩展不会有帮助,还有几个步骤。
您将创建一个 tasks.json 文件来告诉 VS Code 如何构建(编译)程序。此任务将调用 g++ 编译器以基于源代码创建可执行文件。
从主菜单中,选择终端 > 配置默认构建任务。在下拉列表中,将显示一个任务下拉列表,其中列出了 C++ 编译器的各种预定义构建任务。选择 g++.exe build active file,它将构建当前在编辑器中显示(活动)的文件。
这将在 .vscode 文件夹中创建一个 tasks.json 文件并在编辑器中打开它。
您的新 tasks.json 文件应该类似于下面的 JSON:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build active file",
"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
"args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe"],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
要运行 tasks.json 中定义的构建任务,请按Ctrl+ Shift+B或从终端主菜单中选择运行构建任务。您可以通过键入 .exe(或 .<your program name.exe,如果您使用 PowerShell 终端)在终端中运行您的程序。
推荐阅读
- java - 如何更改 Java 中的分隔符?
- php - 无法访问我的 Symfony 控制器 @Route
- python - Telegram bot 未从 webhook 获取更新
- java - 有人请解释Java代码语法中的收缩
- node.js - 在多个浏览器上运行 javascript 测试
- tsql - 在 T-SQL 中强制执行不区分大小写的列引用
- angularjs - 错误:[$controller:ctrlreg] Angular 控制器未注册
- javascript - 如何测试一个用笑话和酶调用其他两个函数的函数
- javascript - 对于表单提交按钮,是否可以在发送到 app.js(Nodejs)之前使用一些客户端 javascript 编辑表单输入
- system.reactive - ReactiveUI - 为 IReactiveDerivedList 创建一个“IsReseting” Observable