vscode连接远程Linux服务器

这篇具有很好参考价值的文章主要介绍了vscode连接远程Linux服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


记录一下vscode连接远程Linux服务器及免密登陆的基本操作,操作环境:
  1. 本地windows安装vscode
  2. 远程服务器存放代码和安装vscode-server

vscode通过commitid和vscode-server绑定,vscode编辑通过ssh调试远程服务器代码
vscode连接远程Linux服务器,其他,服务器,vscode,linux

一、环境安装

vscode和vscode-server在github项目如下:

 https://github.com/microsoft/vscode/tags
 https://github.com/coder/code-server/releases

1.1 下载vscode

vscode官网下载

1.2 下载vscode-sever

下载vscode-server的url需要和vscode客户端版本的commit-id对应。通过vscode面板的帮助->关于可以获取该信息:
vscode连接远程Linux服务器,其他,服务器,vscode,linux
vscode-server下载地址如下:

https://update.code.visualstudio.com/commit:${commit_id}/server-linux-arch/stable

其中commit_id是上面复制的提交id,而arch则是服务器的架构

由于我使用的服务器是x86架构的,所以下载的url如下:

https://update.code.visualstudio.com/commit:74f6148eb9ea00507ec113ec51c489d6ffb4b771/server-linux-x64/stable

如果是arm的话

https://update.code.visualstudio.com/commit:74f6148eb9ea00507ec113ec51c489d6ffb4b771/server-linux-arm64/stable

通过scp或者其他方式把下载的压缩包,放在服务器上
将它解压到~/.vscode-server/bin/${commit_id}目录下:
我这里用的root用户,~对应的/root
vscode连接远程Linux服务器,其他,服务器,vscode,linux

二、ssh链接

2.1 安装Remote-SSH

参考2.2 离线安装插件
vscode连接远程Linux服务器,其他,服务器,vscode,linux

2.2 设置vscode ssh

点击“远程资源管理” -> “设置” -> .ssh/config
vscode连接远程Linux服务器,其他,服务器,vscode,linux
vscode连接远程Linux服务器,其他,服务器,vscode,linux
配置.ssh\config文件如下"

Host 10.191.20.45
  HostName 10.191.20.45
  User root

  • Host:自己定义一个服务器的名字
  • HostName:服务器的IP地址
  • User:SSH登录名
  • Port:SSH连接的端口(更改过ssh端口则加上这一项)
  • IdentityFile:“私钥的文件路径”(配置了私钥则加上这一项)

点击保存,然后重启 VScode,或者点侧边栏 remote 的刷新按钮,这个时候 SSH 的列表里应该就会出现你需要连接的服务器了,在弹出的窗口依次选择Linux,Continue,然后输入你设置的用户名对应是用户密码,再按enter键,稍等一会就能连接成功。

vscode连接远程Linux服务器,其他,服务器,vscode,linux

2.3 设置免密登录

设置免密登录之后,每次登录就不用输入密码了

2.3.1 本地生成公私钥

打开cmd,输入

ssh-keygen

使用ssh-keygen命令生成公钥和私钥,如果执行命令前,已经存在公私钥文件,则会重新生成后进行覆盖。默认生成之后,在自己用户目录会生成 .ssh 文件夹,里面 id_rsa.pub是公钥,id_rsa是私钥。
vscode连接远程Linux服务器,其他,服务器,vscode,linux

2.3.2 服务器端添加公钥

服务器端添加私钥到authorized_keys

  1. 设置服务器端ssh

如果没有设置可以按以下方式设置

ssh-keygen -t rsa
  1. 将本机生成的rsa_id.pub公钥上传至服务器中

拷贝rsa_id.pub到服务器,然后将其 追加(cat命令) 写入到 /root/.ssh 目录下的authorized_keys文件中 (我这里使用的root用户,其他用户就在自己对应的目录下面)

cat id_rsa.pub >> authorized_keys

为什么是追加写入?因为可能存在其他用户的公钥,如果~/.ssh目录下没有authorized_keys文件,则需要我们手动创建一个:

touch authorized_keys

然后用cat命令写入将公钥写入文件

三、安装插件

3.1 vscode安装插件

3.1.1 在线安装插件

vscode连接远程Linux服务器,其他,服务器,vscode,linux

3.1.2 离线安装插件
3.1.2.1 下载插件

vscode扩展插件
vscode连接远程Linux服务器,其他,服务器,vscode,linux

3.1.2.2 安装插件

此处下载Remote Development 插件,其中包含ssh相关插件,后面远程链接需要
vscode连接远程Linux服务器,其他,服务器,vscode,linux
下载成功之后是以**.vsix**结尾的文件
vscode连接远程Linux服务器,其他,服务器,vscode,linux
从vscode软件中进行导入刚下载的文件
vscode连接远程Linux服务器,其他,服务器,vscode,linux

3.2 vscode-server安装插件

3.2.1 在线安装插件

vscode 远程ssh链接好之后,按照vscode在线安装方式就可以

3.2.2 离线安装插件
离线下载插件,我这里服务器是x64+ubuntu,所以选择 Linux x64 vscode连接远程Linux服务器,其他,服务器,vscode,linux

把下载好的插件放在服务器上,vscode 远程ssh链接好之后,按照2.2 离线安装插件默认打开vscode-server安装服务器上面插件,我这里下载的插件放在服务器 /root/tmp/ 下面:

vscode连接远程Linux服务器,其他,服务器,vscode,linux
安装插件
vscode连接远程Linux服务器,其他,服务器,vscode,linux

安装完成之后如下:
vscode连接远程Linux服务器,其他,服务器,vscode,linux
vscode的插件安装在自己用户目录:
vscode连接远程Linux服务器,其他,服务器,vscode,linux

vscode-server安装位置在自己home目录下面的.vscode-server下:
vscode连接远程Linux服务器,其他,服务器,vscode,linux
理论上直接copy到对应目录也行

四、C/C++开发建议安装clangd

4.1 clangd配置

使用vscode搭配官方的C/C++插件使用发现,经常很多代码都无法跳转,代码补全功能几乎是废的,vscode+clangd可以实现代码任意跳转补全等功能
首先自然就是卸载vscode官方提供的C/C++因为功能和clangd会有冲突,建议直接删除(禁用)

4.1.1 下载clangd vscode插件

参考 code-server 2.2 离线安装插件
vscode连接远程Linux服务器,其他,服务器,vscode,linux

4.1.2 下载clangd

安装好clangd插件之后只是一个套壳现在代码是不能跳转的,需要通过clangd language的支持来完成跳转,clangd language的下载方式有两种方法

  1. 在线下载:
    下载好之后任意打开一个C/CPP文件,vscode下方会出现弹窗直接install即可
    vscode连接远程Linux服务器,其他,服务器,vscode,linux
  2. 离线下载
    从GitHub上下载clangd-language
    vscode连接远程Linux服务器,其他,服务器,vscode,linux
    我这边server端是linux所以下载 clangd-linux
    将下载好的clangd解压到任意一个path下,如下

vscode连接远程Linux服务器,其他,服务器,vscode,linux
vscode连接远程Linux服务器,其他,服务器,vscode,linux
在vscode上按住ctrl+,进入配置选项,如下在clangd中填写我们下载好的language的path。
vscode连接远程Linux服务器,其他,服务器,vscode,linux

4.1.3 配置clangd

clangd准备工作在上述,虽然已经基本完成,但是如果打开工程代码还是会发现代码还是不能够任意跳转,这是因为clangd查询不到对应的工程头文件,因此需要生成compile_commands.json,使用compile_commands.json文件来生成索引文件,这样当我们点击某个函数时可以飞快跳转到它定义的地方。

compile_commands.json文件中记录的是每个文件的编译选项,样式如下:

4.1.3.1 cmake工程配置

cmake工程生成 compile_commands.json 文件比较简单,定以CMAKE_EXPORT_COMPILE_COMMANDS 即可。

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ../
4.1.3.2 makefile 工程配置

makefile 工程没有现成的选项生成 compile_commands.json 文件。
我们可以通过 Bear 来生成,而且不需要改动代码。
安装bear:
- 可以直接 apt-get install bear
- 离线下载 bear

此处bear和libear版本需要一致

 bear_***.deb 
 libear_***.deb

安装之后,执行以下命令即可生成:

bear make [其他make本身的参数]
4.13.3 jq合并多个compile_commands.json

安装jq

  • 可以直接 apt-get install jq
  • 离线下载jq
    unbuntu jq地址

注:实在安装不了,直接下载二进制文件就行

合并多个compile_commands.json如下:

jq -s 'map(.[])'  多个compile_commands.json文件地址  >  新生成compile_commands.json文件地址

五、其他参考

Microsoft Visual Studio Code 中文手册
官方快捷键大全
第一次使用 VS Code 时你应该知道的一切配置文章来源地址https://www.toymoban.com/news/detail-634045.html

到了这里,关于vscode连接远程Linux服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VSCode使用Remote SSH远程连接Linux服务器【远程开发】

    转发自CSDN远程穿透的文章:【vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无

    2023年04月21日
    浏览(50)
  • 【Linux】Vscode连接远程服务器:误删文件,如何找回

    如果你在 VS Code 的侧边栏中意外删除了一个文件,有几种方法可以尝试找回它: 1.1 第一个(有的可能不行) VS Code 会保留文件的历史记录,你可以尝试通过以下步骤找回文件: 打开命令面板:按下 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)。 在命令面板中输入 “Show File H

    2024年02月12日
    浏览(54)
  • 用vscode远程连接Linux服务器后,如何创建自己的账号

    (假设您要创建的用户名为 “newuser”),在命令执行期间,需要提供新用户的密码。按照提示进行操作。 先输入登录的管理员账号密码。 再输入创建的用户的密码,并重复密码。 在连接到 Linux 服务器的终端中,以管理员权限使用以下命令将新用户添加到 sudo 组中(将 ne

    2024年02月16日
    浏览(45)
  • 【VsCode远程开发】Windows SSH远程连接Linux服务器 - 无公网IP内网穿透

    转发自CSDN远程穿透的文章:【vscode远程开发】使用SSH远程连接服务器 「内网穿透」 远程连接服务器工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无

    2024年02月02日
    浏览(74)
  • vscode+ssh连接远程linux系统服务器,并用anaconda管理python环境

    依次点击1、2、3,其中第3部分输入如下: ssh root@虚机ip -[端口号] 此时如果 你的权限范围并不在root ,就改成你所在的权限范围。(我们是以名字缩写在服务器创建了账户。) 假如我在服务器上的权限范围为zxy,服务器ip为123.456.789.000,端口号为22,则在第3部分输入:ssh zx

    2024年02月07日
    浏览(107)
  • window11安装SSH和VScode并远程连接Linux服务器进行配置

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前段时间用激光雷达采集了一些点云数据,需要连接实验室服务器对数据进行处理,我大该花了一下午的时间完成了配置。网上相关的教程有很多,但是有很大一部分比较陈旧,存在着一些问题,本文总

    2024年02月05日
    浏览(55)
  • 【VsCode】SSH远程连接Linux服务器开发,搭配cpolar内网穿透实现公网访问(1)

    远程连接服务器的工具有很多,比如XShell、putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行、服务器上的图片也无法直接查看。 而vscode可以很好的解决这些问题,它的核心组件都运行在远程环境中

    2024年02月11日
    浏览(52)
  • Linux: 使用 ssh 连接其他服务器

    通过ifconfig 查看要连接的服务器地址: 输入要连接的服务器密码: 连接服务器成功:

    2024年02月11日
    浏览(42)
  • 必看>>>>Linux数据库被其他服务器远程访问(修改权限、开设端口)

    目录 一:修改权限 1.1 进入Linux数据库 1.2 修改数据库的远程连接权限 1.2.1 数据库远程权限修改命令 1.2.2 数据库远程权限查看命名 1.3 给Linux机添加端口 1.4 远程数据库连接 文章中的四:Linux中mysql数据库的安装 1.2.1 数据库远程权限修改命令 grant all privileges on *.* to \\\'root\\\'@\\\'%\\\'id

    2023年04月17日
    浏览(97)
  • vscode连接linux服务器

    目录 下载vscode,这是微软开源软件,打开后到下载扩展页面 在下载扩展页面下载中文和ssh远程连接扩展 安装后会在左边新生成一个图标点击齿轮 选择第一个 配置连接信息 远程隧道右边刷新,等刷出来hostname的主机后 连接ip出来后,点击右边箭头 在软件页面中间部分选择

    2024年02月03日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包