Visual Studio Code是微软发布的一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Windows、Mac 及 Linux。
个人建议:对于刚刚接触编程,建议选择IDE作为学习C语言的编程工具。我之前专门写过一篇博客,介绍初学C语言因选择IDE还是文本编辑器。
学习C语言选用IDE还是文本编辑器
Visual Studio Code只是一款文本编辑器,在其上仅能编辑代码,不具备对代码进行编译、构建和生成可执行的应用程序的功能,为此欲用Visual Studio Code开发C程序,就必须安装一个编译器。
我们选择Mingw-w64来搭建C程序开发环境。
关于Mingw-64的介绍和环境搭建,可以查看这一篇博客。
通过MinGW64讲解C语言是如何在计算机中运行的
下载和安装Visual Studio Code可点击下方链接。
下载链接
根据Windows操作系统的位数,下载相应的安装程序,在这里我们点击“System Installer 64 bit”,即可下载Visual Studio Code的系统版64位的安装程序。
打开Visual Studio Code,点击左面竖排第五个按钮,搜索并安装如下插件。
注:Chinese(simplified)如果想用英文版Visual Studio Code,就不要安装此插件
在桌面创建一个文件夹C(可以是别的文件名),将文件夹拖进vs code桌面图标运行;
也可以在vs code “文件”菜单选择“打开文件夹”
此时在Visual Studio Code侧边栏“资源管理器”区域内就显示我们刚才打开的文件夹。将鼠标悬停在侧边栏空白处。
我们新建一个“hello.c”的C文件
输入一下代码
#include
int main()
{
printf ("Hello, World!\n");
return 0;
}
使用快捷键 Ctrl + · 弹出vs code 终端
可以直接使用code runner插件一键运行。也可以使用GCC的命令运行。
GCC命令见我以前写的博客
通过MinGW64讲解C语言是如何在计算机中运行的
然而,vs code 作为高级的文本编辑器。功能不仅仅是运行这么简单。还有断点调试程序,查看变量堆栈情况。
复制下面launch.json代码
{
// Use IntelliSense to learn about possible attributes.
// 使用 IntelliSense 了解相关属性。
// Hover to view descriptions of existing attributes.
// 悬停以查看现有属性的描述。
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
}
]
}
复制下面tasks.json代码
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "gcc",
"command": "C:\\mingw64\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
]
},
{
"type": "shell",
"label": "gcc.exe build active file",
"command": "C:\\mingw64\\bin\\gcc.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\mingw64\\bin"
}
}
]
}
同时注意修改代代码几个路径和你电脑安装mingw64路径一致
这是按下调试快捷键F5,运行结果与在终端显示相同。但是窗口快速的自动消失,用户无法看到窗口的显示结果。我们可以设置一个段断点。
为了解决在windows下运行C语言程序窗口自动退出的问题。有很多种解决办法。我使用的解决方法是:用操作系统的命令pause使运行暂停。原理和我上图的断点调试时一样的。
在C语言程序中调用操作系统的命令可使用
system("命令名");