本文整理汇总了Java中com.intellij.refactoring.RefactoringActionHandler.invoke方法的典型用法代码示例。如果您正苦于以下问题:Java RefactoringActionHandler.invoke方法的具体用法?Java RefactoringActionHandler.invoke怎么用?Java RefactoringActionHandler.invoke使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.refactoring.RefactoringActionHandler
的用法示例。
在下文中一共展示了RefactoringActionHandler.invoke方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: moveClass
import com.intellij.refactoring.RefactoringActionHandler; //导入方法依赖的package包/类
private void moveClass(Project project, Editor editor, PsiFile file, PsiClass aClass) {
RefactoringActionHandler moveHandler = RefactoringActionHandlerFactory.getInstance().createMoveHandler();
DataManager dataManager = DataManager.getInstance();
DataContext dataContext = dataManager.getDataContext();
final String fqName = aClass.getQualifiedName();
LOG.assertTrue(fqName != null);
PsiDirectory directory = PackageUtil
.findOrCreateDirectoryForPackage(myCurrentModule, StringUtil.getPackageName(fqName), mySourceRoot, true);
DataContext context = SimpleDataContext.getSimpleContext(LangDataKeys.TARGET_PSI_ELEMENT.getName(), directory, dataContext);
moveHandler.invoke(project, new PsiElement[]{aClass}, context);
PsiReference reference = file.findReferenceAt(editor.getCaretModel().getOffset());
PsiClass newClass = JavaPsiFacade.getInstance(project).findClass(fqName, GlobalSearchScope.moduleScope(myCurrentModule));
if (reference != null && newClass != null) {
final QuestionAction action = new AddImportAction(project, reference, editor, newClass);
action.execute();
}
}
示例2: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入方法依赖的package包/类
@Override
public void doFix(@NotNull final Project project, ProblemDescriptor descriptor) {
final PsiElement nameElement = descriptor.getPsiElement();
final PsiAnonymousClass aClass =
(PsiAnonymousClass)nameElement.getParent();
final JavaRefactoringActionHandlerFactory factory =
JavaRefactoringActionHandlerFactory.getInstance();
final RefactoringActionHandler anonymousToInner =
factory.createAnonymousToInnerHandler();
final DataManager dataManager = DataManager.getInstance();
final DataContext dataContext = dataManager.getDataContext();
final Runnable runnable = new Runnable() {
@Override
public void run() {
anonymousToInner.invoke(project, new PsiElement[]{aClass}, dataContext);
}
};
if (ApplicationManager.getApplication().isUnitTestMode()) {
runnable.run();
}
else {
ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
}
}
示例3: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入方法依赖的package包/类
@Override
protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
final PsiNameIdentifierOwner owner = PsiTreeUtil.getParentOfType(descriptor.getPsiElement(), PsiVariable.class, PsiMethod.class);
if (owner == null) {
return;
}
final RefactoringActionHandler handler = JavaRefactoringActionHandlerFactory.getInstance().createInvertBooleanHandler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
handler.invoke(project, new PsiElement[]{owner}, null);
}
};
if (ApplicationManager.getApplication().isUnitTestMode()) {
runnable.run();
}
else {
ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
}
}
示例4: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入方法依赖的package包/类
@Override
public void doFix(final Project project, ProblemDescriptor descriptor) {
final PsiExpression expression =
(PsiExpression)descriptor.getPsiElement();
final JavaRefactoringActionHandlerFactory factory =
JavaRefactoringActionHandlerFactory.getInstance();
final RefactoringActionHandler extractHandler =
factory.createExtractMethodHandler();
final DataManager dataManager = DataManager.getInstance();
final DataContext dataContext = dataManager.getDataContext();
final Runnable runnable = new Runnable() {
@Override
public void run() {
extractHandler.invoke(project,
new PsiElement[]{expression}, dataContext);
}
};
if (ApplicationManager.getApplication().isUnitTestMode()) {
runnable.run();
}
else {
ApplicationManager.getApplication().invokeLater(runnable);
}
}
示例5: refactorUsingHandler
import com.intellij.refactoring.RefactoringActionHandler; //导入方法依赖的package包/类
/**
* Runs refactoring using special handler
*
* @param handler handler to be used
*/
protected void refactorUsingHandler(@NotNull final RefactoringActionHandler handler) {
final Editor editor = myFixture.getEditor();
assertInstanceOf(editor, EditorEx.class);
handler.invoke(myFixture.getProject(), editor, myFixture.getFile(), ((EditorEx)editor).getDataContext());
}