アクティブな開いているファイルにテキストを挿入する 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 ファイルのチェックアウト ウィンドウは開きません)。
プログラムでファイルを書き込み可能にするにはどうすればよいですか?