1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LeveragesAdvent Calendar 2018

Day 8

vscodeのカスタマイズ設定を晒す

Last updated at Posted at 2018-12-07

gist

#要点

Macはdefaultのキーボード設定だと、重要なinterisenseのコードが死んでます。
なので、ctrl+mによってsuggestを呼びやすくしています。

keybinding.json
{
  // ...抜粋
  {
      "key": "ctrl+m",
      "command": "-editor.action.toggleTabFocusMode"
  },
  {
      "key": "ctrl+m",
      "command": "editor.action.triggerSuggest",
      "when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly"
  },
  {
      "key": "ctrl+m",
      "command": "toggleSuggestionDetails",
      "when": "suggestWidgetVisible && textInputFocus"
  },
}

また、デフォルトの設定ではsubbestion選択のトリガーはEnterを押すと補完が発火します。これを防ぐには、shift+Enterを押す必要があるのですが、これは、改行が入ってしまうため、spaceなどで入力を続行したい場合に煩わしいので、ctrl+Enterでsuggestionをクローズするようにしています。

またVisualStudio風にtab or shift+tabによって、suggestionの移動が出来るように変更しています。

keybinding.json
{
  // ...抜粋
  {
      "key": "shift+tab",
      "command": "selectPrevSuggestion",
      "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
  },
  {
      "key": "tab",
      "command": "selectNextSuggestion",
      "when": "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus"
  },
  {
      "key": "tab",
      "command": "-acceptSelectedSuggestion",
      "when": "suggestWidgetVisible && textInputFocus"
  },
}

これによって、snippetなどの入力決定はすべてEnterで行うことになりますが、実は、デフォルトの設定だとsnippet使用時にtabを使用している場合、subbestionが表示されているとjumpと同時に補完してしまうため、本来入力したかったものと異なる文字入力をされてしまうことがあります。これを防ぐために、先程のctrl+Enterおよび補完による入力確定をした後はtab及び、Enterによるjumpを有効になるため、デフォルトのまま使い勝手を持続する事ができます。

後は好みの問題になりますが、個人的に小指が短く \や[]に押しづらさを感じているので、

keybinding.json
{
  // ...抜粋
  {
    "key": "ctrl+o ctrl+p",
    "command": "editor.action.jumpToBracket",
    "when": "editorTextFocus"
  },
  {
      "key": "ctrl+o ctrl+o",
      "command": "editor.action.selectToBracket"
  },
}

などにbracket選択とjumpを設定しています。
また、expand selectionを

settings.json
{
  {
      "key": "ctrl+shift+cmd+o",
      "command": "bookmarks.expandSelectionToPrevious",
      "when": "editorTextFocus"
  },
  {
      "key": "shift+alt+j",
      "command": "-bookmarks.expandSelectionToPrevious",
      "when": "editorTextFocus"
  },
  {
      "key": "ctrl+cmd+o",
      "command": "bookmarks.expandSelectionToNext",
      "when": "editorTextFocus"
  },
  {
      "key": "shift+alt+l",
      "command": "-bookmarks.expandSelectionToNext",
      "when": "editorTextFocus"
  }
}

Function key系は、HHKBだと押しやすいので、特に変更をしていません。

今回は個人的に使っているkeybindの紹介をしました。
なにかおすすめの設定あったら教えてください。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?