本教程也适用于 Android 手机,但使用体验不如在平板电脑上使用实体键盘操作。
前段时间整了一台 L 厂的破烂 Android 平板电脑,我就想看看怎样整各种生产力工具,例如 Visual Studio Code。
Play Store 上并没有直接打包好的 Visual Studio Code 安装包给你用,所以我们需要另辟蹊径才能安装。
我们需要借助虚拟 Linux 环境才能实现这个操作。目前已有的 Android 虚拟 Linux 环境方式有两种,一种是 Termux,另一种是 UserLAnd。这里介绍 UserLAnd,如果你会用 Termux 的话那么你只要知道怎么安装 proot 环境就够了。
你可以在这里下载到 UserLAnd。
有条件访问 Google Play 的用户:https://play.google.com/store/apps/details?id=tech.ula
没有条件访问的用户:https://f-droid.org/app/tech.ula
下载完成之后打开,可以在这五款 Linux 发行版中随意选择你喜欢的一款,例如我选择了 Debian,连接方式选择 SSH。
如果你像我一样选择了 Debian,你可能会遇到系统过于精简导致使用不便的问题。这种情况下,你必须要执行以下命令把缺失的部分基础组件补回来(你可以看到它精简到了什么离谱的程度,连 systemctl 都没有):
sudo apt update
sudo apt install nano ca-certificates apt-transport-https dialog locales vim curl wget gpg openssl tmux
sudo apt upgrade
对,这玩意连文本编辑器都没有,你需要自己安装。装完文本编辑器之后你就能自己改镜像源然后 apt upgrade。如果下载速度过慢需要挂梯子,请在你的 Android 设备上直接使用你熟悉的梯子应用即可。改完镜像源之后就不需要挂梯子了。
你可能在想,接下来我们要直接安装桌面环境然后 VNC 连接上来,但实际上并非这样。有一种可以在浏览器上面跑的 Visual Studio Code 分支项目叫做 Code Server,可以在任何无显示器的 Linux 服务器上实现编写代码、调试、托管等操作。最简单的安装方法,就是利用官方的安装脚本实现。
curl -fsSL https://code-server.dev/install.sh | sudo sh
你可能需要挂梯子以顺利完成安装。
安装完之后,只需要在终端下面执行这句命令:
code-server
然后回到系统桌面,打开浏览器访问 http://127.0.0.1:8080/ 就可以了……吗?
纳尼?需要输入密码?它说密码在 ~/.config/code-server/config.yaml 里面,但谁会去记那个密码啊。
按照官方说明,这样设定是为了防止你把 Code Server 暴露到公网时被其他人访问进来搞破坏,但实际上默认配置下即便是同一局域网下的其它电脑也不能访问进 Code Server,只能本机访问。
既然这样,修改一下 config.yaml 禁用密码即可,在这之后访问 http://127.0.0.1:8080/ 应该就不会有问题了。
sed -i.bak 's/auth: password/auth: none/' ~/.config/code-server/config.yaml
由于系统自身的 systemd 似乎是坏的,我们只能在每次要用的时候执行一次 code-server 命令,然后把整个 UserLAnd 挂到后台。因此我建议你在 tmux 下执行 code-server,然后依次按下 ^B、D 推到后台去。
Chrome 浏览器内置一个添加到主屏幕/安装应用的功能,强烈建议使用。完成之后,看起来就像是 Visual Studio Code 原生运行在这个平板电脑上一样(实际上也的确如此),而且 Visual Studio Code 该有的功能一个都不少。
假如你重启了平板电脑之后要怎么重新打开 Visual Studio Code 呢?
1、重新打开 UserLAnd 你上次安装的 Linux 发行版。
2、依次执行下述命令:
tmux
code-server
3、回到系统桌面打开你添加的 code-server 图标(APNG 注意):
你仍然可以畅通无阻的访问你的 Android 设备的内置存储,里面的内容全部映射到了 /sdcard/ 目录下,就是没有图形化的文件选取窗口会有点不太方便,但既然能想到用这玩意码代码了,这应该不是什么大问题。
你在 Visual Studio Code 上熟悉的各种插件,例如我最喜欢的自动格式化插件 Prettier 仍然可以在上面顺利使用,就和真正的 Visual Studio Code 一样,而且你仍然可以实现本地调试。
在平板电脑上配上实体键盘,使用体验相当棒。