18 个版本
0.3.0 | 2024年4月21日 |
---|---|
0.2.2 | 2024年3月27日 |
0.2.1 | 2024年1月6日 |
0.2.0 | 2023年11月14日 |
0.1.3 | 2023年3月5日 |
#252 在 命令行工具 中
70KB
977 行
vscli
一个 CLI/TUI,简化了启动 Visual Studio Code (vscode) 项目的过程,特别关注 dev containers。
请阅读这里了解逆向工程微软的 dev container CLI 的过程。
功能
- 用于启动 vscode 项目的缩写(类似于
code
命令,但支持 dev container) - 检测项目是否为 dev container 项目,并启动 dev container
- 支持同一项目中的多个 dev container
- 支持 vscode 的 内部版本
- 跟踪您的项目,并允许您通过基于 CLI 的 UI 打开它们
安装
Cargo
在 Windows 或 Linux 上使用 cargo 安装 vscli
cargo install vscli
Homebrew
在 Linux 上使用 homebrew 安装 vscli
brew install michidk/tools/vscli
Chocolatey
在 Windows 上使用 Chocolatey 安装 vscli
choco install vscli
Winget
在 Windows 上使用 winget 安装 vscli
winget install vscli
额外步骤
您可以在 shell 的配置文件中为 vscli
设置简写别名
alias vs="vscli open"
alias vsr="vscli recent"
用法
命令
安装后,将可用 vscli
命令
Usage: vscli [OPTIONS] <COMMAND>
Commands:
open Opens a dev container
recent Opens an interactive list of recently used workspaces
help Print this message or the help of the given subcommand(s)
Options:
-s, --history-path <HISTORY_PATH> Overwrite the default path to the history file [env: HISTORY_PATH=]
-d, --dry-run Whether to launch in dry-run mode (not actually open vscode) [env: DRY_RUN=]
-v, --verbose... More output per occurrence
-q, --quiet... Less output per occurrence
-h, --help Print help
-V, --version Print version
打开 Dev Containers
打开一个 dev container。
Usage: vscli open [OPTIONS] [PATH] [ARGS]...
Arguments:
[PATH] The path of the vscode project to open [default: .]
[ARGS]... Additional arguments to pass to vscode [env: ARGS=]
Options:
-b, --behavior <BEHAVIOR> Launch behavior [default: detect] [possible values: detect, force-container, force-classic]
-s, --history-path <HISTORY_PATH> Overwrite the default path to the history file [env: HISTORY_PATH=]
-c, --config <CONFIG> Overwrites the path to the dev container config file [env: CONFIG=]
-d, --dry-run Whether to launch in dry-run mode (not actually open vscode) [env: DRY_RUN=]
-n, --insiders Whether to launch the insider's version of vscode [env: INSIDERS=]
-v, --verbose... More output per occurrence
-q, --quiet... Less output per occurrence
-h, --help Print help (see more with '--help')
最近 UI
打开最近使用的工作区的交互式列表。
Usage: vscli recent [OPTIONS]
Options:
-s, --history-path <HISTORY_PATH> Overwrite the default path to the history file [env: HISTORY_PATH=]
-d, --dry-run Whether to launch in dry-run mode (not actually open vscode) [env: DRY_RUN=]
-v, --verbose... More output per occurrence
-q, --quiet... Less output per occurrence
-h, --help Print help
启动行为
有三种启动行为
force-classic
:不使用 dev container 启动 vscodeforce-container
:使用 dev container 启动 vscode,如果没有找到 dev container,则出错detect
:检测项目是否为 dev container 项目,如果是,则启动 dev container
检测算法
检测算法决定要启动哪个开发容器配置。
- 首先,检查是否通过
--config
标志指定了开发容器配置 -> 启动它 - 然后加载找到的第一个开发容器
- 如果存在多个 -> 显示一个交互式的开发容器列表,并让用户选择一个
- 如果存在一个 -> 启动它
- 如果不存在 -> 正常启动 vscode 而不带开发容器
示例
启动项目
您可以使用默认行为启动项目
vscli open # open vscode in the current directory
vscli open . # open vscode in the current directory
vscli open /path/to/project # open vscode in the specified directory
默认行为会尝试检测项目是否是 开发容器 项目。如果是,则将启动开发容器;如果不是,则将正常启动 vscode。
您可以使用 --behavior
标志更改启动行为
vscli open --behavior force-container . # force open vscode dev container (even if vscli did not detect a dev container)
vscli open --behavior force-classic . # force open vscode without a dev container (even if vscli did detect a dev container)
当您打开包含多个开发容器配置的项目时,您将被提示选择一个:
您可以使用 --insiders
标志启动 vscode 的内测版本
vscli open --insiders . # open vscode insiders in the current directory
可以通过在 --
后指定它们,将附加参数传递给 code
可执行文件
vscli open . -- --disable-gpu # open vscode in the current directory without GPU hardware acceleration
通过执行 code --help
了解有关 code
标志的更多信息。
CLI UI
您可以使用 recent
命令打开基于 CLI 的用户界面,显示最近打开的项目列表
vscli recent # open the CLI-based UI to select a recently opened project to open
使用箭头键导航列表,并按 enter
或 o
打开所选项目。按 q
退出 UI。您可以通过突出显示条目并按 x
或 delete
键来删除条目。
依赖关系
~17–30MB
~465K SLoC