Visual Studio Code チートシート

# official manual
https://code.visualstudio.com/docs/getstarted/keybindings

# misc

| key             | description |
|:----------------|:------------------|
|Ctrl+Shift+P|Show All Commands|
|Ctrl+R|Open recent open file list|

# navigation

| key             | description |
|:----------------|:------------------|
|F12|Go to Definition|
|Ctrl+Alt+-|navigateBack, the curret position is back before jump|
|Ctrl+Shift+-|navigatForward, the curret position is forward before navigateBack|
|Ctrl+U|cursorUndo|
|Ctrl+Shift+F10|peekDefinition|

# Edit
| key             | description |
|:----------------|:------------------|
|Ctrl+Shift+K|delete line|
|Ctrl+Backspace|delete left word|
|Ctrl+Delete|delete lright word|
|Ctrl+/|Toggle line comment|
|Ctrl+shift+A|Toggle block comment|
|Ctrl+.|quick fix.|
|Ctrl+Space|toggle suggestion|

# [jumpy](https://marketplace.visualstudio.com/items?itemName=wmaurer.vscode-jumpy)

This plugin supports to jump specific place easily.
![0481c44c-9a32-11e6-87cc-1f8913922ccb.gif](https://qiita-image-store.s3.amazonaws.com/0/38493/b892feec-2bd5-9beb-9522-581d2b473adb.gif)
* copy image from jumpy plugin page.

| key             | description |
|:----------------|:------------------|
|Shift+Enter|jumpy word mode|
|Esc|Quit jumpy mode when you are in jumpy mode|

# [Indentation Level movement](https://marketplace.visualstudio.com/items?itemName=kaiwood.indentation-level-movement)
![indentation-level-movement.gif](https://qiita-image-store.s3.amazonaws.com/0/38493/184ed016-589e-dadb-5b29-928dceff39be.gif)

Move cousor to the same indention level

| key             | description |
|:----------------|:------------------|
|Ctrl+Up|Indentation level move up|
|Ctrl+Down|Indentation level move down|
|Ctrl+Right|Indentation level move right|
|Ctrl+Shift+Up|Indentation level move up with select|
|Ctrl+Shift+Down|Indentation level move down with select|


# Settings Sync
## key bindings

| key             | description |
|:----------------|:------------------|
| Shift+Alt+U|Upload configuration|
| Shift+Alt+D|Download configuration|

## Toggle Auto Download/Auto Upload
It looks that this feature doesn't work.
I lost extensions often when I use it.

Select Command "Sync : Advanced Options > Toggle Auto-Download On Startup" command to Turn ON / OFF the auto download.

Select Command "Sync : Advanced Options > Toggle Auto-Upload on Settings Change" command to Turn ON / OFF the auto-upload.

# My customize part
I would like to move the cursor without cursor/home/end key because I use it often.

| key             | description |
|:----------------|:------------------|
|ctrl+f|Move the cursor to the right.<br />This is the same as emacs.|
|ctrl+b|Move the cursor to the left.<br />This is the same as emacs.|
|ctrl+p|Move the cursor to up.<br />This is the same as emacs.|
|ctrl+n|Move the cursor to down.<br />This is the same as emacs.|
|ctrl+a|Move the cursor to the beginning of the line.<br />This is the same as emacs.|
|ctrl+e|Move the cursor to the end of the line.<br />This is the same as emacs.|
|ctrl+d|Delete right.<br />This is the same as emacs.|
|ctrl+alt+f|Find in file. Because I replace default "find in file" bind ctrl+f to move the cursor to the right.|
|ctrl+k ctrl+h|toggle output.<br />This is default on linux but Windows binding is different so I set it.|
|ctrl+k ctrl+b|Toggle sidebar visibility.<br />The default binding is ctrl+b but I use it to move the cursor.|
|ctrl+alt+d|Add selection to next find match.<br />Because original binding ctrl+d is used to delete.|


The config files are uploaded [gist](https://gist.github.com/byplayer/68fd2648248e44907fbf157285a5121c#file-keybindings-json) by sync setings plugin.