何かのきっかけになれば
僭越ながらVSCodeのsetting.jsonとkeybindings.jsonを公開します。
「おすすめ」という意味ではなくて、
「そういう設定項目があるんだな」というヒントにしていただけると幸いです。
結構基本的なところしかいじってないです。
どの設定もコメント付きなので、
自分にフィットするものを探したり、改造していただければと思います。
settings.json
setting.jsonの開き方
-
Ctrl+,を押して設定画面を開く - 右上の「設定 (JSON) を開く」ボタンを押す
難しければ以下のやり方でもいいです
- メニューバーで
[移動]⇒[コマンド パレット] - "
Open User Settings (JSON)"と入力して選択
- 注意点
- これはデフォルトの設定を書き換えたりしません。あくまで追加設定です。
{
// --------------------------------------------------------
// 初期設定
// --------------------------------------------------------
// Welcomeページとか超いらない
"workbench.startupEditor": "none",
// ファイルの最後よりさらにスクロールするとか意味不明
"editor.scrollBeyondLastLine": false,
// ミニマップは邪魔 (糞長いスパゲッティコードでも書けと言うのか)
"editor.minimap.enabled": false,
// 関数名やクラス名を上部に固定表示にする機能は邪魔 (独特すぎる)
"editor.stickyScroll.enabled": false,
// ターミナルも同様で狭い中で上部固定されると本当に邪魔 (独特すぎる)
"terminal.integrated.stickyScroll.enabled": false,
// Shift_JISの文字化けを抑える
"files.autoGuessEncoding": true,
// 「このフォルダを信頼しますか?」と聞かれても結局「はい」って押しちゃうから無効化
"security.workspace.trust.untrustedFiles": "open",
// Ctrlを押しながらマウスホイールしたときに拡大/縮小 (リセットは"Reset Editor Font Size")
"editor.mouseWheelZoom": true,
// .gitignoreを使って検索対象外にすると予想外なことがあるから"search.exclude"を使う
"search.useIgnoreFiles": false,
// Javaはタブ派だったけどjsとかxmlとかがあるからタブはスペース入力にした
"editor.renderWhitespace": "all",
// 同じくjsとかxmlとかがあるからタブはスペース2つにした
"editor.tabSize": 2,
// grep時に行番号を表示する (なくても死ぬわけじゃないけど)
"search.showLineNumbers": true,
// 括弧やクォーテーションを入力したときに自動的に後ろを閉じない (自分で入力したいときに邪魔)
"editor.autoClosingBrackets": "never",
// 括弧やクォーテーションを消したしたときに自動的に後ろを消さない (予想外のものをよく消してしまうので邪魔)
"editor.autoClosingDelete": "never",
// 選択範囲を括弧やクォーテーションで囲わない (上書きしたいときに勝手に囲われてしまうから邪魔)
"editor.autoSurround": "never",
// --------------------------------------------------------
// その他の設定
// --------------------------------------------------------
// txtはmarkdowonで認識する (plaintxtで開いても色付かないし後々mdにすることも多いので)
"files.associations": {
"*.txt": "markdown"
},
// HTMLの属性名の色を変える (特にHTMLで便利)
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "entity.other.attribute-name",
"settings": {
"foreground": "#E6C07B"
}
}
]
},
// インデントの線の色 (特にHTMLで便利)
"workbench.colorCustomizations": {
"editorIndentGuide.background1": "#726477",
},
// --------------------------------------------------------
// デバッグ設定
// --------------------------------------------------------
// デバッグ中にインラインで変数の内容を表示する
"debug.inlineValues": "on",
// デバッグセッションが開始されると毎回デバッグコンソールを表示する
"debug.internalConsoleOptions": "openOnSessionStart",
// デバッグセッションが開始されると毎回デバッグウィンドウを表示する
"debug.openDebug": "openOnSessionStart",
// デバッグツールバーをデバッグウィンドウに埋め込む
"debug.toolBarLocation": "docked",
// --------------------------------------------------------
// アドオン設定
// --------------------------------------------------------
// code-eolアドオン - 改行コードの色
"code-eol.color": "#666666",
// insertDateStringアドオン - フォーマット
"insertDateString.format": "YYYY/MM/DD hh:mm:ss",
"insertDateString.formatDate": "YYYY/MM/DD",
// Insert Numbersアドオン - デフォルトの数値フォーマット (01,02,...)
"insertnum.formatstr": "%02d",
// Markdown All in Oneアドオン - テーブルの罫線のフォーマットが優秀なので使ってる
"[markdown]": {
"editor.defaultFormatter": "yzhang.markdown-all-in-one"
}
}
keybindings.json
keybindings.jsonの開き方
-
Ctrl+Shift+P(メニューバーから行くなら[移動]⇒[コマンド パレット]) -
Open Keyboard Shortcuts (JSON)と入力して選択
Open Keyboard Default Shortcuts (JSON)ではないです!"Default"がついてない方です!
[
// --------------------------------------------------------
// 基本設定
// --------------------------------------------------------
// 行削除
{
"key": "ctrl+d",
"command": "editor.action.deleteLines",
"when": "editorFocus"
},
// 行の右側を削除
{
"key": "ctrl+r",
"command": "deleteAllRight",
"when": "editorFocus"
},
// 行の重複化 (duplicate)
{
"key": "ctrl+shift+d",
"command": "editor.action.copyLinesDownAction",
"when": "editorFocus"
},
// 行結合
{
"key": "ctrl+j",
"command": "editor.action.joinLines",
"when": "editorFocus"
},
// 対応する括弧に移動
{
"key": "ctrl+m",
"command": "editor.action.jumpToBracket",
"when": "editorFocus"
},
// 対応する括弧を選択
{
"key": "ctrl+shift+m",
"command": "editor.action.selectToBracket"
},
// 大文字化・小文字化
{
"key": "ctrl+shift+u",
"command": "editor.action.transformToUppercase",
"when": "editorFocus"
},
{
"key": "ctrl+shift+l",
"command": "editor.action.transformToLowercase",
"when": "editorFocus"
},
// 単語のリファクタリング (選択した単語と一致する単語にマルチカーソルを当てる) (eclipse風)
{
"key": "shift+alt+r",
"command": "editor.action.addSelectionToNextFindMatch",
"when": "editorFocus"
},
// 矩形選択(マルチカーソル)開始 (デフォルトのCtrl+Shift+Altを簡易化してShift+Altに) (このキーに元々割り当てられている機能は行の重複化で代替可能)
{
"key": "shift+alt+down",
"command": "editor.action.insertCursorBelow",
"when": "editorFocus"
},
{
"key": "shift+alt+up",
"command": "editor.action.insertCursorAbove",
"when": "editorFocus"
},
// --------------------------------------------------------
// その他の設定
// --------------------------------------------------------
// Ctrl+,で設定画面を開くのと似たような感じでCtrl+Shift+,でkeybindings.jsonを開く (これデフォルトでもいいと思う)
{
"key": "ctrl+shift+oem_comma",
"command": "workbench.action.openGlobalKeybindingsFile"
},
// 開いているファイルをエクスプローラで開く (よくあるオプションを開くコマンドを割り当てる、非常に便利)
{
"key": "alt+enter",
"command": "revealFileInOS",
"when": "editorFocus"
},
// マークダウンプレビューを横に開く
{
"key": "ctrl+alt+m",
"command": "markdown.showPreviewToSide",
"when": "editorLangId == 'markdown'"
},
// --------------------------------------------------------
// タスクの設定
// --------------------------------------------------------
// VSCodeタスクを実行する (デバッグ実行のCtrl+F11と合わせてCtrl+F12)
{
"key": "ctrl+f12",
"command": "workbench.action.tasks.runTask"
},
// --------------------------------------------------------
// アドオン
// --------------------------------------------------------
// change-caseアドオン - スネーク・キャメル・アンダースコア変換
{
"key": "ctrl+k ctrl+u",
"command": "extension.changeCase.constant",
"when": "editorFocus"
},
{
"key": "ctrl+k ctrl+s",
"command": "extension.changeCase.snake",
"when": "editorFocus"
},
{
"key": "ctrl+k ctrl+c",
"command": "extension.changeCase.camel",
"when": "editorFocus"
},
// Insert Date Stringアドオン - 日付挿入 (ここで";"としても":"でないと反応しない)
{
"key": "ctrl+shift+;",
"command": "insertDateString.insertDate",
"when": "editorFocus"
}
]
おまけ
インターネットから断絶されている環境でVSCodeを動かして、
VSCodeが何度もプロキシ越しにネットワークアクセスを試みて困った経験がありました。
それを回避するために組んだsettings.jsonを残しておきます。
{
"update.mode": "none",
"extensions.autoCheckUpdates": false,
"extensions.autoUpdate": false,
"telemetry.telemetryLevel": "off",
}
サクラエディタとの関係
前著の2026年版 サクラエディタの初期設定の仕方!と少し関係しています。
サクラエディタしか使えない状況に陥ったときも、
自分なりのキーバインドを設定し直せば少しはやっていけます。逆も然り。