自動補完 (Auto Complete)

自動補完は、入力しようとしているキーワードが推測され、その予測されたキーワードの一覧から選択するだけで、キーワードを入力できる機能です。

補完の候補として表示されるキーワードは、

  • 登録されたキーワードから推測する … 関数名補完
  • 編集中のファイル内のキーワードから推測する … 単語補完

の2つがあります。

自動補完の使用方法

自動補完の候補を表示するには、自動で表示させる方法と、手動で表示させる方法の2つがあります。

入力候補の自動表示

メニューの【設定 → 環境設定 → 自動保存/入力補完】にある[入力の毎に補完を行う]にチェックを入れます。

入力候補の手動表示

キーワードの入力中に、メニューの【編集 → Auto-completion】から[関数名補完]または[単語補完]を選択します。または、キーボードから Ctrl + Spaceを押下します。

自動補完の定義ファイル

関数名補完は、あらかじめ登録されたキーワードしか補完できません。よって希望するキーワードが候補に表示されないならば、それを登録する必要があります。

この定義ファイルはNotepad++のインストール フォルダ以下のplugins/APIs (またはautoCompletion) フォルダにあり、これを編集することで任意のキーワードを登録できます。未定義の言語を追加するには、このフォルダに「言語名.xml」の名前でファイルを作成します。

たとえばPHP用の定義ファイル (php.xml) は、次のような内容となっています。

<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
  <AutoComplete>
    <KeyWord name="abs" func="yes">
      <Overload retVal="int">
        <Param name="int number" />
      </Overload>
    </KeyWord>
    <KeyWord name="abstract" />
    ...
    </AutoComplete>
</NotepadPlus>

キーワードを定義するだけならば、<KeyWord>要素を追加するだけです。

<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
    <AutoComplete>
        <KeyWord name="above" />
        <KeyWord name="abs" />
        ...
        <KeyWord name="_content" />
    </AutoComplete>
</NotepadPlus>

<KeyWord>は、name属性のASCIIコードに並べられている必要があります。さもなくば自動補完は機能せず、そのときは警告すら表示されません。

書式

要素 説明
AutoComplete 自動補完の定義
Environment 全般の設定
KeyWord キーワード
Overload  
Param 引数?

要素ごとの属性

<Environment>
属性 説明
ignoreCase 大文字/小文字の区別
  • yes … 区別する (既定値)
  • no … 区別しない
startFunc  
stopFunc  
paramSeparator  
terminal  
additionalWordChar  
<KeyWord>
属性 説明
name  
func  
<Overload>
属性 説明
retval  
descr  
<Param>
属性 説明
name  
Autocompletion, aka API, files