vscode: add support for VSCodium (#9080)

Co-authored-by: Babak K. Shandiz <babak.k.shandiz@gmail.com>
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
This commit is contained in:
Džiugas Eiva 2020-07-11 21:59:58 +01:00 committed by GitHub
parent 83f6194929
commit 71f0189ed5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 17 deletions

View file

@ -1,6 +1,6 @@
# VS Code # 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`: To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc`:
@ -10,23 +10,37 @@ plugins=(... vscode)
## Requirements ## Requirements
To use VS Code in the terminal **in macOS**, first you need to install the `code` command in the PATH, This plugin requires to have a flavour of VS Code installed and it's executable available in PATH.
otherwise you might receive this message: `zsh: command not found: code`.
[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: 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
ZSH_THEME=... 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 VSCODE=code-insiders
plugins=(... vscode) plugins=(... vscode)

View file

@ -1,17 +1,28 @@
# VScode zsh plugin # VS Code (stable / insiders) / VSCodium zsh plugin
# Authors: # Authors:
# https://github.com/MarsiBarsi (original author) # https://github.com/MarsiBarsi (original author)
# https://github.com/babakks # https://github.com/babakks
# https://github.com/SteelShot
# Use the stable VS Code release, unless the Insiders version is the only # Verify if any manual user choice of VS Code exists first.
# available installation if [[ -n "$VSCODE" ]] && ! which $VSCODE &>/dev/null; then
if ! which code > /dev/null && which code-insiders > /dev/null; then echo "'$VSCODE' flavour of VS Code not detected."
: ${VSCODE:=code-insiders} unset VSCODE
else fi
: ${VSCODE:=code}
# 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 fi
# Define aliases
alias vsc="$VSCODE ." alias vsc="$VSCODE ."
alias vsca="$VSCODE --add" alias vsca="$VSCODE --add"
alias vscd="$VSCODE --diff" alias vscd="$VSCODE --diff"