OcaIDEのTABキー動作

OcaIDEのマニュアルによると、OCaml editorにおいてTabキーで必要に応じて ->[]:: が挿入されるようです。でも私の環境

  • Eclipse: 4.2.2
  • OcaIDE: 1.2.17.201212221227

では挿入されません。また、Ctrl+Tabでmatchなどを補完させたときに、入力エリア(name)でTabキーを押しても次の入力エリア(|の後ろ)に移動しません。

TabキーでTAB文字ではなくスペースが入るように設定していたのが原因のようで、Preferenceの設定を変えていろいろ試してみたところ、上記の動きには3つの設定項目がからんでいました。

違いがわかるように、

  • [General]/[Editors]/[Text Editors]のDisplayed tab width: 4
  • [OcaIDE]/[Editor]のTab width in spaces: 2

に設定してあります。

Preferenceの設定
[General]/[Editors]/[Text Editors]のInsert spaces for tabs
[General]/[Keys]のShift Right Tab unbind unbind unbind unbind
[OcaIDE]/[Editor]のInsert spaces instead of tabulations
動き
挿入、補完 × × ×
行頭Tabキー入力 tab tab 4 spcs 2 spcs 4 spcs
行インデント(複数行選択+Tab or 1行全選択 + Tab) 2 spcs tab tab tab tab


挿入、補完は、General設定で

  • tabをspaceにはしない
  • Shift RightにTabを割り当てない

の、2条件がそろっていないとダメでした。

行頭Tabキー入力は、OcaIDE設定でtabをspaceに変換するようにすればスペースになるのですが、行インデントはtabのままです。

表には無いのですが、[General]/[Keys]のShift Rightを、Ctrl + Tab などにすれば、そのキーによる行インデントは空白2つになっていい感じです。でも、改行時に自動で深くなるインデントはtabのままでした。

tabは常に空白になるようにしたいのですが、試した範囲では出来なさそうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA