2

アクティブな開いているファイルにテキストを挿入する Eclipse プラグイン (ボタン) を作成します。私はhttp://wiki.eclipse.org/FAQ_How_do_I_insert_text_in_the_active_text_editor%3Fにインスピレーションを与えます

public class PasteTextAction implements IWorkbenchWindowActionDelegate {

  private IWorkbenchWindow window;

  public void run(IAction aAction) {

    IWorkbenchPage page = window.getActivePage();
    IEditorPart part = page.getActiveEditor();
    if (!(part instanceof AbstractTextEditor))
      return;
    ITextEditor editor = (ITextEditor) part;
    IDocumentProvider dp = editor.getDocumentProvider();
    IDocument doc = dp.getDocument(editor.getEditorInput());

    try {
      int offset = doc.getLineOffset(doc.getNumberOfLines() - 4);
      doc.replace(offset, 0, "pasteText\n");
    } catch (BadLocationException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

  }

  public void selectionChanged(IAction aAction, ISelection aSelection) {

  }

  public void dispose() {

  }

  public void init(IWorkbenchWindow aWindow) {
    window = aWindow;
  }

}

それはうまくいきます。

しかし、読み取り専用ファイルまたは ClearCase バージョン管理システム下のファイルに問題があります。テキストをエディターに貼り付けますが、ファイルを書き込み可能に設定しようとしないか、ファイルを書き込み可能に設定できない場合は貼り付けません。(ClearCase ファイルのチェックアウト ウィンドウは開きません)。

プログラムでファイルを書き込み可能にするにはどうすればよいですか?

4

1 に答える 1

1

EclipseプラグインのJavaソリューションは、スナップショットビューに対してのみ機能することに注意してください。
適切なJavaバージョンを使用している場合)

動的ビューを表示している場合、は機能しsetWritable(true);ませ
を実行する必要がありcleartool checkout -nc filePathます。


OPクベ ダンコメント

スナップショットビューを使用しています。ファイルをハイジャックする
ため、ファイルを書き込み可能に設定したくない場合があります(ファイルをハイジャックしたくない)。窓 を開けたい。クリップボードからテキストを貼り付けた場合も同じ動作です。setWritable(true);
CheckOut

ネイティブのClearCaseの[チェックアウト]ダイアログボックスを表示する簡単な方法はありません。
ClearCaseプラグインがEclipseで行うように、それを再作成する必要があります(UCMアクティビティも管理します。UCMWebビューを使用しています)。

ここに画像の説明を入力してください

于 2013-01-29T09:29:01.107 に答える