工欲善其事,必先利其器。
以下在windows10和ubuntu下均做过尝试,其自带ssh功能,请放心食用。
公司或者实验室配备服务器后,但是服务器没有界面显示,一般是使用xshell或者secureCRT来远程服务器,但是修改代码起来很费力,有没有什么好的办法呢?vscode作为全球最流行的IDE,打开速度快,代码颜色高亮,插件丰富,用起来一个字:香。那么我们还能用vscode来远程连接服务器上的项目,方便快捷,下面分两段来介绍安装过程和使用教程。
安装步骤主要分为两步:
1. 在服务器上安装rmate,执行如下命令:
1. 下载rmate
sudo wget -O /usr/local/bin/rmate https://raw.github.com/aurora/rmate/master/rmate
2. 给rmate添加权限
sudo chmod a+x /usr/local/bin/rmate
![8b72e98ac24216712fa291cf96d4ab06.png](https://i-blog.csdnimg.cn/blog_migrate/9046528132a31cdb42dfe166360d128e.jpeg)
2. 在本机vscode中安装rmate插件,并配置settings.json
a. 在vscode左栏有个Extensions工具栏(四个小正方形),点击后搜索rmate,会显示Remote VSCode,点击进行安装。
![0a4b7791c3d2c5920eabbc11208e72e1.png](https://i-blog.csdnimg.cn/blog_migrate/647823546d1989535294c5acb0198dad.png)
b. 在vscode左栏下方有个齿轮Manage,点击后选择Settings,在User下选择Edit in settings.json,添加如下一行:
"remote.onstartup": true
![9306332b2ba9eab22f26c095533949b4.png](https://i-blog.csdnimg.cn/blog_migrate/97b4284762f26775dc9b5650086b450b.png)
简单测试下vscode连接服务器是否成功,可以在本机vscode的view->ternimal下打开ternimal,然后输入:
ssh -R 52698:localhost:52698 用户名@服务器ip
52698是vscode默认的与服务器的连接端口。
这时候你就类似于在服务器上打开了一个ternimal,想要打开服务器上的文件,执行命令rmate README.MD 就可以了,其中README.MD就是你想打开的文件。
![5e63ad71aff10dac4aa10dacf8714f01.png](https://i-blog.csdnimg.cn/blog_migrate/6f7637ae20b185d5316b5ca110852c40.jpeg)
这基本上就完成了vscode远程配置,接下来就是如何使用vscode来远程服务器并使用了。
然而上面这种方式只能打开一个单独的文件,似乎还不能打开一个完整的项目,不着急,下面介绍下如何打开服务器上的项目。
1. 同样在本地vscode中打开插件Extensions,点击搜索Remote Development,安装后会自动安装其它的依赖包。
![2a0d3260f5f758ad3e91a07fd2921b8a.png](https://i-blog.csdnimg.cn/blog_migrate/65413f106e29156a93ff72b09cefbbad.jpeg)
2. 打开本地vscode,ctrl+shift+P输入remote,初次使用,先打开config文件,选择remote-ssh: open configuration file
![2d8063de7b6a5850389a7612777db2d1.png](https://i-blog.csdnimg.cn/blog_migrate/e1a88b2b4aef1ac312a1c409b650c2ce.jpeg)
然后选择第一个/home/mario/.ssh/config
![43c867ba88607bf15661399595769c8c.png](https://i-blog.csdnimg.cn/blog_migrate/b149057d190f8ce52ace5376b8b1fc9e.png)
然后在config中添加如下对应的信息,我这里添加了两个服务器ip地址
![0ba7f3cc575760834d48996918115569.png](https://i-blog.csdnimg.cn/blog_migrate/aa78d1ce83c211f5046a12989d7bc4b7.png)
3. 然后再ctrl+shift+P,使用Remote-ssh: Add new ssh host选项,根据提示输入:ssh 用户名@服务器ip
![d74fe79c5b31545dfc99c6b99c04c865.png](https://i-blog.csdnimg.cn/blog_migrate/6ca78098b973f27b7996510053d1e5c6.jpeg)
4. 然后在vscode左下栏会出现一个远程窗口,打开后选择对应的服务器然后右键connect to host in current window,然后输入密码就建立远程连接了,选择file->open folder就会发现打开的文件在远程服务器上了。
![8faa123c356dce427e4a4df424c43b7f.png](https://i-blog.csdnimg.cn/blog_migrate/77543a102c4ac455d4cbd29e402dfb61.jpeg)
5. 选择你要打开的文件夹,点击OK再次输入密码后,就可以打开项目愉快地调试代码啦~
![8efd51297f0199279645c9732944880f.png](https://i-blog.csdnimg.cn/blog_migrate/4033fe3368f6a7f41f7533c9b99e13dd.jpeg)
6. 但是还需要多次输入密码,很麻烦,那么我们可以使用ssh-keygen方式验证设置免密登录就更方便了。参考链接如下,就不多做介绍了,和github本地生成方式类似。
Set up SSH public-key authentication to connect to a remote systemkb.iu.edu常用的一些插件:
Python:Python语言的插件,Python代码的函数跳转
C/C++:C/C++语言的插件,C/C++代码的函数跳转
C++ Interllisense:C++语言的插件
gitlens:vscode 的插件,可显示git修改内容(需要先安装git,并制定git.path的路径,默认为null,如D:/Git/bin/git.exe)
bracket pair colorizer:可以成对显示括号
tabnine:最牛逼的代码补全插件
git Graph:vscode的sourcetree插件,可直接切换分支
最后可以设置作者和日期等信息,选择File->Preferences->User Snippets,然后输入python,会打开一个python.json文件,输入以下信息:
{
"HEADER":{
"prefix": "header",
"body": [
"#!/usr/bin/env python",
"# -*- encoding: utf-8 -*-",
"'''",
"@File : $TM_FILENAME",
"@Time : $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
"@Author : mrwang ",
"@Version : 1.0",
"@Contact : mrwang@streamax.com",
"@License : (C)Copyright 2019-2020, Streamax-AILab",
"@Desc : None",
"'''",
"",
"$0"
],
}
}
保存后,新建一个python文件,在头部输入header,提示后回车就会出现如下信息:
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File : train_refinedet.py
@Time : 2020/05/07 17:15:00
@Author : mrwang
@Version : 1.0
@Contact : mrwang@streamax.com
@License : (C)Copyright 2019-2020, Streamax-AILab
@Desc : None
'''