VS Code Remote,在服务器上开发程序,开启全新开发模式
一直使用Idea开发java 程序,头疼的是太太太占用内存了,笔记本电脑经常卡爆,在服务器开发的话又太麻烦,VS Code Remote的带来,解决了这一烦恼。下面来实战一下。
VS Code Remote
2019 年 5 月 3 日,在 PyCon 2019 大会上,微软发布了 VS Code Remote,开启了远程开发的新时代
。

Visual Studio Code Remote 允许开发者将容器,远程计算机,或 Windows Subsystem for Linux (WSL) 作为完整的开发环境。你可以:
在部署相同的操作系统上进行开发,或者使用更大或更专业的硬件。
把开发环境作为沙箱,以避免影响本地计算机配置。
让新手轻松上手,让每个人都保持一致的开发环境。
使用原本在本地环境不可用的工具或运行时,或者管理它们的多个版本。
在 WSL 里开发 Linux 应用。
从多台不同的计算机访问现有的开发环境。
调试在其他位置(比如客户网站或云端)运行的应用程序。
所有以上的功能,并不需要在你的本地开发环境有源代码。通过 VS Code Remote,轻松连接上远程环境,在本地进行开发。
下面来实战。
安装vs code insiders
需要先安装最新的内部体验版,https://code.visualstudio.com/insiders/
然后安装Remote Development插件
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
为了简单起见,我们采用SSH模式。需要先在windows机器安装OpenSSH
windows 10 安装OpenSSH
使用 PowerShell 安装 OpenSSH
若要安装使用 PowerShell 的 OpenSSH,请首先以管理员身份启动 PowerShell。 若要确保 OpenSSH 功能以安装方式提供:
PowerShell复制
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
# This should return the following output:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
然后,安装服务器和/或客户端功能:
PowerShell复制
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# Both of these should return the following output:
Path :
Online : True
RestartNeeded : False
SSH 认证
- 先ssh-keygen生车密钥
- 然后ssh-copy-id 到服务器
ssh-copy-id root@YOUR-SERVER-IP
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/c/Users/jqpeng/.ssh/id_ed25519.pub"
The authenticity of host 'YOUR-SERVER-IP' can't be established.
ECDSA key fingerprint is SHA256:HRwsmslg5ge+JYcOjW6zRtUxrFeWJ5V2AojlIvLaykc.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filterout any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@YOUR-SERVER-IP's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@YOUR-SERVER-IP'"
and check to make sure that only the key(s) you wanted were added.
使用VS code inside 开发程序
准备工作:
- 确保服务器已有JDK,mvn,没有的话先安装好
- 将代码签出到服务器一个目录
打开VS code,命令行:

选择connect to host:
然后输入root@YOUR_SERVETR_IP

回车,VS 会自动在服务器准备相关环境。
搞定后,点击文件打开文件夹,VS Code会列出服务器的目录,选择项目所在地址打开即可。

接下来安装必要的语言插件,打开一个java文件,vs code会自动图惨案安装一些插件,把java相关的安装好:

调试程序
打开包含main的java文件,点击调试菜单,会自动生成一个启动文件,配置下即可:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "AimindWebApplication",
"request": "launch",
"mainClass": "com.xxx.xxx.XXXWebApplication"
}
]
}
然后启动。
惊喜的发现,在main函数上方,自动出现了RUN|DEBUG,见下图,点击debug即可启动调试

在调试控制台可以看到对应的输出。

内存占用
之前IDEA启动调试后,内存占用2G+,VS code呢?400M+!

把耗费计算资源、内存的都放到服务器上去执行了,本地只需要负责View,所以资源占用极小。
作者:Jadepeng
出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
VS Code Remote,在服务器上开发程序,开启全新开发模式的更多相关文章
- 在cocos code ide的基础上构建自己的lua开发调试环境
对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在 ...
- 服务器上运行程序Out of memory 解决办法
****** 服务器上跑过程序经常能遇到out of memory 这个问题,下面是我经常在实验室碰到的解决方法. 1.使用命令nvidia-smi,看到GPU显存被占满: 2.尝试使用 ps aux ...
- 使用pycharm调试远程服务器上的程序
一.PyCharm实现远程调试代码 1. 和远程服务器建立连接,tools àDeploymentàConfiguration 2. 点击“+”号,按照远程服务器信息配置信息 点击“Advanced ...
- Shell脚本实现超简洁的在Linux服务器上安装nginx、resin、java、tomcat、redis等程序
说明: 用平常的方式在Linux服务器上安装程序,需要下载安装包.进入安装包位置.给安装包文件赋予可执行权限.执行安装.设置环境变量--等等一系列复杂的操作.并且如果有关联也需要一个一个的挨着安装.耗 ...
- 部署iis服务器与c#程序遇到的问题小结
记得上次部署IIS服务器比较顺利,半天搞定的?有点忘了. 但,服务器版本各有不同,这次装的是server2008 R2 Ennterprice版.虽然忘了上次装的是哪个版本,但进去后发现有些东西明显不 ...
- RSA Android加密的数据服务器上无法解密?
一.android加密的数据服务器上无法解密? "算法/模式/填充" android的rsa加密方式是--------RSA/ECB/NoPadding或者RSA/None/NoP ...
- 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容
[Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...
- 搭配 VS Code Remote 远程开发扩展在 WSL 下开发
❗ 注意:远程开发扩展需要在 Visual Studio Code Insiders 上使用. Visual Studio Code Remote - WSL 扩展允许你直接借助 VS Code 令 ...
- vscode实现远程linux服务器上Python开发
最近需要训练一个生成对抗网络模型,然后开发接口,不得不在一台有显卡的远程linux服务器上进行,所以,趁着这个机会研究了下怎么使用vscode来进行远程开发. 1 配置免密登录¶ (1)在 ...
随机推荐
- AWK工具 使用介绍
第6周第5次课(4月27日) 课程内容: 9.6/9.7 awk扩展把这里面的所有练习题做一下http://www.apelearn.com/study_v2/chapter14.html 9.6/9 ...
- exc_bad_instruction(code=EXC_I386_INVOP,subcode=0x0) 错误
对象存储异常 对象存储要遵守NSCoding协议 #import "EmotionModel.h" @interface EmotionModel()<NSCoding> ...
- 寻找键盘bug
被这句阻拦了
- Netty学习——Netty和Protobuf的整合(一)
Netty学习——Netty和Protobuf的整合 Protobuf作为序列化的工具,将序列化后的数据,通过Netty来进行在网络上的传输 1.将proto文件里的java包的位置修改一下,然后再执 ...
- HIT2019视听觉信号处理视觉实验一
写在前面 HIT大三上学期视听觉信号处理课程中视觉部分的实验一,经过和学长们实验的对比发现每一级实验要求都不一样,因此这里标明了是2019年秋季学期的视觉实验一. 由于时间紧张,代码没有进行任何优化, ...
- 单片机内存分配中的.text .data .bss heap stack
[本文转自:http://www.51hei.com/bbs/dpj-41696-1.html] .text段:代码段(code segment/text segment)通常是指用来存放程序执行代码 ...
- Python--glob模块
0.glob模块和通配符 glob模块最主要的方法有2个: 1.glob() 2.iglob() 以上2分方法一般和通配符一起使用,常用的通配符有3个: * :匹配零个或多个字符 ? :匹配任何单个的 ...
- BZOJ[HNOI2005]狡猾的商人(差分约束)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4969 Solved: 2496[Submit][Sta ...
- CodeForces 607B zuma
Genos recently installed the game Zuma on his phone. In Zuma there exists a line of n gemstones, the ...
- python sympy evalf()函数
SymPy是一个符号计算的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简 洁.易于理解和扩展.它完全由Python写成,不依赖于外部库.SymPy支持符号计算.高精度计算.模 ...