当前位置: 首页>>代码示例>>Java>>正文


Java TemplateState.isFinished方法代码示例

本文整理汇总了Java中com.intellij.codeInsight.template.impl.TemplateState.isFinished方法的典型用法代码示例。如果您正苦于以下问题:Java TemplateState.isFinished方法的具体用法?Java TemplateState.isFinished怎么用?Java TemplateState.isFinished使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.codeInsight.template.impl.TemplateState的用法示例。


在下文中一共展示了TemplateState.isFinished方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: doApplyInformationToEditor

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void doApplyInformationToEditor() {
  ApplicationManager.getApplication().assertIsDispatchThread();

  if (!ApplicationManager.getApplication().isUnitTestMode() && !myEditor.getContentComponent().hasFocus()) return;

  // do not show intentions if caret is outside visible area
  LogicalPosition caretPos = myEditor.getCaretModel().getLogicalPosition();
  Rectangle visibleArea = myEditor.getScrollingModel().getVisibleArea();
  Point xy = myEditor.logicalPositionToXY(caretPos);
  if (!visibleArea.contains(xy)) return;

  TemplateState state = TemplateManagerImpl.getTemplateState(myEditor);
  if (myShowBulb && (state == null || state.isFinished()) && !HintManager.getInstance().hasShownHintsThatWillHideByOtherHint(false)) {
    DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(myProject);
    codeAnalyzer.setLastIntentionHint(myProject, myFile, myEditor, myIntentionsInfo, myHasToRecreate);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:19,代码来源:ShowIntentionsPass.java

示例2: execute

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void execute(Editor editor, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    final TextRange range = templateState.getCurrentVariableRange();
    final int caretOffset = editor.getCaretModel().getOffset();
    if (range != null && range.getStartOffset() <= caretOffset && caretOffset <= range.getEndOffset()) {
      int offsetToMove = myIsHomeHandler ? range.getStartOffset() : range.getEndOffset();
      if (offsetToMove != caretOffset) {
        editor.getCaretModel().moveToOffset(offsetToMove);
      }
      editor.getSelectionModel().removeSelection();
    } else {
      myOriginalHandler.execute(editor, dataContext);
    }
  } else {
    myOriginalHandler.execute(editor, dataContext);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:HomeEndHandler.java

示例3: doExecute

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
protected void doExecute(Editor editor, @Nullable Caret caret, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    final TextRange range = templateState.getCurrentVariableRange();
    final int caretOffset = editor.getCaretModel().getOffset();
    if (range != null && shouldStayInsideVariable(range, caretOffset)) {
      int selectionOffset = editor.getSelectionModel().getLeadSelectionOffset();
      int offsetToMove = myIsHomeHandler ? range.getStartOffset() : range.getEndOffset();
      LogicalPosition logicalPosition = editor.offsetToLogicalPosition(offsetToMove).leanForward(myIsHomeHandler);
      editor.getCaretModel().moveToLogicalPosition(logicalPosition);
      EditorModificationUtil.scrollToCaret(editor);
      if (myWithSelection) {
        editor.getSelectionModel().setSelection(selectionOffset, offsetToMove);
      }
      else {
        editor.getSelectionModel().removeSelection();
      }
      return;
    }
  }
  myOriginalHandler.execute(editor, caret, dataContext);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:24,代码来源:TemplateLineStartEndHandler.java

示例4: execute

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void execute(Editor editor, DataContext dataContext) {
  TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    SelectionModel selectionModel = editor.getSelectionModel();
    LookupImpl lookup = (LookupImpl)LookupManager.getActiveLookup(editor);

    // the idea behind lookup checking is that if there is a preselected value in lookup
    // then user might want just to close lookup but not finish a template.
    // E.g. user wants to move to the next template segment by Tab without completion invocation.
    // If there is no selected value in completion that user definitely wants to finish template
    boolean lookupIsEmpty = lookup == null || lookup.getCurrentItem() == null;
    if (!selectionModel.hasSelection() && lookupIsEmpty) {
      CommandProcessor.getInstance().setCurrentCommandName(CodeInsightBundle.message("finish.template.command"));
      templateState.gotoEnd(true);
      return;
    }
  }

  if (myOriginalHandler.isEnabled(editor, dataContext)) {
    myOriginalHandler.execute(editor, dataContext);
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:24,代码来源:EscapeHandler.java

示例5: doCollectInformation

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void doCollectInformation(@NotNull ProgressIndicator progress) {
  if (!ApplicationManager.getApplication().isUnitTestMode() && !myEditor.getContentComponent().hasFocus()) return;
  TemplateState state = TemplateManagerImpl.getTemplateState(myEditor);
  if (state != null && !state.isFinished()) return;
  DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(myProject);
  getIntentionActionsToShow();
  updateActions(codeAnalyzer);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:ShowIntentionsPass.java

示例6: execute

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void execute(Editor editor, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    final TextRange range = templateState.getCurrentVariableRange();
    final int caretOffset = editor.getCaretModel().getOffset();
    if (range != null && range.getStartOffset() <= caretOffset && caretOffset <= range.getEndOffset()) {
      editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset());
      return;
    }
  }
  myOriginalHandler.execute(editor, dataContext);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:SelectAllHandler.java

示例7: execute

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void execute(Editor editor, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    final TextRange range = templateState.getCurrentVariableRange();
    final int caretOffset = editor.getCaretModel().getOffset();
    if (range != null && range.getStartOffset() <= caretOffset && caretOffset <= range.getEndOffset()) {
      int offsetToMove = myIsHomeHandler ? range.getStartOffset() : range.getEndOffset();
      editor.getCaretModel().moveToOffset(offsetToMove);
      editor.getSelectionModel().setSelection(myIsHomeHandler ? offsetToMove : caretOffset, myIsHomeHandler ? caretOffset : offsetToMove);
      return;
    }
  }
  myOriginalHandler.execute(editor, dataContext);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:LineStartEndWithSelectionHandler.java

示例8: execute

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void execute(Editor editor, DataContext dataContext) {
  if (!editor.getSelectionModel().hasSelection()) { //remove selection has higher precedence over finishing template editing
    final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
    if (templateState != null && !templateState.isFinished()) {
      CommandProcessor.getInstance().setCurrentCommandName(CodeInsightBundle.message("finish.template.command"));
      templateState.gotoEnd(true);
      return;
    }
  }

  myOriginalHandler.execute(editor, dataContext);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:EscapeHandler.java

示例9: isEnabled

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public boolean isEnabled(Editor editor, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    return true;
  } else {
    return myOriginalHandler.isEnabled(editor, dataContext);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:EscapeHandler.java

示例10: invoke

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void invoke(@NotNull final Project project, @NotNull Editor editor, @NotNull PsiFile file) {
  PsiDocumentManager.getInstance(project).commitAllDocuments();
  if (editor instanceof EditorWindow) {
    editor = ((EditorWindow)editor).getDelegate();
    file = InjectedLanguageManager.getInstance(file.getProject()).getTopLevelFile(file);
  }

  final LookupEx lookup = LookupManager.getActiveLookup(editor);
  if (lookup != null) {
    lookup.showElementActions();
    return;
  }

  if (HintManagerImpl.getInstanceImpl().performCurrentQuestionAction()) return;

  //intentions check isWritable before modification: if (!file.isWritable()) return;
  if (file instanceof PsiCodeFragment) return;

  TemplateState state = TemplateManagerImpl.getTemplateState(editor);
  if (state != null && !state.isFinished()) {
    return;
  }

  final DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(project);
  codeAnalyzer.autoImportReferenceAtCursor(editor, file); //let autoimport complete

  ShowIntentionsPass.IntentionsInfo intentions = new ShowIntentionsPass.IntentionsInfo();
  ShowIntentionsPass.getActionsToShow(editor, file, intentions, -1);

  if (!intentions.isEmpty()) {
    IntentionHintComponent.showIntentionHint(project, file, editor, intentions, true);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:35,代码来源:ShowIntentionActionsHandler.java

示例11: doCollectInformation

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void doCollectInformation(@Nonnull ProgressIndicator progress) {
  if (!ApplicationManager.getApplication().isUnitTestMode() && !myEditor.getContentComponent().hasFocus()) return;
  TemplateState state = TemplateManagerImpl.getTemplateState(myEditor);
  if (state != null && !state.isFinished()) return;
  DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(myProject);
  getIntentionActionsToShow();
  updateActions(codeAnalyzer);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:10,代码来源:ShowIntentionsPass.java

示例12: isEnabledForCaret

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
protected boolean isEnabledForCaret(@Nonnull Editor editor, @Nonnull Caret caret, DataContext dataContext) {
  TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    TextRange range = templateState.getCurrentVariableRange();
    int caretOffset = editor.getCaretModel().getOffset();
    if (range != null && range.containsOffset(caretOffset)) return true;
  }
  return myOriginalHandler.isEnabled(editor, caret, dataContext);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:11,代码来源:TemplateLineStartEndHandler.java

示例13: isEnabled

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public boolean isEnabled(Editor editor, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (templateState != null && !templateState.isFinished()) {
    return true;
  }
  return myOriginalHandler.isEnabled(editor, dataContext);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:9,代码来源:EscapeHandler.java

示例14: invoke

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@RequiredDispatchThread
@Override
public void invoke(@Nonnull final Project project, @Nonnull Editor editor, @Nonnull PsiFile file) {
  PsiDocumentManager.getInstance(project).commitAllDocuments();
  if (editor instanceof EditorWindow) {
    editor = ((EditorWindow)editor).getDelegate();
    file = InjectedLanguageManager.getInstance(file.getProject()).getTopLevelFile(file);
  }

  final LookupEx lookup = LookupManager.getActiveLookup(editor);
  if (lookup != null) {
    lookup.showElementActions();
    return;
  }

  final DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(project);
  letAutoImportComplete(editor, file, codeAnalyzer);

  ShowIntentionsPass.IntentionsInfo intentions = new ShowIntentionsPass.IntentionsInfo();
  ShowIntentionsPass.getActionsToShow(editor, file, intentions, -1);
  IntentionHintComponent hintComponent = codeAnalyzer.getLastIntentionHint();
  if (hintComponent != null) {
    IntentionHintComponent.PopupUpdateResult result =
            hintComponent.isForEditor(editor) ? hintComponent.updateActions(intentions) : IntentionHintComponent.PopupUpdateResult.HIDE_AND_RECREATE;
    if (result == IntentionHintComponent.PopupUpdateResult.HIDE_AND_RECREATE) {
      hintComponent.hide();
    }
  }

  if (HintManagerImpl.getInstanceImpl().performCurrentQuestionAction()) return;

  //intentions check isWritable before modification: if (!file.isWritable()) return;

  TemplateState state = TemplateManagerImpl.getTemplateState(editor);
  if (state != null && !state.isFinished()) {
    return;
  }

  showIntentionHint(project, editor, file, intentions);
}
 
开发者ID:consulo,项目名称:consulo,代码行数:41,代码来源:ShowIntentionActionsHandler.java

示例15: isEnabledForCaret

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
protected boolean isEnabledForCaret(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) {
  final TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  return templateState != null && !templateState.isFinished();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:6,代码来源:PreviousVariableAction.java


注:本文中的com.intellij.codeInsight.template.impl.TemplateState.isFinished方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。