赞
踩
关键词:
VSCode、Docker、remote-ssh、remote-development
摘 要:
介绍在Windows侧使用Visual Studio Code工具几种场景下的调试方法,语言为C++/C。
下载地址:官方地址
本文以Windows环境为例,推荐大家下载.zip的版本,使用VSCode工具的老用户,可能会发现使用安装版本的VSCode其默认安装的插件以及用户数据目录都在系统盘,这样长时间使用就会导致系统盘空间被大量占用,虽然可以通过修改快捷方式的运行参数来指定相应的目录,但是也经常会发生在VSCode升级后,这些数据会莫名消失,本人经历过几次,不堪忍受其苦。
. zip的安装非常简单,你可以理解为绿色版或者便携版,直接解压即可使用,但为了真正达到便携的目的,可在VSCode根目录手动创建data文件夹,这样用户数据与插件都存放在这个目录下面了,后续VSCode版本升级,直接把data拷到新版本对应目录即可,非常的方便。
另外,便携版本没有右键支持功能,借鉴网上资源修改注册表脚本如下:
@ECHO OFF PUSHD %~DP0 TITLE VSCode Md "%WinDir%\System32\test_permissions" 2>NUL||(Echo 请使用右键管理员身份运行&&Pause >NUL&&Exit) Rd "%WinDir%\System32\test_permissions" 2>NUL SetLocal EnableDelayedExpansion SET /P ST=输入a添加右键菜单,输入d删除右键菜单: if /I "%ST%"=="a" goto :Add if /I "%ST%"=="d" goto :Remove :Add echo "开始添加右键菜单..." reg add "HKEY_CLASSES_ROOT\*\shell\VSCode" /t REG_SZ /v "" /d "&VSCode" /f reg add "HKEY_CLASSES_ROOT\*\shell\VSCode" /t REG_EXPAND_SZ /v "Icon" /d "%~dp0Code.exe" /f reg add "HKEY_CLASSES_ROOT\*\shell\VSCode\command" /t REG_SZ /v "" /d "%~dp0Code.exe \"%%1\"" /f echo "添加右键菜单结束" exit :Remove reg delete "HKEY_CLASSES_ROOT\*\shell\VSCode" /f exit
可以复制上述脚本保存.bat文件中,并存放于VSCode根目录,注意bat脚本命名,不要尝试使用reg.bat这样的命名试,否则会出现惊奇的效果。然后使用管理员方式运行脚本,根据提示操作即可。
在vscode左侧找到插件库,安装 c/c++ 插件
创建如下图所示的目录以及代码文件,代码内容如下所示:
#include <iostream>
int main()
{
std::cout << "vscode debug test" << std::endl;
return 0;
}
启动需要使用Visual Studio 2017中“开发人员命令行工具”,并使用该工具启动VSCode如下图:
然后执行菜单[Run]->[Add Configuration],选择c++(Windows),然后再点击cl.exe,如下图所示:
此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
大部分操作同上,选择调试工具时有所不同,如下图所示:
在vscode左侧找到插件库,安装 Docker 插件
官方下载地址
注意:安装系统要求Windows10专业版本以上版本,并要求开启Hyper-V服务功能。
docker run -dit --init --privileged -v f:/WorkSpace/vscode/:/workspace 10.67.43.10/aias/devel-nvidia-cuda110-ubuntu1804:0.4
启动VSCode,就可以在左侧Docker插件中看到本地启动的docker容器,并右键该容器选择“Attach Visual Studio Code”,如下图:
2. 容器内安装插件C/C++,在线无法安装,可选择离线安装方式,下载地址,将离线包拷贝到容器挂载的本地目录中,VSCode左侧找到插件库,点击“…”选择“Install from VSIX…”,然后再选择离线包就可以安装了,如下图:
3. 然后执行菜单[Run]->[Add Configuration],选择c++(GDB/LLDB),再选择相应的编译器版本就可以了,如下图所示:
4. 此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
使用VSCode安装C/C++插件至远程宿主机,选择离线安装方式,下载地址,将离线包拷贝到远程宿主机,VSCode左侧找到插件库,点击“…”选择“Install from VSIX…”,然后再选择离线包就可以安装了,如下图:
远程宿主机需要安装gcc/g++/gdb环境
VSCode左侧找到remote-ssh插件进行安装,同时其配置文件路径最好自己指定位置,使用默认位置可能出现奇怪的错误,如下图:
2. 然后执行菜单[Run]->[Add Configuration],选择c++(GDB/LLDB),再选择相应的编译器版本就可以了,如下图所示:
3. 此时会在.vscode目录生成launch.json、tasks.json两个文件,不用修改,直接F5就可以进行代码调试了,如下图所示:
在vscode左侧找到插件库,安装 Docker 、Remote Development插件,然后VSCode里配置远程docker容器所在的宿主机参数docker.host,如下图:
ssh-keygen -t rsa
无视它出来的任何提示,欢快的一路回车到底吧。
2. 把公钥 id_rsa.pub 复制到远程机器的 /home/username/.ssh目录 并命名为 authorized_keys
方法1: 一步到位:scp ~/.ssh/id_rsa.pub username@hostname:~/.ssh/authorized_keys
方法2: 复制 scp ~/.ssh/id_rsa.pub username@hostname:~
登陆 ssh username@hostname
追加 cat id_rsa.pub >> .ssh/authorized_keys
docker run -dit --init --privileged -v /home/jianhongwei/vscode/:/workspace 10.67.43.10/aias/devel-nvidia-cuda110-ubuntu1804:0.4
启动VSCode,就可以在左侧Docker插件中看到本地启动的docker容器,并右键该容器选择“Attach Visual Studio Code”,如下图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。