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


Java TemplateState.getVariableValue方法代码示例

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


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

示例1: beforeTemplateFinished

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public void beforeTemplateFinished(final TemplateState templateState, Template template) {
  try {
    final TextResult value = templateState.getVariableValue(PRIMARY_VARIABLE_NAME);
    myInsertedName = value != null ? value.toString() : null;

    TextRange range = templateState.getCurrentVariableRange();
    final int currentOffset = myEditor.getCaretModel().getOffset();
    if (range == null && myRenameOffset != null) {
      range = new TextRange(myRenameOffset.getStartOffset(), myRenameOffset.getEndOffset());
    }
    myBeforeRevert =
      range != null && range.getEndOffset() >= currentOffset && range.getStartOffset() <= currentOffset
      ? myEditor.getDocument().createRangeMarker(range.getStartOffset(), currentOffset)
      : null;
    if (myBeforeRevert != null) {
      myBeforeRevert.setGreedyToRight(true);
    }
    finish(true);
  }
  finally {
    restoreDaemonUpdateState();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:InplaceRefactoring.java

示例2: calculateResult

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
public Result calculateResult(ExpressionContext context) {
  TemplateState templateState = TemplateManagerImpl.getTemplateState(context.getEditor());
  final TextResult insertedValue = templateState != null ? templateState.getVariableValue(InplaceRefactoring.PRIMARY_VARIABLE_NAME) : null;
  if (insertedValue != null) {
    if (!insertedValue.getText().isEmpty()) return insertedValue;
  }
  return new TextResult(myName);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:MyLookupExpression.java

示例3: createLookupItems

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Nullable
private LookupElement[] createLookupItems(String name, Editor editor, PsiNamedElement psiVariable) {
  TemplateState templateState = TemplateManagerImpl.getTemplateState(editor);
  if (psiVariable != null) {
    final TextResult insertedValue =
      templateState != null ? templateState.getVariableValue(PRIMARY_VARIABLE_NAME) : null;
    if (insertedValue != null) {
      final String text = insertedValue.getText();
      if (!text.isEmpty() && !Comparing.strEqual(text, name)) {
        final LinkedHashSet<String> names = new LinkedHashSet<String>();
        names.add(text);
        for (NameSuggestionProvider provider : Extensions.getExtensions(NameSuggestionProvider.EP_NAME)) {
          final SuggestedNameInfo suggestedNameInfo = provider.getSuggestedNames(psiVariable, psiVariable, names);
          if (suggestedNameInfo != null &&
              provider instanceof PreferrableNameSuggestionProvider &&
              !((PreferrableNameSuggestionProvider)provider).shouldCheckOthers()) {
            break;
          }
        }
        final LookupElement[] items = new LookupElement[names.size()];
        final Iterator<String> iterator = names.iterator();
        for (int i = 0; i < items.length; i++) {
          items[i] = LookupElementBuilder.create(iterator.next());
        }
        return items;
      }
    }
  }
  return myLookupItems;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:InplaceVariableIntroducer.java

示例4: getComponent

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
@Override
protected JComponent getComponent() {

  JPanel previewPanel = new JPanel(new BorderLayout());
  previewPanel.add(getPreviewEditor().getComponent(), BorderLayout.CENTER);
  previewPanel.setBorder(new EmptyBorder(2, 2, 6, 2));

  DocumentAdapter documentAdapter = new DocumentAdapter() {
    @Override
    public void documentChanged(DocumentEvent e) {
      final TemplateState templateState = TemplateManagerImpl.getTemplateState(myEditor);
      if (templateState != null) {
        final TextResult value = templateState.getVariableValue(InplaceRefactoring.PRIMARY_VARIABLE_NAME);
        if (value != null) {
          updateTitle(getVariable(), value.getText());
        }
      }
    }
  };
  myEditor.getDocument().addDocumentListener(documentAdapter);

  myDelegateCB = new JBCheckBox("Delegate via overloading method");
  myDelegateCB.setMnemonic('l');
  myDelegateCB.setFocusable(false);

  JPanel panel = new JPanel(new BorderLayout());
  panel.add(previewPanel, BorderLayout.CENTER);
  panel.add(myDelegateCB, BorderLayout.SOUTH);
  return panel;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:GrInplaceParameterIntroducer.java

示例5: restartInplaceIntroduceTemplate

import com.intellij.codeInsight.template.impl.TemplateState; //导入方法依赖的package包/类
public void restartInplaceIntroduceTemplate() {
  Runnable restartTemplateRunnable = new Runnable() {
    @Override
    public void run() {
      final TemplateState templateState = TemplateManagerImpl.getTemplateState(myEditor);
      if (templateState != null) {
        myEditor.putUserData(INTRODUCE_RESTART, true);
        try {
          final TextRange range = templateState.getCurrentVariableRange();
          if (range != null) {
            final TextResult inputText = templateState.getVariableValue(PRIMARY_VARIABLE_NAME);
            final String inputName = inputText != null ? inputText.getText() : null;
            final V variable = getVariable();
            if (inputName == null || variable == null || !isIdentifier(inputName, variable.getLanguage())) {
              final String[] names = suggestNames(isReplaceAllOccurrences(), getLocalVariable());
              ApplicationManager.getApplication().runWriteAction(new Runnable() {
                @Override
                public void run() {
                  myEditor.getDocument().replaceString(range.getStartOffset(), range.getEndOffset(), names[0]);
                }
              });
            }
          }
          templateState.gotoEnd(true);
          try {
            myShouldSelect = false;
            startInplaceIntroduceTemplate();
          }
          finally {
            myShouldSelect = true;
          }
        }
        finally {
          myEditor.putUserData(INTRODUCE_RESTART, false);
        }
      }
      updateTitle(getVariable());
    }
  };
  CommandProcessor.getInstance().executeCommand(myProject, restartTemplateRunnable, getCommandName(), getCommandName());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:42,代码来源:AbstractInplaceIntroducer.java


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