Main things I found or configured when switching from JetBrains to VS Code. This note may be supplemented a bit over the next few months as I learn.
Navigation
The most important – keyboard shortcuts for navigation. As I see it, you need to learn standard ones, not redefine what exists. Here they are:
Cmd+P– go to file, also shows recent filesCtrl+G– go to line (Cmd+P and enter:)Shift+Cmd+O– go to symbols in current file (Cmd+P and enter@)Cmd+T– go to symbols in project (Cmd+P and enter#)Ctrl+Tab– window of recent files, when pressed without selection go to previous file – extremely inconvenient, changed toOpt+Shift+Enter(better, but arrow up/down don’t work then)Cmd+Shift+F– search in project filesF12– function definitionShift+F12– who usesCmd+(K,Q)– go to last editF8 / Shift+F8– navigate through problemsCtrl+R– open recent projectsShift+Cmd+E– enable file panelCmd+E– switch between AI mode and editingCmd+B– show/hide left panelCmd+L– show/hide AI chat window
In general, it turned out that you need to press Cmd+P, then by the first character you can choose the mode:
- by default by file name and you can add :123 to go directly to the line
>– commands:– lines/columns@– symbol (variables and functions) in current file#– symbol (variables and functions) in project
Bookmarks extension from Alessandro Fragnani for adding bookmark functionality – I use rarely, but if I have to, it’s better with it.
I also always disable tabs:
{
"workbench.editor.showTabs": "none",
}
and enable autosave (though maybe this is default):
{
"files.autoSave": "afterDelay",
}
Behavior
- Duplicate line:
Shift+Option+Up or Down(copy, but don’t put in clipboard) - Markdown preview:
Cmd-K, V - Plugins:
Cmd+Shift+X - Quick fix:
Cmd+.
Appearance
This is optional, but simpler/nicer at first.
Font
Download: https://www.jetbrains.com/ru-ru/lp/mono/ and install in system (in macOS go to ttf folder, select all files and in context menu in Finder open in Font Book, there press install 1 or 2 times). Enable in editor:
{
"editor.fontFamily": "'JetBrains Mono', Consolas, 'Courier New', monospace",
"editor.fontLigatures": true,
}
Theme
Ctrl+Shift+P- Start typing and select
Install Extension - Write
Darcula - Install
Darcula Theme(from rokoroku)
Additionally
Reformatting on save:
Command+,and selectEditor: Format On Save- Configure formatter. For example ESLint (of course, need to install extension before this):
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
},
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "html", "json"],
}
Install applications:
- ClipNinja – for paste menu. From pluses works system-wide, not just in IDE. From minuses: for Windows and Linux will need to find something.
Install main plugins:
- SonarQube for IDE – for validations
- REST Client (humao) – for .http files
I don’t write obvious plugins for individual languages here.
.http files
Main difference is how variables are stored. In Jetbrains 2 separate files: for regular variables and for keys. Here you need to add variables to project settings.json.
With keys it’s quite simple: put in .env (in the same folder as http file), and reference: {{$dotenv STAGE_TOKEN}}. Inconvenient if files are spread across folders.
With environments simpler, just specific.
In general, full support exists, but incompatible in details. Won’t be able to use simultaneously from JetBrains and VS Code, which in a team can become a problem.
As conclusion
Everything you want is found quite quickly. A bit different, but don’t see any flaws.
For purity of experiment can say that in Idea file duplication is better implemented: in rename window you can call Toggle Case function, for example. Here Toggle Case without plugins doesn’t exist (didn’t search for plugins), there are separate types of changes and they’re not on hotkeys by default. Assumed to call them through Cmd+P as needed.