LoginSignup
6
2

VSCodeおすすめの設定と拡張機能(プログラミング言語によらずテキスト編集一般に役に立つもの)

Last updated at Posted at 2022-09-14

他であまり紹介されていないものを紹介する。
おすすめ度は★から★★★まで。

拡張機能

All Autocomplete ★★

開いている全ファイルから自動補完の候補を拾うようにする。

Use editor.wordBasedSuggestionsMode setting and set this to allDocuments to have VSCode to support most of this natively.
editor.wordBaedSuggestionsModeをallDocumentsに設定することで、この拡張のほとんどの機能がネイティブで有効になる

と、まるでこの拡張なしで標準でもできるようなことが書かれているが、試しても他言語のファイルからは候補が拾われなかった。

Error Lens ★★★

lintの警告やエラーをエディタ内にインラインで表示する。

Filter Text ★★

エディタ内のテキストに対し、任意のシェルコマンドをフィルタとして実行。Vimの :%! みたいなもの。

Find Word At Cursor ★★

カーソル下の単語を検索(単語の区切りを認識してくれる)。Vimの * みたいなもの。
地味に重宝。

Numbered Bookmarks ★★

1〜9まで番号付きのブックマークを設定できる。
Cmd+k Ckd+1 でブックマーク1設定、Cmd+Opt+1 でブックマーク1へジャンプというようにしている。
9個設定できるが、実際は1か2までしか使わない。

Quick and Simple Text Selection ★★★

引用符やカッコで囲まれた文字列を選択できる。Vimのテキストオブジェクトみたいなもの。
下記のように設定している。クォートの内側を選択する機能は非常によく使う。

  {
    // クォートの種類をトグル
    "key": "cmd+1",
    "command": "extension.switchQuotes",
    "when": "editorTextFocus"
  },
  {
    // クォートを選択(1回押下で内側選択、2回押下でクォートも含めて選択)
    "key": "cmd+2",
    "command": "extension.selectEitherQuote",
    "when": "editorTextFocus"
  },

Select by Indent

インデントレベルに基づいてテキスト選択できる。
選択範囲の判定方法は多数用意されているが、自分は下記のみ利用している。

  // 現在行から同じインデントの行まで選択
  {
    "key": "cmd+3",
    "command": "vscode-select-by-indent.select-outer-down"
  },

これにより、下記のifの行にカーソルをおいた状態でCmd+3を押すと、カーソル行から}の行までを選択してくれる。

function() {
  if (hoge) {
    ...
  }
  return 0;
}

VS Code Mark/Point

1回目の実行で「マーク」を設定し、2回目の実行で「マーク」から現在のカーソル位置までを選択。EmacsのCtrl+Spaceみたいなもの。
これがあると、まずマークを設定しておいて、ショートカットキーにより希望の終端までカーソル移動、選択、という流れで操作ができる。

※いつの間にかVSCode標準でできるようになったらしい。Cmd+K Cmd+B (Set Selection Anchor)でマーク。Cmd+K Cmd+K (Select from Anchor to Cursor)でマークからカーソル位置までを選択。

キーバインド

よく使う機能は左手だけで押せるキーバインドにしておきたい。そうすると右手にマウス、左手にキーボードというスタイルで操作しやすい。
Cmd+l(行を選択)は非常に便利なのにあまり使われていない印象でもったいない。

{
    // 行選択。連続押下で選択範囲を下へ広げる。デフォルト: cmd+l ★★★
    "key": "cmd+e",
    "command": "expandLineSelection",
    "when": "textInputFocus"
},
{
    // 選択モードのままカーソルを1行上へ(cmd+lの逆)★
    "key": "cmd+q",
    "command": "cursorUpSelect",
    "when": "textInputFocus"
},
{
    // 対応するカッコへジャンプ。★★★
    "key": "ctrl+z",
    "command": "editor.action.jumpToBracket",
    "when": "editorTextFocus"
},

設定

フォルダを新規ウィンドウで開くようにする ★★★

複数リポジトリを扱う際、最近使ったリポジトリを開くにはOpen Recent(Ctrl-R)でインクリメンタルサーチするのが便利。
しかしデフォルトでは現在のウィンドウが置き換えられてしまうので、以下の設定で新規ウィンドウで開くようにできる。

    "window.openFoldersInNewWindow": "on",

ダブルクリック時の単語選択で日本語を含まないようにする ★★

マウスホイールでスクロールする行を増やす ★★

下記で2行ずつスクロールになる。
なお、Optionを押しながらホイールで高速スクロールになる(標準機能)。

    "editor.mouseWheelScrollSensitivity": 2,

エディター・グループやアプリ間で検索語を共通にする(macOS)★★

デフォルトでは、Cmd+fによる検索語はエディター・グループごとに記憶される。
そのため、左のエディター・グループで検索したあと、右のエディター・グループでF3を押してもマッチしない。
下記を設定すると検索語がグローバルに記憶されるようになる(macOSのみと思われる)。

    "editor.find.globalFindClipboard": true,

なお、VSCodeだけでなくChromeやiTerm2など、他のアプリ間でも検索語が共有される。

ホイールスクロールでタブ切り替え★

デフォルトでは、Shiftを押しながらタブ上部でマウスホイールをスクロールすると、タブ切り替えができる。
下記を true にすると、Shiftを押さなくてもタブ切り替えになる。

    "workbench.editor.scrollToSwitchTabs": true,

標準機能

トリプルクリックで行選択、そのままドラッグで複数行選択

トリプルクリックで行選択できる。3回目のクリックで押したままにし、上下へドラッグすると行単位で複数行選択できる。
マウスで行単位選択するには、行頭でクリックしてそのまま真下へドラッグするやり方もあるが、クリックするポイントに少し神経を使うので、もしかしたらトリプルクリックの方が楽かもしれない?

ダブルクリックで単語選択、そのままドラッグで複数単語選択

例えば次のテキストにおいて、

http.request(url, options)

httpをダブルクリックして単語選択してから、そのまま右へドラッグするとhttp.requestまで選択された状態になる。

Fold Level 1 〜 Fold Level 7

コマンドパレットにFold Level 1を入力。指定したレベルの折りたたみを閉じてくれる。
rspecやjestなどのファイルで行うと見出しだけを残してくれていい感じになる。

最後に編集した位置へ戻る(Cmd+k Cmd+q)

vimの `. と同じ。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2