admin管理员组文章数量:1655036
Windows 10 Creator Update 下的VSCode 支持 WSL *了!( 2019 本文已过时 )
2019年时, 根据微软发布的 WSL2 和 VSCode 最新版以及 VSCode 的 WSL 插件, 此方法不够最新的微软官方提供的插件来得直接简单( 但或许还有某些参考价值故保留 ).过阵子我会记录一篇 1903 版本 Windows 10 的可用教程
*本文参考链接(基础2):GitHub
*WSL是 Windows 10 下 的一项功能,全称Window Subsystem for Linux
你要提前准备的内容(粗体重要)
- Windows 10 带有 Creator Update(即创意者更新)
- WSL(Windows Subsystem for Linux)(即 Bash on Windows)
- VSCode 带有 C/C++ 工具扩展(ms-vscode.cpptools)
- 阅读 一般的 VSCode 搭载 C/C++ 编程环境的教程(*nix或Win)(基础1)
- 阅读 本文参考链接并复制+粘贴(+修改)好 launch.json 文件
*步骤5依赖于步骤4
一. launch.json 的修改
原内容
"program": “/mnt/z/Bash/kitchensink/a.out",
修改
"program": 【要生成可执行文件目录在bash中的目录】/${fileBasenameNoExtension}.out",
解释:${fileBasenameNoExtension} 是说明让VSCode获取当前文件不带扩展名的文件名,另外"sourceFileMap” 和 “cwd” 的目录内容也请 按实况修改!
二. 写一个 gcc.bat
方法是在你的可执行文件目录里面新建一个新建文本文档.txt改为gcc.bat,右键编辑
bash -c "gcc -g 【源代码目录在bash中的目录】%1 -o 【要生成可执行文件目录在bash中的目录】%2"
解释:这是为了在VSCode里面通过cmd调用bash调用gcc,目前我只想到这个办法。%1指下面task.json给bat输入的参数(源代码和输出文件),其实可以不在bat中写目录,可以让task.json传参数,可以自行修改。
三.改task.json
关于task.json是什么,怎么创建,可以在你要提前准备的内容步骤4中看到。
//这是task.json的全部内容
{
"version": "0.1.0",
"tasks": [
{
"taskName": "gcc",
"command":"【gcc.bat在win下的位置,这里用/或\\】/gcc.bat",
"args": [
"${fileBasenameNoExtension}.c",
"${fileBasenameNoExtension}.out"
],
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceRoot}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
至此 VSCode 的连接 Bash 工作完成!##
可以调试了!
问题
通过这个生成的可执行文件名是什么?
- [ 源文件去掉.c然后加上.out(如hello.out)]
[要生成可执行文件目录在bash中的目录]是什么?
- [看你想把xx.out放哪里,一般和源文件放一起就行了(如/mnt/z/Bash/kitchensink)注意c盘要写/mnt/c,而且要区分大小写!!!]
[源代码目录在bash中的目录】是什么?
- [你的xx.c文件的所在之处,比如我有一个helloworld程序在c:\Hello文件夹里面,要写为/mnt/c/Hello]
[gcc.bat在win下的位置,这里用/或\】是什么?
- [建议和可执行文件放一起或者另外找一个特定目录防止误删]
版权声明:本文标题:在Windows 10 中用 Bash on Windows(WSL) 给 VSCode 搭建 编译调试 CC++ 环境 (本文已过时) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729690470a1210114.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论