Scintilla.NETには、カーソルがコメントまたは文字列上にあることを検出する関数が組み込まれていますか?私は、ユーザーがコメントや文字列を入力しているときに動作するオートコンプリートを避けたいと思います。カーソルがScintilla NETのコメントまたは文字列を超えています
私は、テキスト全体を後方にスキャンして、//、/ * *、および ""のペアを検索できることを知っていますが、それを行うための組み込み関数が必要であることはほとんど確信しています。
ありがとうございます!
Scintilla.NETには、カーソルがコメントまたは文字列上にあることを検出する関数が組み込まれていますか?私は、ユーザーがコメントや文字列を入力しているときに動作するオートコンプリートを避けたいと思います。カーソルがScintilla NETのコメントまたは文字列を超えています
私は、テキスト全体を後方にスキャンして、//、/ * *、および ""のペアを検索できることを知っていますが、それを行うための組み込み関数が必要であることはほとんど確信しています。
ありがとうございます!
レクサーを使用している場合は、現在のキャレットの位置でスタイル番号を取得し、文字列またはコメントに対応するかどうかを確認できます。スタイル番号を取得するためのScintillaのAPIは次のとおりです。
ScintillaNET.Scintilla.PositionIsOnComment(System.Int32)
ScintillaNET.Scintilla.PositionIsOnComment(System.Int32,ScintillaNET.Lexer)
Scintilla.NET documentation状態が既に検出コメントのいくつかの便利なAPIがあります
しかし、文字列に相当するものはないようです。ScintillaNET.Scintilla.SendMessageDirect()
のいずれかの方法で上記のScintillaメッセージを使用して自分自身をロールバックする必要があるようです。
私はレクサーを使用しているので、最初の回答がうまくいきました。したがって、私は2番目の答えを試しませんでした。ありがとう! :) – KakCAT