投稿者 tel | 2015年1月7日

BracketsでGLSLの入力補完をする

以前、BracketsのGLSLの色分けをしたものに入力補完機能を追加した。組み込み関数、変数、定数、プリプロセッサの候補が表示される。

hint_ss

https://github.com/sapphire-al2o3/Brackets-GLSL

拡張機能マネージャからURLを入力するとインストールできる。

実装時のメモ

入力補完のプラグインを作る上でのメモ。

入力補完機能を作る場合には CodeHintManager にいくつかのメソッドを実装した CodeHintProvider を登録する。

  • CodeHintProvider.hasHints(editor, implicitChar)
  • CodeHintProvider.getHints(implicitChar)
  • CodeHintProvider.insertHint(hint)

まず、何か入力されると hasHints が呼び出される。このメソッドで入力補完をするかどうかを決定する。
返り値に true 返した場合、補完処理が開始され getHints が呼び出される。
引数の implicitChar は入力された文字が入っている。Ctrl + Space で呼び出された場合は null 。

getHints は入力された文字に応じた補完候補のリストを作成して返す。このメソッドは補完処理が開始されていると1文字入力するごとに呼び出されている。
リストは文字列かjQueryのオブジェクトが指定できる。基本的には<span>のjQueryオブジェクトを渡しているのが多いみたい。

補完候補が決定された場合 insertHint が呼び出される。この関数の中でエディタのテキストを編集して選択された補完候補を挿入する処理を書く。


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。