2020-01-29 20:51:40 +08:00
# VS Code
2018-07-03 23:45:42 +08:00
2020-07-12 04:59:58 +08:00
This plugin provides useful aliases to simplify the interaction between the command line and VS Code or VSCodium editor.
2018-07-03 23:45:42 +08:00
To start using it, add the `vscode` plugin to your `plugins` array in `~/.zshrc` :
```zsh
plugins=(... vscode)
```
2020-02-25 03:13:16 +08:00
## Requirements
2020-07-12 04:59:58 +08:00
This plugin requires to have a flavour of VS Code installed and it's executable available in PATH.
2020-02-25 03:13:16 +08:00
2020-07-12 04:59:58 +08:00
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
2020-02-25 03:13:16 +08:00
the Command Palette via (F1 or ⇧⌘P) and type shell command to find the Shell Command:
2020-07-12 04:59:58 +08:00
> Shell Command: Install 'code' command in PATH
2020-02-25 03:13:16 +08:00
2020-07-12 04:59:58 +08:00
[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
2020-01-29 20:51:40 +08:00
2020-07-12 04:59:58 +08:00
## Using multiple flavours
2020-01-29 20:51:40 +08:00
2023-10-18 15:18:05 +08:00
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
2020-07-12 04:59:58 +08:00
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.
2019-05-08 22:32:27 +08:00
```zsh
ZSH_THEME=...
2020-07-12 04:59:58 +08:00
# 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
2019-05-08 22:32:27 +08:00
VSCODE=code-insiders
plugins=(... vscode)
source $ZSH/oh-my-zsh.sh
```
2018-07-03 23:45:42 +08:00
## Common aliases
| Alias | Command | Description |
| ----------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------- |
| vsc | code . | Open the current folder in VS code |
2023-10-18 15:18:05 +08:00
| vsc `dir` | code `dir` | Open passed folder in VS code |
2018-07-03 23:45:42 +08:00
| vsca `dir` | code --add `dir` | Add folder(s) to the last active window |
| vscd `file` `file` | code --diff `file` `file` | Compare two files with each other. |
| vscg `file:line[:char]` | code --goto `file:line[:char]` | Open a file at the path on the specified line and character position. |
| vscn | code --new-window | Force to open a new window. |
| vscr | code --reuse-window | Force to open a file or folder in the last active window. |
| vscw | code --wait | Wait for the files to be closed before returning. |
| vscu `dir` | code --user-data-dir `dir` | Specifies the directory that user data is kept in. Can be used to open multiple distinct instances of Code. |
## Extensions aliases
| Alias | Command | Description |
| ----------------------- | ---------------------------------------------------------------- | --------------------------------- |
2018-10-03 03:54:43 +08:00
| vsced `dir` | code --extensions-dir `dir` | Set the root path for extensions. |
2018-07-03 23:45:42 +08:00
| vscie `id or vsix-path` | code --install-extension `extension-id> or <extension-vsix-path` | Installs an extension. |
| vscue `id or vsix-path` | code --uninstall-extension `id or vsix-path` | Uninstalls an extension. |
## Other options:
| Alias | Command | Description |
| ------------ | ------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| vscv | code --verbose | Print verbose output (implies --wait). |
| vscl `level` | code --log `level` | Log level to use. Default is 'info'. Allowed values are 'critical', 'error', 'warn', 'info', 'debug', 'trace', 'off'. |
2018-10-03 03:54:43 +08:00
| vscde | code --disable-extensions | Disable all installed extensions. |