現在、コード補完機能を備えたPHP言語用のテキストエディタを構築しようとしています。つまり、単語を入力し始めると、動的に作成されたドロップダウンリストに、入力した文字で始まる使用可能なすべてのキーワードが表示されます。どんな体でもそれがどのようにできるか私に提案できますか?アイデアで十分です。可能であれば、C#でビルドされたそのような単純なアプリケーションへのリンクを教えてください。
2 に答える
もし私があなたが本当に車輪を避けようとするなら...コード補完はほとんどのIDEに付属しているものなので、あなたが求めているものはすでに利用可能です...
そうは言っても、私が試みるのは、PHP APIを調べて、サフィックスツリーを構築することです。このタイプのツリーは通常、特定の単語をすばやく検索する方法を可能にします。APIのインデックスを作成したら、ユーザーが実際のプログラミングを実行しているときに追加する他の変数も追加します。
ユーザーが3番目の文字を入力した後、サフィックスツリーで検索を自動的に開始するか、Ctrl-Space
ほとんどのIDE(Visual Studio、Netbeans、Eclipseなど)にあるキーボードのように、ユーザーが手動で検索をアクティブ化する手段を提供できます。
適切な変数タイプを選択したい場合があるため、これは注意が必要な場合があることに注意してください。
一般的にそれは簡単な作業ではないことを考えると、「簡単な」アプリケーションはありません。
一般的な考えがロケット科学でなくても。いくつかのキーに対応する単語の辞書を定義する必要があります。「。」と入力すると (in )辞書から「。」の左側C#
にある単語に等しいキーに対応するすべての単語を選択する必要があります。
それを実際に機能させるアプリケーションはそれほど簡単ではありません。ちなみに、 MonoDevlopをエディターで確認することをお勧めします。
私は何年も前にそれを使って必要なDSL会社用のシンプルなエディターを作成し、インテナルを正しく理解し、「私の新しい言語」をうまく統合し、Monoから制御を「切り離し」、アプリケーションに注入するために少なからず時間を費やしました。ドッキング可能なウィンドウ。