diff options
Diffstat (limited to 'plugins/vscode')
-rw-r--r-- | plugins/vscode/README.md | 44 | ||||
-rw-r--r-- | plugins/vscode/vscode.plugin.zsh | 54 |
2 files changed, 80 insertions, 18 deletions
diff --git a/plugins/vscode/README.md b/plugins/vscode/README.md index 8ee45525a..e95ed5d4f 100644 --- a/plugins/vscode/README.md +++ b/plugins/vscode/README.md @@ -1,6 +1,6 @@ -# VS code +# VS Code -This plugin makes interaction between the command line and the 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`: @@ -8,6 +8,46 @@ To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc` plugins=(... vscode) ``` +## Requirements + +This plugin requires to have a flavour of VS Code installed and it's executable available in PATH. + +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: +> Shell Command: Install 'code' command in PATH + +[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 + +## Using multiple flavours + +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=... + +# 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) + +source $ZSH/oh-my-zsh.sh +``` + ## Common aliases | Alias | Command | Description | diff --git a/plugins/vscode/vscode.plugin.zsh b/plugins/vscode/vscode.plugin.zsh index 902c23ecf..48d904377 100644 --- a/plugins/vscode/vscode.plugin.zsh +++ b/plugins/vscode/vscode.plugin.zsh @@ -1,19 +1,41 @@ -# VScode zsh plugin -# author: https://github.com/MarsiBarsi +# VS Code (stable / insiders) / VSCodium zsh plugin +# Authors: +# https://github.com/MarsiBarsi (original author) +# https://github.com/babakks +# https://github.com/SteelShot -alias vsc='code .' -alias vsca='code --add' -alias vscd='code --diff' -alias vscg='code --goto' -alias vscn='code --new-window' -alias vscr='code --reuse-window' -alias vscw='code --wait' -alias vscu='code --user-data-dir' +# 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 -alias vsced='code --extensions-dir' -alias vscie='code --install-extension' -alias vscue='code --uninstall-extension' +# 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 -alias vscv='code --verbose' -alias vscl='code --log' -alias vscde='code --disable-extensions' +alias vsc="$VSCODE ." +alias vsca="$VSCODE --add" +alias vscd="$VSCODE --diff" +alias vscg="$VSCODE --goto" +alias vscn="$VSCODE --new-window" +alias vscr="$VSCODE --reuse-window" +alias vscw="$VSCODE --wait" +alias vscu="$VSCODE --user-data-dir" + +alias vsced="$VSCODE --extensions-dir" +alias vscie="$VSCODE --install-extension" +alias vscue="$VSCODE --uninstall-extension" + +alias vscv="$VSCODE --verbose" +alias vscl="$VSCODE --log" +alias vscde="$VSCODE --disable-extensions" |