#settings #development #command-line-tool #cli

app vscli

一个用于启动 vscode 项目的 CLI 工具,支持 devcontainer

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命令行工具

MIT 许可证

70KB
977

vscli

MIT License Continuous integration

一个 CLI/TUI,简化了启动 Visual Studio Code (vscode) 项目的过程,特别关注 dev containers

Screenshot showing the recent UI feature.

请阅读这里了解逆向工程微软的 dev container CLI 的过程。

功能

  • 用于启动 vscode 项目的缩写(类似于 code 命令,但支持 dev container)
  • 检测项目是否为 dev container 项目,并启动 dev container
  • 支持同一项目中的多个 dev container
  • 支持 vscode 的 内部版本
  • 跟踪您的项目,并允许您通过基于 CLI 的 UI 打开它们

安装

Packaging status

Homebrew

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 启动 vscode
  • force-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

使用箭头键导航列表,并按 entero 打开所选项目。按 q 退出 UI。您可以通过突出显示条目并按 xdelete 键来删除条目。

依赖关系

~17–30MB
~465K SLoC