0

Scintilla エディターに基づいてプロジェクトを実行しようとしていますが、初心者なので、実際にプロジェクトを開始する方法がわかりません。Readme の手順に従い、Windows で Scintilla をビルドすることができました。次に何をすべきかを考えています。

どんな種類の回答/提案/アドバイスも大歓迎です。ありがとう。

4

3 に答える 3

1

レクサーを使い始めたときは少し気が遠くなりましたが、すべてはいくつかの重要なアイデアに要約されます。

  • レクサーをレクサーフォルダーに入れる
  • 追加したレクサーについて scintilla に伝える
  • 定数を scintilla.iface に追加します
  • 独自の定数について scintilla に伝えます (使用している場合)。
  • コード/コンパイル + 満足するまで繰り返す

実際の例は次のとおりです。

Lexer テンプレートを作成したら、LexNEW.cxx という名前を付けます。

  • LexNew.cxx を/lexersフォルダに入れる
  • と入力し/srcて実行しますLexGen.py。これにより、Scintilla.h に追加された新しいレクサーがあることが scintilla に通知されます。

ここで、定数を .iface ファイルに追加します。最も重要なものは次のとおりです。where は未使用の ID 番号であり、whereval SCLEX_NEW=108はレクサーの有効な一意の短い識別子です。108lex new=SCLEX_NEW SCE_NEW_new

それらを他の定義と同じセクションに入れ (後で混乱を避けるため)、疑わしい場合は他の定義の 1 つをテンプレートとして使用してください!

行の下で、次のlex new=ような独自の定数値を定義できます。

val SCE_NEW_DEFAULT=0
val SCE_NEW_COMMENTLINE=1
val SCE_NEW_COMMENTBLOCK=2
val SCE_NEW_ERROR=31

このステップの後、ほとんど準備ができています。

  • 入力し/includeて実行Hface.pyすると、新しい定数が scintilla に通知されます。

lex コードが有効であれば、コンパイルする準備ができています。

新しい定数を作成するたびに、最後の手順を繰り返すことを忘れないでください。スクリプトはこれらの値を SciLexer.h に追加します。HFace.pyこれは、毎回 2 つのステップを実行したくない場合に手動で行うことができます。

そして、それは私の友人がコンパイルした後、プログラムがレクサーを次のように設定していることを確認し、次のようsci.SetLexer(108)に各状態に色をsci.StyleSetFore(01, 0x008800) // SCE_NEW_COMMENTLINE付けます。

最後に使用したいのは、 幸運SciLexer.dllではないすべてのレクサーを含むものです!scintilla.dll

于 2012-11-03T19:51:08.967 に答える
0

Scintilla for .NETを使用すると有利なスタートが切れる場合があります...

于 2012-05-04T17:01:18.983 に答える