VS Code 是微软推出的开源代码编辑器,根据 Stackflow 2018 年的统计,它是目前最流行的代码编辑器。VS Code 是一种基于 Electron 开发的桌面端应用。
作为一种桌面软件限制了在服务器端的应用。想利用 VScode 远程调试程序,就需要在控制端安装 VS Code 和相应插件,这样在本地安装 VScode 是一种前提。
Code-Server 是一个由德州叫 Coder 公司开源的一个基于服务器端的 VS Code 的项目。只要服务器端配置好 Code-Server后,你就可以在任何浏览器上使用 VS Code。简单说 Coder 之于 VS Code 就相当于 Rstudio server 之于 Rstudio。
安装 Code-Server
$ wget https://github.com/codercom/code-server/releases/download/1.939-vsc1.33.1/code-server1.939-vsc1.33.1-linux-x64.tar.gz
$ tar xzvf code-server1.939-vsc1.33.1-linux-x64.tar.gz
其它平台安装包可在这下载:http://t.cn/EaW2OGh
如果你觉得二进制安装还是很麻烦的话,你也可以使用 Docker 来一键部署。
$ docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
将下载的 Code-Server 二进制包解压缩,在终端运行 code-server 命令即可在服务器端启动 Code-Server 。
$ cd code-server1.939-vsc1.33.1-linux-x64
$ ./code-server
运行成功后,你就能在终端上看到正在运行中的 Code-Server 的相关信息。包括 IP、Port、和密码。
如果你想在启动时就默认打开一个指定的文件夹,可以运行以下指令:
$ ./code-server <WORKDIR>
例如:你想编辑桌面上的 nodejs 文件夹,你就可以这样执行:
$ ./code-server /home/mike/desktop/nodejs
如果你在启动时想自定义一些参数,比如:IP、端口、密码等。又应该怎么做呢?首先我们来看下 Code-Server 主要支持哪些参数:
USAGE
$ code-server [WORKDIR]
ARGUMENTS
WORKDIR [default: (directory to binary)] Specify working dir
OPTIONS
-d, --data-dir=data-dir
-h, --host=host [default: 0.0.0.0]
-o, --open Open in browser on startup
-p, --port=port [default: 8443] Port to bind on
-v, --version show CLI version
--allow-http
--cert=cert
--cert-key=cert-key
--help show CLI help
--no-auth
--password=password
这里最主要的参数有以下几个:
-d, --data-dir=data-dir
该参数主要用于指定数据存放目录。
-h, --host=host
该参数用于指定要绑定的网卡地址,默认为 0.0.0.0。
-p, --port=port
该参数用于指定要绑定的端口,默认为 8443。
这两个参数主要用于指定 HTTPS 证书和密钥。
如果不想使用生成的随机密码,可以使用该参数指定启动密码。
访问 Code-Server
在浏览器中访问 https://[你的ip]:[port] ,例如:https://127.0.0.1:8443。并输入启动 Code-Server 时所产生的密码。
接着就能在浏览器上看到你打开的 VS Code 环境了。
在 Github 中找到 Python 插件的 .VSIX 文件并下载。
$ wget https://github.com/Microsoft/vscode-python/releases/download/2019.4.11881/ms-python-release.vsix
目前 Code-Server 并不是所有的 VS Code 插件都支持,但大部分插件都还是可用的。本文只是介绍了 VS Code 在服务器端的简单使用方法,更多高级的应用方法大家可自行探索哟。 参考文档
https://www.google.com
http://t.cn/EaOl3Aj http://t.cn/EaOjqps http://t.cn/EaORdA0