diff --git a/plugins/vscode/README.md b/plugins/vscode/README.md index 469c57ea8..e95ed5d4f 100644 --- a/plugins/vscode/README.md +++ b/plugins/vscode/README.md @@ -1,6 +1,6 @@ # VS Code -This plugin makes interaction between the command line and the VS Code editor easier. +This plugin provides useful aliases to simplify the interaction between the command line and VS Code or VSCodium editor. To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc`: @@ -10,23 +10,37 @@ plugins=(... vscode) ## Requirements -To use VS Code in the terminal **in macOS**, first you need to install the `code` command in the PATH, -otherwise you might receive this message: `zsh: command not found: code`. +This plugin requires to have a flavour of VS Code installed and it's executable available in PATH. -[As the docs say](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line), open +You can install either: + +* VS Code (code) +* VS Code Insiders (code-insiders) +* VSCodium (codium) + +### MacOS +While Linux installations will add the executable to PATH, MacOS users might still have to do this manually: + +[For VS Code and VS Code Insiders](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line), open the Command Palette via (F1 or โ‡งโŒ˜P) and type shell command to find the Shell Command: -> Install 'code' command in PATH +> Shell Command: Install 'code' command in PATH -## VS Code Insiders +[For VSCodium](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#how-do-i-open-vscodium-from-the-terminal), open +the Command Palette via (F1 or โ‡งโŒ˜P) and type shell command to find the Shell Command: +> Shell Command: Install 'codium' command in PATH -๐Ÿ **If you are only using [VS Code Insiders](https://code.visualstudio.com/insiders/), the plugin will automatically bind to your Insiders installation.** +## Using multiple flavours -But, if you have both Stable and Insiders versions and want to configure the plugin to just use the Insiders version, add the following line in the oh-my-zsh settings section (between the `ZSH_THEME` and the `plugins=()` line). This will make the plugin use the Insiders version instead. +If for any reason, you ever require to use multiple flavours of VS Code i.e. VS Code (stable) and VS Code Insiders, you can +manually specify the flavour's executable. Add the following line to the .zshrc file (between the `ZSH_THEME` and the `plugins=()` lines). +This will make the plugin use your manually defined executable. ```zsh ZSH_THEME=... -# Add this line to use code-insiders instead of code +# Choose between one [code, code-insiders or codium] +# The following line will make the plugin to open VS Code Insiders +# Invalid entries will be ignored, no aliases will be added VSCODE=code-insiders plugins=(... vscode) diff --git a/plugins/vscode/vscode.plugin.zsh b/plugins/vscode/vscode.plugin.zsh index 0144e0baa..48d904377 100644 --- a/plugins/vscode/vscode.plugin.zsh +++ b/plugins/vscode/vscode.plugin.zsh @@ -1,17 +1,28 @@ -# VScode zsh plugin +# VS Code (stable / insiders) / VSCodium zsh plugin # Authors: # https://github.com/MarsiBarsi (original author) # https://github.com/babakks +# https://github.com/SteelShot -# Use the stable VS Code release, unless the Insiders version is the only -# available installation -if ! which code > /dev/null && which code-insiders > /dev/null; then - : ${VSCODE:=code-insiders} -else - : ${VSCODE:=code} +# Verify if any manual user choice of VS Code exists first. +if [[ -n "$VSCODE" ]] && ! which $VSCODE &>/dev/null; then + echo "'$VSCODE' flavour of VS Code not detected." + unset VSCODE +fi + +# Otherwise, try to detect a flavour of VS Code. +if [[ -z "$VSCODE" ]]; then + if which code &>/dev/null; then + VSCODE=code + elif which code-insiders &>/dev/null; then + VSCODE=code-insiders + elif which codium &>/dev/null; then + VSCODE=codium + else + return + fi fi -# Define aliases alias vsc="$VSCODE ." alias vsca="$VSCODE --add" alias vscd="$VSCODE --diff"