vs code 调试远程代码

本文介绍了Visual Studio Code Remote - SSH的使用。它可打开远程计算机或容器中的文件,本地无需代码也能运行。文中涵盖入门步骤,包括本机和远程主机的安装、扩展安装,还介绍了连接远程主机的配置、用户名密码连接和密钥连接方式,以及插件安装和远程主机命令行使用等内容。
摘要由CSDN通过智能技术生成

简介

Visual Studio Code Remote - SSH 可以打开远程计算机或容器中的文件(计算机或容器中需要运行 SSH Server),而且可已充分利用 VS Code 的一切特性.一旦连接上服务器,可以与任意位置的文件进行交 由于 Remote-SSH 扩展运行命令行和其他扩展是在远程主机上,因此本地不需要代码,就可以正常运行.
Remote-SSH示意图

入门

  1. 确保本机已经安装 VS CODE
  2. 确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server
  3. 为本机 VS CODE 安装 Remote Development 扩展

连接远程主机

连接配置

Ctrl + Shift + p 输入 Configure SSH Hosts... 回车,设置远程主机信息,配置信息如下

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host oa-online
    HostName 远程主机Ip
    User root 
  • Host 远程主机名称
  • HostName 远程主机IP
  • User 连接用户名

用户名密码连接

在配置文件 settings.json 加入 "remote.SSH.showLoginTerminal": true
Ctrl + Shift + p 输入 Remote-SSH:Connect to Host... 回车, 选择配置的远程主机,在命令行处输入远程主机密码,即可连接远程主机
此方式会导致每次都需要输入密码,相对来说比较麻烦,推荐方式二(SSH 密钥连接)

密钥连接

检查 c盘->用户->自己的用户名->.ssh 是否有id_rsa id_rsa.pub文件,如果没用使用 ssh-keygen 命令生成密钥文件
id_rsa.pub 里的内容复制到远程主机的’~/.ssh/authorized_keys’ 文件中
Ctrl + Shift + p 输入 Remote-SSH:Connect to Host... 回车, 选择配置的远程主机,在命令行处输入远程主机密码,即可连接远程主机.

插件安装

VS Code 支持安装插件到远程主机,以增加远程代码调试的流畅性. VS Code 支持两种方式安装插件到远程主机

  1. 同步本地已安装插件到远程主机
  2. 搜索插件直接安装到远程主机

需要注意安装插件到远程主机,需要在与远程主机建立好连接后,才可以进行远程主机插件的安装
搜索插件安装到远程主机
安装插件到远程主机
同步本地插件到远程主机
同步本地插件到远程主机
本地插件列表及远程主机插件列表
本地插件列表及远程主机插件列表

远程主机命令行使用

Ctrl + ~ 打开终端窗口,点 + 新建一个
VS Code 连接到远程主机后,就可以直接使用终端窗口在远程主机上执行终端命令

总结

随着 Remote Development 插件的上线标志者远程开发的时代到来,通过一些简单的了解 VS Code 对远程开发的实现已经是一个比较完善的阶段, 对于一个 VS Code 的重度使用者来说, 这也将一定程度减少对XshellXFTP 的依赖.
目前 Remote Development 还不支持 32 位系统, 据官方信息应该在很快的版本更新中就可以添加对 32 为远程主机的支持,期待 VS Code 将此功能越做越好.

参考连接

VS Code Remote Developmen
Remote Development using SSH
博客地址

### 中断远程服务器上代码调试的方法 当在VS Code中进行远程服务器上的代码调试时,可以采用多种方法来安全地中止或暂停当前正在执行的程序。以下是几种常见的方式: #### 使用快捷键停止调试会话 按下 `Ctrl + C` 可以向运行中的进程发送SIGINT信号,在命令行环境中这通常用于终止一个前台任务。然而对于集成开发环境如VS Code来说,更推荐使用组合键 `Shift + F5` 来结束当前激活的调试器并返回到编辑模式[^1]。 #### 调试控制面板操作 通过点击位于窗口顶部中央位置附近的红色方块按钮(即“Stop Debugging”),也可以立即停止正在进行的任何调试活动。此动作将会关闭所有由该次调试启动起来的服务实例,并清理掉与此有关联的各种资源占用情况。 #### 断点设置与管理 如果希望只是临时挂起而不是完全退出,则可以在适当的地方添加新的断点;一旦命中这些特殊标记处就会自动进入单步跟踪状态以便进一步分析问题所在之处而不必重新开始整个流程。另外还可以利用条件表达式指定仅满足特定条件下才会触发中断的行为。 ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/main.out", "args": [], "stopAtEntry": false, "breakpoints": [{ "file": "${workspaceFolder}/src/main.cpp", "line": 10 }] } ] } ``` 上述JSON配置展示了如何定义一个C++项目下的启动项,并指定了源文件路径以及初始停靠的位置作为第一个断点。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值