Remote-SSH使用教程 VSCode

2020-12-02 14:45:35

公司电脑是win的,实在又一个项目不能用win来编译。这事可难坏了,型号,发现了vscode自带的远程编程,瞬间轻松了。

以后也能解决不少问题,至少不好搭环境,或者需要一次性环境的时候,可以使用这个方法,不错呢。

可惜webstorm,IntelliJ IDEA上面没有这个功能,很可能因此要换开发工具了。

下面来介绍下配置教程


官方文档连接 Remote development over SSH   

https://code.visualstudio.com/docs/remote/troubleshooting#_installing-a-supported-ssh-client


又不懂或者模糊的地方还可以参考下其他连接  


VSCode:Remote-SSH配置实录


VSCode:Remote-SSH使用说明


为什么要使用VSCode:Remote-SSH

服务器很多时候都是部署在Linux远程机器上的,我们通常是SSH连过去然后用vim或者emacs去修改源文件。
这种方式对我来说很麻烦,因为我已经习惯了全宇宙最好用的C++IDE Visual Studio,离开IDE写代码实在太痛苦了。
所以我只能借助samba+sourceinsight的组合来勉强度日。这个组合其实是比较好的,只不过配置特别麻烦,实在是不想折腾。

这时,微软开发了一个VSCode的插件Remote-SSH,可以说是目前比较完美的解决了在windows下开发linux程序的问题。
Remote-SSH配置简单,界面可视化,你可以把他看做是带IDE的Putty。当然你也可以只把他当做一个远程ssh的连接工具来代替putty,xshell。

配置

1.安装

目前Remote-SSH这个插件仅支持VSCode的Insider版本(2019.5.8),所以你需要下载VSCode的Insider版本然后直接在扩展搜索Remote-SSH即可。


选择Remote-SSH下载即可。

安装完毕后侧边栏会出现新的图标:

(注意这里安装完后你们不会有AliServer这个Item,这是我配置完毕后的一个截图)

2.配置

Remote-SSH非常简单。
首先使用快捷键Ctrl+P打开活动栏:

搜索Remote-SSH,点选Connect to Host选项
接着会弹出:

让你选择config文件放在哪里,回车即可新建并编辑config文件。
config文件必须放到被授权的rsa秘钥所在的文件目录,可以看到我这个目录下的文件是这样的:

config文件是Remote-SSH的配置文件,表示我们将使用这个文件夹下的rsa秘钥文件去登录远程服务器。

注意:
Remote-SSH只提供使用RSA秘钥远程登录,所以你必须将该本机的rsa公钥添加到远程服务器,这一步并不麻烦,可以看我的这篇博文https://blog.csdn.net/sixdaycoder/article/details/89850064有详细教程。12

config文件配置项如下:

Host AliServer
	HostName 1.1.1.1 # 填写远程服务器的IP或者Host
	User     username # 填写登陆远程服务器的用户的名字123

你没看错,只有三行,非常简单。

3.连接

配置完毕后,在Remote-SSH中会出现新的名为AliServer的条目。

点击右边的按钮即可连接在新窗口中打开远程连接。
如果配置正确,会打开一个新的窗口,显示如下:

成功连接后Opening Remote状态会更改:

4.使用

在新窗口可以在菜单栏使用File->Open Folder,然后就会弹出以下窗口:

输入目录即可打开到侧边栏,然后就可以像是在本地开发一样更改远程的源文件,编译,调试。
或者呼出终端,当做一个带UI的Shell使用也可。


  • 2019-12-29 15:05:57

    php 数组分页 array_slice()函数用法

    今天用到一个函数,非常好用,分享给大家 array_slice() -从数组中取出一段 也就是说用这个函数可以和sql语句一样实现分页,原理是将查询出的数组,取出从指定下标开始到指定长度的数组

  • 2019-12-30 10:17:21

    router-link传递参数,query

    在vue-router中,有两大对象被挂载到了实例this; $route(只读、具备信息的对象); $router(具备功能的函数) 查询字符串: 去哪里 ? <router-link :to="{name:'detail',query:{id:1}}"> xxx </router-link>

  • 2019-12-30 16:48:41

    vue provide/inject详解和用法

    父子组件交互方式多种,props、vuex、 、 emit、localStorage还有就是这个provide/inject了。它适合层级比较深的组件,比如子,子孙,子孙后代的组件有好几个用到父组件的某个属性,就可以用到这个provide/inject,它可以避免写大量繁琐的传值代码 我这里为什么要使用它? 我一个知识库详情父组件中包含了大量的子组件,每个子组件都需要父组件的知识库ID,这时候我不想写大量props,就用到provide/inject进行传值了

  • 2020-01-03 00:36:00

    break和continue详解for循环

    1. break:直接跳出当前循环体(while、for、do while)或程序块(switch)。其中switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断(可参考switch的介绍)。 2. continue:不再执行循环体中continue语句之后的代码,直接进行下一次循环。