AtomからVScodeに移行したメモです。 自分しか使ってないようなkey-bindとかもありますが、 同じように設定に困ったら参考にしてください。
カラーテーマ
表示関連
goのソースコードのみタブを半角スペース2つへ
"[go]": { "editor.insertSpaces": true, "editor.tabSize": 2, "editor.autoIndent": false }
全角スペースを強調
以下パッケージをインストール
半角スペースを強調
表示
→ 空白文字の表示の切り替え
折り返し
"editor.wordWrap": "on"
key-bind系
パッケージ
エディタの分割
defaultのまま
{ "key": "ctrl+alt+cmd+[IntlYen]", "command": "workbench.action.splitEditor" }
cmd+cでESCされてしまう(vimパッケージによる)
ショートカットを削除
{ "key": "", "command": "extension.vim_cmd+c" }
行を跨いて左右の移動ができない(vimパッケージによる)
ショートカットを削除
{ "key": "", "command": "extension.vim_left" }
{ "key": "", "command": "extension.vim_right" }
go to def
ショートカットを変更
定義へ
{ "key": "cmd+d", "command": "editor.action.goToDeclaration", "when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor" }
定義から戻る
{ "key": "shift+cmd+d", "command": "workbench.action.navigateBack" }
置換
ショートカットを変更
{ "key": "shift+cmd+f", "command": "editor.action.startFindReplaceAction" }
移動
ショートカットを変更
行頭へ
{ "key": "ctrl+a", "command": "cursorLineStart", "when": "editorTextFocus" }
行末へ
{ "key": "ctrl+e", "command": "cursorLineEnd", "when": "editorTextFocus" }
Go関連
パッケージ
合わせて必要なパッケージをターミナルからインストールしておく。
go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/zmb3/gogetdoc go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/go-outline go get -u -v sourcegraph.com/sqs/goreturns go get -u -v golang.org/x/tools/cmd/gorename go get -u -v github.com/tpng/gopkgs go get -u -v github.com/newhook/go-symbols go get -u -v golang.org/x/tools/cmd/guru go get -u -v github.com/cweill/gotests/... go get github.com/derekparker/delve/cmd/dlv
go tests generate
ショートカットを登録
{ "key": "shift+cmd+g", "command": "go.test.generate.function" }
go testsの実行(*_test.goで以下コマンドを実行)
{ "key": "f5", "command": "go.test.file" }
go testsのcoverageを表示
{ "go.buildFlags": ["-cover"] }
markdown
preview
{ "key": "ctrl+shift+m", "command": "markdown.showPreviewToSide", "when": "editorLangId == 'markdown'" }
previewと本文が一緒に動かないようにしたい
{ "markdown.preview.scrollPreviewWithEditorSelection": false }
ターミナル
ターミナルへ移動
{ "key": "ctrl+cmd+t", "command": "workbench.action.terminal.focusPrevious" }
ターミナルのカーソルを縦棒(|)にする
{ "terminal.integrated.cursorStyle": "line" }
その他
メッセージボックスを消す
以下ショートカットを追加
{ "key": "escape", "command": "workbench.action.closeMessages", "when": "globalMessageVisible" }
最後に
最終的なkeybindings.json
とsettings.json
は、Githubに上げてあります。