単語補完拡張キット(基盤)

  • 概要

    この「単語補完拡張キット」はプログラムの心得がある人向けに制作された
    「秀丸本体の入力補完」を拡張するための「基盤システム」です。

    • 最初のdll読込以外はマクロを一切介することが無いため、マクロ衝突もなく、高い安定性を確保しています。
    • 完全ネイティブC++であり、秀丸の仕組みそのものとして振る舞っているため、秀丸との連動性に優れる上、高速です。
    • UI・表示物・表示方法・解析方法等は、「あなた自身が1から全てプログラムする」ため、自由なカスタム性と創造性を維持しています。

    など、既存のものとは一線を画する仕組みとなっています。

  • ダウンロード

    DOWNLOAD ⇒ HmAutoCompleteEx.zipファイル。ver 0.802
    └更新日 2017/04/23

    動作環境

    • 秀丸 32bit版 ver8.66以上
      Windowsのbit数ではなく、秀丸のビット数 Windows OSが64bit版か32bit版かは関係ありません。秀丸エディタが32bit版か64bit版かが問題です。
      単語補完拡張キットは32bit版でのみ動作します。

    インストール

    • このプログラムは「インストールしたから何か起きる」といった類のものではありません。
      具体的どのように使うのかは、全てチュートリアルを通して順番立てて学ぶことが出来ます。
  • 200行程度の短いプログラムにて、以下のようなことが簡単に実現できます

    • 単語補完時に説明文枠を表示①(用意していた辞書ファイルから表示)

      (事前に辞書を用意して、一致する関数の説明文を表示)

    • 単語補完時に説明文枠を表示②

      (「編集中テキスト」をリアルタイムに分析して、関数のコメントと思われるものを表示)

    • 自身で「今必要な候補」を分析し、結果を単語補完リストに強制追加

      (辞書にもファイル中にも存在しない「あああ」と「いいい」が追加された。)

    必要となる知識

    Visual Studio を利用した「.NET プログラミング入門程度(日々勉強して一週間程度)」は理解していることが望ましいです。

    • C++/CLI or C#など、マイクロソフト基幹プログラミング言語のいずれか(解説は全てC++/CLIが掲載されています)

      C++/CLI、もしくは、C#の少なくとも一方の「入門程度は理解できている」ことが望ましいと言えます。

    • .NET Frameworkの基本

      C++/CLIもしくはC#で、たとえ数百行程度の小さなフォームアプリケーションであったとしても、
      (ソースの自動生成ではなく)自力で記述したことがあれば、かなり理解がスムーズに進みます。

    • .dllの作成方法や動作原理の概要

      汎用的なWindowsの「.dll」を自力で制作したことがある、基本的なところは理解している、といった前提で解説は行われます。

    • Visual Studioの基本操作

      Visual Studioの利用方法は理解している、という前提で解説は行われます。
      又、開発環境として、Visual Studio 2013 Community以降(Visual Studio 2015 Communityでも同じ)の利用を前提として解説しています。

    提供する機能は以下のように「コールバック」系であり、たった5つだけです。

    • OnCreate

      単語補完ウィンドウが表示される際に、呼び出されるコールバックをプログラム定義できます。

    • OnDestroy

      単語補完ウィンドウが消滅する際に、呼び出されるコールバックをプログラム定義できます。

    • OnListBoxSelectedIndexChanged

      単語補完リストの選択項目が変更された際に、呼び出されるコールバックをプログラム定義できます。

    • OnQueryListBoxCustomAdded

      単語補完リストを決定する際に、間に割り込み、リストの先頭に新たな単語補完候補を追加するプログラム内容を定義することが出来ます。

    • OnKeyDown

      秀丸上で、キーボードが押される度に呼び出されるコールバックをプログラム定義できます。

    ライセンス

    • HmAutoCompleteEx

      全て Apache License 2.0となります。

      ソースの場所

      • Githubにソースがあります。