ページ

2012-11-09

SublimeText2でコード補完の候補選択をTabで行う方法


SublimeCodeIntelを入れているといちいちctrl+spaceをしなくてもコード補完(auto complete)の候補が出てくる。
コード補完の候補が表示されている時にTabを押して次の候補→次の候補と選択したい。(Google IMEと同じ動作)。下記の設定で実現した。winだけで確認。
Preferences > Key Bindings - Userに
[
 { "keys": ["tab"], "command": "auto_complete", "context":
  [
   { "key": "auto_complete_visible", "operator": "equal", "operand": true }
  ]
 },
 { "keys": ["shift+tab"], "command": "auto_complete_prev", "context":
  [
   { "key": "auto_complete_visible", "operator": "equal", "operand": true }
  ]
 }
]

調べ方

ctrl+spaceでコード補完を表示させた後、続けてctrl+spaceを押せばauto_completeコマンドによってコード補完の次の候補が選択され最後までいくとまた先頭に戻る動作を確認した。
次に Preferences > Key Bindings - Default を検索(正規表現を有効にしてctrl\+spaceをキーワードに検索)して、それっぽい{ "keys": ["ctrl+space"], "command": "auto_complete" }が見つかったので、tabに移植した。
キーバインド設定の空気はここで掴む。Key Bindings — Sublime Text Unofficial Documentation

メモ

Google IMEはTabで候補選択ができて、さらにTab+shiftで一つ前に戻ることができる。この動作もSublimeに取り入れるかはまだ決めてない。ちなみにsublimeでctrl+shift+spaceで同じ動作にならなかった。

追記

Sublime Text Japan Users Groupで教えていただいた。auto_complete_prevコマンドで解決。ありがとうございます!
Auto completeで一つ前の選択に戻すキーバインドを知りたい - Google グループ

0 件のコメント:

コメントを投稿