VS Code Plugins and configuration tips
https://code.visualstudio.com/docs/setup/setup-overview
Plugins
- Project manager https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager
- Scala metals https://marketplace.visualstudio.com/items?itemName=scalameta.metals
- Scala syntax coloring https://marketplace.visualstudio.com/items?itemName=scala-lang.scala
- Settings Sync https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
- VS Live Share https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare
- Emacs keymapping https://marketplace.visualstudio.com/items?itemName=lfs.vscode-emacs-friendly
- Go https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go
- Markdown Preview Github Styling https://marketplace.visualstudio.com/items?itemName=bierner.markdown-preview-github-styles
- Linux Themes https://marketplace.visualstudio.com/items?itemName=SolarLiner.linux-themes
Starting VS code from the command line
Open code with current directory
code .
Open the current directory in the most recently used code window
code -r .
Always create a new window
code -n
Configuration tips
Make project manager enumerating your git based projects:
"projectManager.git.baseFolders": ["/home/USERNAME/FOLDER","/home/USERNAME/ANOTHERFOLDER"]
Improving performance in the built in terminal (Tested on Ubuntu 18.04)
- Change the terminal rendering (Terminal › Integrated: Renderer Type) to
canvas
- Start VS Code with
code --ignore-gpu-blacklist
Toggle the terminal using a keybindings
{
"key": "ctrl+[Backquote]",
"command": "workbench.action.terminal.focus"
},
{
"key": "ctrl+[Backquote]",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
},
Toggle maximized terminal
{
"key": "ctrl+j",
"command": "workbench.action.toggleMaximizedPanel"
},
Clear the terminal
{
"key": "ctrl+l",
"command": "workbench.debug.panel.action.clearReplAction"
}
Disable MS telemetry
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
Require Guest approvals for Live Share
"liveshare.guestApprovalRequired": true,
Remove the minimap to get some better performance:
"editor.minimap.enabled": false,
Always open up new Window maximized
"window.newWindowDimensions": "maximized"
Recommended search exclusion:
"search.exclude": {
"**/.class": true,
"**/.git": true,
"**/.hg": true,
"**/.idea": true,
"**/.svn": true,
"**/.vscode": true,
"**/*.semanticdb": true,
"**/bower_components": true,
"**/node_modules": true,
"**/project": true,
"**/target": true,
"**/.bloop": true,
"**/.metals": true
},
Using latest Metals snapshot
"metals.serverVersion": "0.5.0+28-769afc45-SNAPSHOT",
https://scalameta.org/metals/docs/editors/vscode.html#using-latest-metals-snapshot