當前位置: 首頁>>代碼示例>>Java>>正文


Java CopyAction類代碼示例

本文整理匯總了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);
  }
}
 
開發者ID:lshain-android-source,項目名稱:tools-idea,代碼行數:43,代碼來源:CutHandler.java


注:本文中的com.intellij.openapi.editor.actions.CopyAction類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。