使用技巧
1107 字约 4 分钟
快捷键
浏览器剪贴板授权
浏览器中使用 ctrl/command + v
快捷键粘贴,可能会弹出剪贴板授权框, 可使用以下方法避免弹出授权框:
使用以下快捷键粘贴,不会弹出 Chrome 的剪贴板授权框。
- win: shift + insert
- mac: shift + command + v
浏览器设置中添加剪贴板授权
复制 chrome://settings/content/clipboard
到 chrome 浏览器中打开剪贴板设置, 添加网站域名到 允许查看您的剪贴板
列表中。
具体打开路径:设置 -> 隐私设置和安全 -> 权限(更多权限) -> 剪贴板 -> 允许查看您的剪贴板
解决快捷键冲突
当 WebIDE 快捷键跟浏览器快捷键冲突,可以使用本地客户端远程开发
VSCode 配置文件漫游
配置文件路径
WebIDE 的配置文件(settings.json
)路径:
- 用户维度:
~/.local/share/code-server/User/settings.json
。配置将根据用户维度进行漫游,实现保存个人配置 - 机器纬度:
~/.local/share/code-server/Machine/settings.json
。可以在 .ide/Dockerfile 中修改,来实现配置共享 - 仓库维度:
.vscode/settings.json
。相对目录为当前工作区(默认为/workspace
),即仓库根目录
VSCode 客户端(Remote-SSH) 的配置文件(settings.json
)路径:
- 用户维度:存在用户本地,可自行配置
- 机器纬度:
~/.vscode-server/data/Machine/settings.json
。可以在 .ide/Dockerfile 中修改,来实现配置共享 - 仓库维度:
.vscode/settings.json
。相对目录为当前工作区(默认为/workspace
),即仓库根目录
更多共享策略
- 用户维度共享:可实现同一个用户的配置共享,不同用户隔离
对于 WebIDE:用户纬度的配置文件(settings.json
)会被自动漫游,且只对用户自己生效。
注意:对于客户端,由于用户纬度配置文件存在本地,无法被漫游,如需修改配置,需自行修改本地配置文件。
- 仓库维度共享:可实现同一个仓库的配置共享,不同仓库隔离
如何在同一个仓库内共享配置:提交 .vscode/settings.json
文件到仓库即可
- 环境维度共享:可实现跨仓库的环境共享
假设你已经有构建好的开发环境镜像,那么可以直接使用在 .cnb.yml
配置中:
# .cnb.yml
$:
vscode:
- name: vscode
services:
- vscode
docker:
# 使用自定义镜像作为开发环境
image: groupname/imagename:latest
如何安装 VSCode 扩展
自定义开发环境时可在 Dockerfile 中安装常用的 VSCode 扩展,方便复用,有以下两种安装方式。
说明:WebIDE 使用的扩展源是 open-vsx
(开源), 非 微软官方扩展源
(闭源), 如果 open-vsx
缺失某些扩展,可在 微软官方扩展源
搜索扩展, 在扩展详情页下载 vsx 源文件安装。
注意:当 open-vsx
能搜索到需要安装的扩展时,可以通过扩展 id 安装; 当 open-vsx
缺失某些扩展时,可通过 vsx 扩展文件安装。
通过扩展 id 安装
code-server --install-extension ${扩展 id}
扩展 id 如何查看:在 WebIDE 或 open-vsx
搜索扩展,在详情页查看扩展 id,例如:安装 python 扩展,id 为 ms-python.python
通过 vsx 扩展文件安装
将 vsx 安装包下载并提交到仓库,这样就可以通过 vsx 文件来安装:
code-server --install-extension ms-python.vscode-pylance.vsix
下面以 python 开发需要安装 python
(openvsx 有这个扩展) 和 pylance
(openvsx 没有这个扩展) 扩展为例 (需配置 .cnb.yml 和 .ide/Dockerfile 文件):
# .cnb.yml
$:
# vscode 事件:专供页面中启动远程开发用
vscode:
- docker:
# 自定义镜像作为开发环境
build:
dockerfile: .ide/Dockerfile
# by: 声明构建镜像需要用到的文件
by:
- .ide/ms-python.vscode-pylance.vsix
# versionBy: 声明版本控制需要用到的文件
# 当 .ide/Dockerfile 和 versionBy 中的文件有更新时,会重新构建镜像
versionBy:
- .ide/ms-python.vscode-pylance.vsix
services:
- vscode
- docker
stages:
- name: ls
script: ls -al
注意:.ide 目录下需有 ms-python.vscode-pylance.vsix
扩展文件。
# .ide/Dockerfile
FROM python:3.8
COPY .ide/ms-python.vscode-pylance.vsix .
# 安装 code-server 和扩展(使用 id 安装 python 扩展,使用 vsix 安装包安装 pylance 扩展)
RUN curl -fsSL https://code-server.dev/install.sh | sh \
&& code-server --install-extension ms-python.python \
&& code-server --install-extension ./ms-python.vscode-pylance.vsix \
&& echo done
# 安装 ssh 服务,用于支持 VSCode 客户端通过 Remote-SSH 访问开发环境
RUN apt-get update && apt-get install -y wget unzip openssh-server
# 指定字符集支持命令行输入中文(根据需要选择字符集)
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8