エディタ作成までの最短道のり(コンテンツアシスト編)

SourceViewerConfigurationの拡張クラスを対象

#getContentAssistant(ISourceViewer)をオーバーライド
  • ContentAssistantのインスタンスを作成
    • #setContentAssistProcessor(IContentAssistProcessor, String)にプロセッサを設定

IContentAssistProcessorを実装

#computeCompletionProposals(ITextViewer, int)を実装
  • 保管のための文字列を作成
  • ContextInformation(String, String)
    • 置換文字列
    • Tips
  • CompletionProposal
    • 置換文字列
    • 位置
    • 置換する文字列の長さ
    • カーソル位置
    • 画像
    • display
    • ContextInformation
    • addtionalInfomation

Actionの追加

createActions()をオーバーライド
  • super#createActions()を呼ぶ
  • ContentAssistAction(ResourceBundle, String, ITextEditor)をインスタンス
    • 引数調査
  • IAction#setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS)でコンテンツアシストであることを知らせる
  • #setAction(String, IAction)
    • 引数調査