本文整理汇总了Java中com.intellij.openapi.editor.actions.CopyAction类的典型用法代码示例。如果您正苦于以下问题:Java CopyAction类的具体用法?Java CopyAction怎么用?Java CopyAction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CopyAction类属于com.intellij.openapi.editor.actions包,在下文中一共展示了CopyAction类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: executeWriteAction
import com.intellij.openapi.editor.actions.CopyAction; //导入依赖的package包/类
@Override
public void executeWriteAction(Editor editor, DataContext dataContext) {
Project project = PlatformDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(editor.getContentComponent()));
if (project == null) {
if (myOriginalHandler != null) {
myOriginalHandler.execute(editor, dataContext);
}
return;
}
final PsiFile file = PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument());
if (file == null) {
if (myOriginalHandler != null) {
myOriginalHandler.execute(editor, dataContext);
}
return;
}
SelectionModel selectionModel = editor.getSelectionModel();
if (!selectionModel.hasSelection() && !selectionModel.hasBlockSelection()) {
if (Registry.is(CopyAction.SKIP_COPY_AND_CUT_FOR_EMPTY_SELECTION_KEY)) {
return;
}
selectionModel.selectLineAtCaret();
if (!selectionModel.hasSelection()) return;
}
int start = selectionModel.getSelectionStart();
int end = selectionModel.getSelectionEnd();
EditorActionManager.getInstance().getActionHandler(IdeActions.ACTION_EDITOR_COPY).execute(editor, dataContext);
if (start != end) {
// There is a possible case that 'sticky selection' is active. It's automatically removed on copying then, so, we explicitly
// remove the text.
editor.getDocument().deleteString(start, end);
}
else {
EditorModificationUtil.deleteSelectedText(editor);
}
}