2

私は昨日、デフォルトのエディター(java、xml、それらすべて)機能を拡張しようと試みてきました。

私がやりたいのは、すべてのエディターの横にテキスト付きの大きな定規を追加することです。

例:デフォルトのエディタページは次のようになります。

|-----------|
|source     |
|code       |
|           |
|-----------|

でもこんな感じにしたい

|------|----|
|source|    |
|code  |line|
|      |text|
|------|----|

また、ルーラーのテキストが特定の行に対応し、ソースコードと一緒にスクロールする必要があるため、ビューを使用できません。

新しいエディターは必要ないので、IEditorActionDelegateを実装してこれを実行しようとしましたが、機能を追加しましたが、解決策が見つかりませんでした。


私のソリューションを実践するために、AbstractContributedRulerColumnを拡張したことを述べたいと思いました

public class MyRuler extends AbstractContributedRulerColumn {
 ....
}
4

3 に答える 3

5

Arneの答えはいくつかの良い提案をしましたが、エディターの横にテキストの列を追加するプラグインを作成する方法を理解するのにまだ時間がかかりました。

各行の後に「x」が付いた行番号を表示するだけのサンプルを公開しました。途中で見つけた便利なリソースは次のとおりです。

于 2012-05-15T06:14:44.890 に答える
1

私はあなたが拡張ポイントの後にいると思いますorg.eclipse.ui.workbench.texteditor.rulerColumns。テキストエディタで行番号を表示するコンポーネントはこのポイントを使用して追加されるため、他の情報も追加できるはずです。

APIドキュメントの例:

<extension
  point="org.eclipse.ui.workbench.texteditor.rulerColumns">
  <column
    id="org.eclipse.ui.editors.columns.linenumbers"
    name="Line Numbers"
    class="org.eclipse.ui.internal.texteditor.LineNumberColumn"
    enabled="false"
    global="true"
    includeInMenu="false">
    <placement
       gravity="0.9">
       <after id="org.eclipse.ui.editors.columns.annotations"/>
    </placement>
    <targetClass
       class="org.eclipse.ui.texteditor.AbstractDecoratedTextEditor">
    </targetClass>
  </column>
</extension>
于 2011-03-08T10:51:41.730 に答える
0

ルーラー列の拡張ポイントをしばらく操作した後org.python.pydev.pydev_pyedit_listener、PyEdit作成イベントをインターセプトして他のコントロールをラップできる拡張ポイントについて学びました。SWTウィジェットリファレンスを掘り下げて、右側にスプリッターを備えた別のペインを追加し、サンプルプロジェクトを公開しました。主な利点は、新しいディスプレイを表示する場所を選択できること、好きなコントロールを使用できること、およびディスプレイに収まらないテキストが多すぎる場合にユーザーがスクロールできることです。

于 2012-09-15T13:50:42.547 に答える