コード補完機能を実現するには?

解決


ぽむ  2002-07-08 09:14:04  No: 1089

初めて投稿させていただきます。
DelphiのBBSに投稿していいかどうか迷いましたが、Delphiで作成しているのでここにしました。

今、仕事で使う自作のエディタを作成しているのですが、
コード補完機能?(”.”の後に現在の入力候補をリストアップする機能)
をどうやって実現していいか迷っています(といいますかわかりません)。

特別なアルゴリズム等ありましたら、
ご教授ください。

プログラミング初心者で詳しいことがあまりわからないので、
何か足がかりになればと思います。

よろしくお願いします。

<環境>
Windows2000
Delphi6 Personal版


にしの  2002-07-08 18:14:06  No: 1090

アルゴリズムに、特別と普通の区別はないと思います。
アルゴリズム(=算法)というのは、ある処理を行う定石のようなものですから。
定石に特別はありません。

実現するには、まずエディタの編集機能と、エディタ本文からキーワードを抜き取る機能に分けます。
キーワードを抜き取る機能は、別スレッドで検索するようにし、編集がされたらまた最初から検索するようにします。
編集機能で、たとえばCtrl+Spaceが押されると、キャレット位置に検索したキーワード一覧を表示します。表示してからは、一覧が消えるまで、検索機能ではなく、キーワード入力機能として動作させます。

大まかに説明するとこんな感じです。
ひとまず、スレッドはおいておいて、キーが押されたら一覧が表示され、キーワードを特定して入力する、というのを作ってみてはどうですか?

mwEdit(現在のSynEdit)が、そういう機能を実現しています。
http://synedit.sourceforge.net/
参考にしてください。
# 日本語ではありません。


ぽむ  2002-07-08 21:45:42  No: 1091

回答ありがとうございます。

いろいろと開発のキーワードを発見することができました。
糸口が見つかりましたので、試行錯誤してみようと思います。
(自分のレベルアップにも繋がると思うので)

また、行き詰まったら質問させていただこうと思います。

その時はよろしくお願いします。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加