前言
iPad被知乎、b站很多人标榜为生产力,其实很早之前我一直觉得surface go才算生产力,毕竟可以编程。自己很偏激的把iPad看作电子垃圾。
但是,由于预算有限,我还是买了ipad2020 128G🤡,毕竟同等价位买surface go2的话,只能买个乞丐版的,而且还是裸机。
ipad买了之后我就有点小后悔,因为我发现我平时用ipad干的最多的就是读pdf,看视频。这完全可以被一个更便宜的安卓平板代替。
后来在想ipad上可不可以像surface go2那样配个键盘编程,于是就花买了一个罗技的蓝牙键盘,手感还不错,ipad、笔记本都可以用。一开始,我发现可以在leetcode网页上在线编程,但是这种在线编程有些难受;我便开始寻找新的解决方案。在ipad搜到了几个编程软件,但是都要付费,还挺贵,我就犹豫了。
就在今天,我刷知乎的时候,看到了github上的一个开源项目【code-server】
code-server
code-server
实际上就是专门为浏览器设计优化的 VS Code,可以直接通过浏览器访问。在远程 Linux 服务器上面部署
code-server
之后,code-server
实际上就相当于一个「中转站」,为我们提供一个直接在 Linux 服务器上面修改文件、访问数据库、执行指令等等操作的「窗口」,而由于这一「窗口」同样在 Linux 服务器上面运行,使用任何一个浏览器都可以打开,所以 iPad 也不例外。这样,我们就能够借助在远程服务器上运行的
code-server
,直接使用远程服务器上面的各种资源(包括服务器上强大的原生 Linux 环境、CPU / GPU 等计算资源、「无尽」的电量等等)进行开发工作。(当然,这也要求我们 iPad 端全程拥有网络连接。)
所以说需要你有个服务器,非常巧的是我服务器基本上算是吃灰的状态,上面就跑了两个网址的服务。
准备
我的服务器系统是ubuntu,在github【code-server release】中下载最新版的压缩包,并上传到服务器。
我选的是code-server-3.10.0-linux-amd64.tar.gz
然后,你要在服务器上下载好screen,如果没下的话,执行一下快速安装命令就好
sudo apt-get install screen
安装
进入code-server压缩包的目录,然后执行解压命令
tar -xvzf code-server-3.10.0-linux-amd64.tar.gz
再进入解压后的目录
cd code-server-3.10.0-linux-amd64
然后使用screen后台运行
screen -S vscode
然后运行code-server
export PASSWORD="yourpassword" && ./code-server --port 888 --host 0.0.0.0
-
export PASSWORD="yourpassword"
可以指定密码,将yourpassword替换为你的密码,引号不要去掉不加的话会默认生成一个,可以在运行后看到
yourpassword
为你的密码 -
--port 888为 指定端口运行,我这里是运行在888端口
-
--host 0.0.0.0 默认是127.0.0.1,只能本地访问,无法外网访问,所以得改成0.0.0.0,才能各个浏览器都能访问
之后访问你的服务器公网ip:端口号
就可以访问了,当然也可以用nginx 代理到自己的域名上。
其他的操作和vscode没什么区别。
我自己配置了编写java用到的插件和配置。
下面是用到的插件
下面是配置文件,主要是"java.home":
"java.requirements.JDK11Warning"
"java.semanticHighlighting.enabled"
这几个。
{
"java.home": "/usr/java/jdk1.8.0_121",
"java.requirements.JDK11Warning": false,
"java.semanticHighlighting.enabled": true,
"files.exclude": {
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
},
"java.completion.importOrder": [
"java",
"javax",
"com",
"org"
],
"java.completion.favoriteStaticMembers": [
"org.junit.Assert.*",
"org.junit.Assume.*",
"org.junit.jupiter.api.Assertions.*",
"org.junit.jupiter.api.Assumptions.*",
"org.junit.jupiter.api.DynamicContainer.*",
"org.junit.jupiter.api.DynamicTest.*",
"org.mockito.Mockito.*",
"org.mockito.ArgumentMatchers.*",
"org.mockito.Answers.*"
]
}
在ipad上编程
那么,怎么在ipad上运行呢。有两种方法:
- 直接在浏览器访问你服务器code-server的网址。
- 在ipad App Store上搜索 Servediter
我推荐第二种,Servediter是一款专门为 iPad 优化的用来连接 code-server
的 iOS 原生应用。我们使用 VSApp 可以直接连接我们自己的 code-server
实例,自动登录,打造畅快的在线 VS Code 体验。
Servediter原本是仅支持连接至它的开发者所部署的 code-server
上面的,因此也包含了 App 内购,最近才更新支持自部署服务器的连接。既然我们都已经自己部署了自己的 code-server
,那么我们直接在菜单中选择「Self Hosted Server」,并依次填写:
-
我们刚刚部署
code-server
的: -
code-server URL
刚刚在 Safari 中打开的 URL:{服务器 IP 地址}:{code-server 端口}
Instance password
刚刚开启code-server
时设置的密码
-
以及,我们服务器自己的:
-
Host
:服务器 IP 地址Username
:默认登录用户名Port
:登录 SSH 端口(默认 22 端口)Authentication
:登录服务器时使用的密码或公钥私钥对
这样,就可以愉快的在ipad上写代码了。