让Visual Studio Code成为你的日常编辑器(二)
上一篇文章我介绍VS Code 的简单配置,这篇来点认真的。
作为一个编辑器,我们当然是要拿来写代码了,VS Code支持很多语言文件的编辑的同时,也能通过一些简单的配置,使它支持简单的语言调试。As follows.
C/C++
首先我们需要安装下面这款专门针对C/C++环境的扩展。
C/C++语言编辑调试扩展
这个扩展比较大,下载会有段时间,请耐心等待...
重新加载VS Code后关于调试的提示
项目文件夹
想要对一个项目/文件进行调试,必须用VS Code 打开项目文件夹,或者叫打开包含项目的文件夹,只有在文件夹中才能使用调试功能,也就是说,不能打开一个源代码文件开始调试。
如果你要调试一个代码文件,请把这个文件放到一个文件夹里,用VS Code的打开文件夹功能加载项目进行调试。
用打开文件夹功能打开以后,会在项目文件夹下多出一个.vscode
文件夹,里面会包含一些对这个项目的配置文件。
打开以后大约是这个样子
VS Code资源管理器
好了,要调试的话编译器是肯定少不了的,目前Windows下只支持Cygwin和MinGW,这里我们用MinGW 从这里下载安装器 http://www.mingw.org/,点进去右上角有个Download Installer,就是他。打开安装。
MinGW安装器选择一个安装目录后继续即可,由于众所周知的原因,可能会遇到一点问题,相信你能解决。
MinGW安装管理器下载完成进入安装管理器,在All Packages-MinGW-MinGW Base System下面找到
mingw32-gcc
和mingw32-gcc-g++
右键 mark for installation,选上这两项,有依赖项目也会自动标记。选择安装包
然后为了能够调试我们需要标记
mingw32-gdb
标记gdb
然后在这里确认选择,下载。为了能顺利完成安装,请保证自己的网络条件良好。
应用更改
下载完成后,把你的MinGW\bin目录追加到系统PATH环境变量下,我的路径是C:\MinGW\bin。
确保能在命令行下输入gcc回车能有输出。
添加环境变量
完成之后重新打开项目文件夹,编写代码进行测试。选择调试选项。
进入调试
选择GDB作为调试环境。
调试环境
然后会出现一个配置文件。
Paste_Image.png将内容替换为如下代码,保存。
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64
"program": "${file}.exe", // 将要进行调试的程序的路径
"miDebuggerPath":"c:\\MinGW\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"preLaunchTask": "g++" // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
}
]
}
注意
miDebugger的路径,注意这里要与MinGw的路径对应
切换到我们的代码文件,按F5进入调试,选择配置任务运行程序。
配置任务运行程序
这里随便选择一个任务,我选了最后一个。
然后会出现一个
task.json
配置文件,同样地,将内容替换为如下代码
{
"version": "0.1.0",
"command": "g++",
"args": ["-g","${file}","-o","${file}.exe"], // gcc编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
完成之后,保存。回到代码文件,按F5,如果你的代码没有问题的话,出现黑框框就完成啦。
具体的调试可以在代码里设置断点,进行单步调试,类似下面。
python
第一步当然是去https://www.python.org/下载了,安装时注意勾选添加的PATH环境变量。
在VS Code里安装Python的插件
新建一个py文件,写一点测试代码,按F5 选择python环境
然后又会出来一个配置文件,其实只要保存一下这个配置文件,回到代码文件,再按F5就能直接调试了。
如果你需要直接运行,那么只要按ctrl
+shift
+B
,然后出来一个tasks.json
文件,把里面的内容替换为如下代码
{
"version": "0.1.0",
"command": "python",
"isShellCommand": true,
"args": ["${file}"],
"showOutput": "always"
}
我们再来研究一下launch.json
这个配置文件,这个json文件的配置其实是调试的不同选项,默认我们选的是Python,但是这个调试选项有一个缺点,如果你的程序里用到了输入,那么你会发现你没有地方输入。只有在控制台中才能输入,这个时候我们就要用到调试选项中的External Terminal/Console
这个选项了,直接选这个选项调试你会发现出现错误????
我们需要研究一下这个配置文件,由于里面代码太多,我只列出了两项,大家对比一下。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config.python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
},
{
"name": "External Terminal/Console",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config.python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",//注意这里,默认是null所以不能调试,改成${workspaceRoot}当前工作目录
"console": "externalTerminal",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit"
]
}
]
}
别的调试选项大家也可以试试看。
.Net Core
如果你安装了.Net Core
的话,你就已经有了C#的编译器了。还没有装的话可以在https://www.microsoft.com/net/core#windowsvs2015下载
还要在VS Code中编写调试C#代码首先还是安装一个C#的插件。
重新打开以后需要一段时间下载调试器,耐心等待,保持网络良好。
两布完成以后,你可是试着打开命令行,输入
dotnet
,如果有输出说明安装成功。新建一个目录,输入
dotnet new
新建一个.net core 项目,输入dotnet restore
还原一些可能的引用和依赖后,执行dotnet run
运行项目,可以看到默认项目hello world的输出。我们用VS Code打开刚才新建的项目,会出现提示 提示
点击Yes,自动为我们配置好tasks.json和launch.json文件,再次回到代码文件,F5直接运行,可以看到输出。
另外,VS Code 可以内联命令提示符,快捷键是Ctrl
+.
就和Windows的控制台是一样的,还长的好看一点,可以直接在里面操作,对.net core项目的retore就不用再开一个控制台了。