欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VScode远程Linux开发C/C++

程序员文章站 2022-04-02 23:01:22
...


VScode远程Linux开发C/C++

Linux服务端

安装openssh-server

sudo apt-get install openssh-server

openssh-server配置

  • 使用ssh localhost命令,生成下.ssh目录
ssh localhost
  • 使用ssh-****** -t rsa生成秘钥对
ssh-****** -t rsa

Windows开发端

安装open-ssh

open-ssh官方下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases

open-ssh配置

  • 在powershell(或gitbash)命令行中输入,生成私钥和公钥,默认路径在C:\Users\Administrator.ssh
ssh-****** -t rsa
  • 将id_rsa_pub传到Linux服务器的/root/.ssh文件夹下
scp /path/filename [username]@[ip address]:/path
#示例
scp id_rsa.pub aaa@qq.com:/root/.ssh
#或直接拷贝
  • 在Linux服务器,将id_rsa_pub改为authorized_keys并设置权限为600
mv id_rsa.pub authorized_keys
chmod 600 authorized_keys

vscode安装插件

  • Remote Development
    VScode远程Linux开发C/C++
  • Remote Development配置(或使用下面修改默认配置进行配置)
  1. 点击VSCode侧边栏的小屏幕标志再点击齿轮配置你的远程信息
    VScode远程Linux开发C/C++
  2. 选择第一个设置,也可以自己另选配置项
    VScode远程Linux开发C/C++
  3. 配置,Host 显示在连接选项中的名字,HostName 你的ssh服务器的地址,User 你登录ssh时的用户名
    VScode远程Linux开发C/C++
  • Remote SSH
    VScode远程Linux开发C/C++

修改默认配置

  1. 一定要修改默认的配置文件,比如D:\zk\.ssh\config
  2. 因为默认使用的为:c盘.ssh下的config文件,会和Powershell的冲突(有解决办法,但是麻烦)
    VScode远程Linux开发C/C++

vscode链接

  • 使用 Ctrl shift + p,输入remote-ssh
    VScode远程Linux开发C/C++
  • 选择add new ssh host或者configure ssh hosts
    VScode远程Linux开发C/C++
  • 点击configure ssh hosts后,选择新建的文件夹(如D:\zk\.ssh\config),就是最开始配置的新的配置文件
Host 自定义别名
 HostName IP地址
 User root
  • 右键就可以连接
    VScode远程Linux开发C/C++

远程调试运行C/C++代码

Linux端

  • 安装gcc/g++编译器
  • 安装交叉编译器

Windows端

vscode安装插件

  • C/C++
  • Code Runner
  • Chinese

通过vscode安装插件到Linux中

  • Linux端无需安装VScode安装插件方法
    VScode远程Linux开发C/C++

  • 安装后
    VScode远程Linux开发C/C++

创建tasks.json文件

  • 从菜单栏选择Terminal>Configure Default Build Task, 在下拉栏里选择C/C++: g++ build active file. 这会生成tasks.json文件
    VScode远程Linux开发C/C++
  • 按需修改tasks.json文件
{
 "tasks": [
 {
  //编译源文件
  "type": "shell",
  "label": "g++ build active file",
  "command": "/usr/bin/g++",
  "args": [
  "-std=c++11", //C++版本, 可不加
  "-g",
  "${file}",
  "-o",
  "${fileDirname}/${fileBasenameNoExtension}"
  ],
  "options": {
  "cwd": "/usr/bin"
  },
  "problemMatcher": [
  "$gcc"
  ],
  "group": {
  "kind": "build",
  "isDefault": true
  }
 },
 { //删除二进制文件
  "type": "shell",
  "label": "delete output file",
  "command": "rm",
  "args": [
  "${fileDirname}/${fileBasenameNoExtension}"
  ],
  "presentation": {
  "reveal": "silent", //删除过程不切换终端(专注程序输出)
  }
 }
 ],
 "version": "2.0.0"
}

创建launch.json用于调试运行

  • 在菜单栏选择Debug>Add Configuration, 选择C++ (GDB/LLDB), 在下拉栏中选择g++ build and debug active file
    VScode远程Linux开发C/C++
  • 按需修改launch.json文件
{
 "version": "0.2.0",
 "configurations": [
 {
 "name": "g++ build and debug active file",
 "type": "cppdbg",
 "request": "launch",
 "program": "${fileDirname}/${fileBasenameNoExtension}",
 "args": [],
 "stopAtEntry": false,
 "cwd": "${workspaceFolder}",
 "environment": [],
 "externalConsole": false,
 "MIMode": "gdb",
 "setupCommands": [
  {
  "description": "Enable pretty-printing for gdb",
  "text": "-enable-pretty-printing",
  "ignoreFailures": true
  }
 ],
 "preLaunchTask": "g++ build active file",
 "postDebugTask": "delete output file",
 "miDebuggerPath": "/usr/bin/gdb"
 }
 ]
 }
  1. 这里“preLaunchTask”调用tasks.json文件里定义的“g++ build and debug active file”任务
  2. “postDebugTask”调用“delete output file”任务用来在程序运行结束后删除二进制文件

调试和运行

调试F5, 不调试直接运行Cltr+F5

相关标签: VScode