問題タブ [scintilla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Scintilla での交互の行の色付け
Scintillaコンポーネントのラッパーである wxPython のwxStyledTextCtrlを使用しています。
交互の行の色付けを取得する方法はありますか (ある背景色の奇数行と別の色の偶数行)? 組み込みの python スタイラーを使用してキーワードを強調表示しています。
c - シンティラとスレッドセーフ
Windows (Win32、C/C++) で Scintilla エディット コントロールを使用しています。コントロールは WndProc で作成されます。Boost.Thread で作成された 2 番目のスレッドがあります。これはスペル チェッカーとして機能し、スペルが間違っている単語を赤い波線でマークします。したがって、Scintilla コントロールの内容を変更する 2 つのスレッドがあります。
最初は、テキストの編集中にプログラムがクラッシュしていました。そこで、スレッドセーフについて Scintilla を調査しました。情報はほとんど見つかりませんでしたが、ドキュメントでこの引用を取得することができました:
別のスレッドから Scintilla ウィンドウのネイティブ スレッドに対して直接呼び出しを実行すると問題が発生します。この場合、SendMessage(hSciWnd, SCI_*, wParam, lParam) を使用してウィンドウのスレッドと同期する必要があります。
もちろん、私は直接呼び出しを使用しているので、スペル チェック スレッド内のすべての呼び出しを SendMessage に変更すると、プログラムがクラッシュしなくなりました。最後に、それが問題です。私は問題を解決しましたか、それとも Scintilla とマルチスレッドで他の癖に遭遇するのでしょうか?
c# - C#プロジェクトでScintilla .NETを使用する方法は?
プロジェクトでScintilla.NETを使用しようとしています(優れたエディターと構文の強調表示などが必要です)。残念ながら、プロジェクトでバイナリを参照すると、Scintillaコントロールを実際に使用できないようです。2つの異なるエラーが発生します。
1つ目は、プロジェクトへの参照としてSciLexer.dllを追加するときに発生します。次のようなメッセージが表示 されます。SciLexer.dllへの参照を追加できませんでした。ファイルにアクセスできること、およびファイルが有効なアセンブリまたはCOMコンポーネントであることを確認してください。
2番目のエラーは、ScintillaNET.dllのコントロールを使用しようとすると発生します。コンポーネントをフォームにドラッグしようとすると、次のメッセージが表示されます。コンポーネントScintillaの作成に失敗しました。エラーメッセージは次のとおりです。System.ComponentModel.Win32Exception:%1はScintillaNet.Scintilla.get_CreateParams()で有効なWin32アプリケーションではありません
これらの問題のいずれかで助けていただければ幸いです。ちなみに、私は64ビットのWindows7プラットフォームで実行されているVisualStudio2008を実行しています。
ありがとう。
c# - 実行時にプログラムでScintillaコントロールに影響を与えることができない
作業中のアプリケーションでScintillaNETコントロールを使用しようとしています。コントロールをフォームにドラッグアンドドロップして、フォームを実行します。コントロールがフォームに表示されます。これはいい。さらに、コントロールのプロパティエディター(ConfigurationManager.Languageなど)でいずれかのプロパティを設定すると、その言語を入力して、構文の強調表示が行われることを確認できます。
問題が発生するのは、プログラムでプロパティを変更しようとしたときです。たとえば、ファイルからフォームにテキストを読み込もうとします(これはフォームの読み込みで行います)。テキストは表示されません。また、行番号を表示したり、他の数のタスク(プログラムによる言語の変更を含む)を実行したりできないようです。
私が間違っているかもしれない何か考えはありますか?以下のコードのような単純なものでも機能しないようです。
mouse - ScintillaNet-ユーザーがクリックした行を特定する
ScintillaNetテキストボックスコントロールを使用して検索結果を表示しています。ユーザーが結果の行をダブルクリック/右クリックしたことを検出して、クリックしているヒットを特定できるようにしたいと考えています。
誰かがこれを行うための最良の方法について何かアイデアがありますか?私はいくつかの方法を考えることができますが、それらはすべて私には少し「ハッキー」に見えます。
c# - C# コンポーネントでマウス クリックにアクセスする
私は ScintillaNET コンポーネントを使用しており、マージンでクリックをキャプチャしようとしています。これにより、応答方法が決まります。残念ながら、マージンはマウスイベントをキャプチャします(そして、私が見ることができる方法から、クリック情報(クリック数、クリックされたマウスボタンなど)を取得する方法を提供しません)。
これが事実である場合 (その情報を直接取得することはできません)、 MarginClick イベントが発生する前にマウスが何をしているかをキャプチャする別の方法は何ですか?
助けてくれてありがとう!
python - QsciLexerCustom サブクラスが QsciScintilla を使用して PyQt4 で動作しないのはなぜですか?
私の最終目標は、PyQt4 と Python 2.6 を使用して、QsciScintilla で Erlang 構文の強調表示を取得することです。Windows 7 で実行していますが、Ubuntu のサポートも必要です。
PyQt4 には、"base" scintilla が持つ Erlang lexer/highlighter に必要なラッパー コードが欠けているため、QsciLexerCustom の上に軽量のものを書くことにしました。Qsciラッパーは、テキストの部分範囲を取得/設定するときに、開始からのオフセットではなく、行+インデックスについて話したいように見えるため、少し問題があります。一方、レクサーは引数をオフセットからの開始として取得します。今のところ、テキスト全体のコピーを取得し、必要に応じて分割します。
次のレクサーがあり、setLexer() で適用します。新しいファイルを開いてこれをレクサーとして設定すると、適切な呼び出しがすべて取得され、実行内容に基づいて適切な行が多数出力されます...しかし、ドキュメントにはスタイルがありません。定義されたすべてのスタイルを赤くしようとしましたが、ドキュメントはまだ頑固に白地に黒なので、スタイルは実際には「効果を発揮」していないようです
私は何を間違っていますか?ここに誰も知らない場合、人々が実際にこれらのことを知っている可能性のある適切なディスカッション フォーラムはどこですか? (これは Python、Qt、Scintilla の興味深い交差点なので、知っている人は少ないと思います)
prefs.declare() が、指定されたキーの値を返す dict を設定するだけであると仮定しましょう (私はこれを確認しました - それは問題ではありません)。scintilla がそのホスト ウィンドウ QWidget に合理的に適切に構築されていると仮定しましょう。具体的には、バンドルされているレクサー (QsciLexerPython など) を適用すると、有効になり、スタイル付きテキストが表示されます。
次のように QsciScintilla ウィジェットに適用されます。
... ドキュメント ウィンドウ クラス内 ...
アプリケーションの残りの部分も動作すると仮定しましょう (動作するため :-)
vb.net - フォーマットを失わずに Scintilla にテキストを追加する
VB.NET で scintilla を使用して開発を開始し、シリアル ターミナル プログラムを作成しています。Scintilla コントロールは、コンピューターのシリアル ポートで受信したデータを示します。
コントロールするテキストをプログラムで追加する必要があります。
私が使用する場合:
テキストは Scintilla に追加されますが、追加前に制御されていたテキストに存在するすべての書式設定がクリアされます。
だから、私の質問:
1 - Scintilla にテキストを追加する方法は正しいですか? メソッド「AddText()」が見つかりませんでした。
2 - テキストを追加するとテキストの書式設定が失われるのはなぜですか?
scroll - Scintillaで自動スクロールを作成するにはどうすればよいですか?
Scintillaを使用した単純なVB.NETアプリケーションがあります。テキストが追加されたときにコントロールを自動スクロールさせる方法がわかりません。
誰か助けてもらえますか?
ありがとう
winforms - Windows 7 64 ビットの Visual Studio 2008 Designer で SciLexer.dll をロードするにはどうすればよいですか?
SciLexer.dll (管理されていない) を使用する Scintilla.NET (1.7) コンポーネントを使用して WinForm アプリケーションを開発します。実行時に、32 ビットと 64 ビットの両方の SciLexer.dll を配布し、アプリケーションの起動時に正しいものをロードします (すべて正常に動作します)。
新しい開発環境 (Windows 7 64 ビット) では、すべてのソリューションが正常にビルドおよび実行されますが、WinForm ビジュアル デザイナーは Scintilla.NET を使用するフォーム/コントロールをロードしません。これは、正しい SciLexer.dll をロードできないためです。
Visual Studio 2008 はアンマネージ ライブラリをどこで検索しますか? ScintillaNET.dllが参照されているフォルダーのSysWOW64に64ビットのSciLexer.dllを配置し、PATHシステム変数にフォルダーを追加し、プロジェクトにフォルダー参照を追加しようとしましたが、このエラーが引き続き発生します。
どんな助けでも大歓迎です。