本文整理汇总了Java中com.intellij.refactoring.RefactoringActionHandler类的典型用法代码示例。如果您正苦于以下问题:Java RefactoringActionHandler类的具体用法?Java RefactoringActionHandler怎么用?Java RefactoringActionHandler使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
RefactoringActionHandler类属于com.intellij.refactoring包,在下文中一共展示了RefactoringActionHandler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: 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());
}
}
示例2: 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();
}
}
示例3: 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());
}
}
示例4: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(@NotNull final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
final PsiElement location = descriptor.getPsiElement();
final PsiMethod method = (PsiMethod)location.getParent();
final RefactoringActionHandler moveHandler = RefactoringActionHandlerFactory.getInstance().createMoveHandler();
final AsyncResult<DataContext> result = DataManager.getInstance().getDataContextFromFocus();
result.doWhenDone(new Consumer<DataContext>() {
@Override
public void consume(final DataContext originalContext) {
final DataContext dataContext = new DataContext() {
@Override
public Object getData(@NonNls String name) {
if (LangDataKeys.TARGET_PSI_ELEMENT.is(name)) {
return usageClass.getElement();
}
return originalContext.getData(name);
}
};
moveHandler.invoke(project, new PsiElement[]{method}, dataContext);
}
});
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:StaticMethodOnlyUsedInOneClassInspection.java
示例5: 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);
}
}
示例6: doTest
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
private void doTest(String newName) {
final String testName = getTestName(false);
final String beforeName = testName + ".before.py";
final String afterName = testName + ".after.py";
final String dir = "refactoring/extractmethod/";
myFixture.configureByFile(dir + beforeName);
final RefactoringSupportProvider provider = LanguageRefactoringSupport.INSTANCE.forLanguage(PythonLanguage.getInstance());
assertNotNull(provider);
final RefactoringActionHandler handler = provider.getExtractMethodHandler();
assertNotNull(handler);
System.setProperty(PyExtractMethodUtil.NAME, newName);
try {
refactorUsingHandler(handler);
}
finally {
System.clearProperty(PyExtractMethodUtil.NAME);
}
myFixture.checkResultByFile(dir + afterName);
}
示例7: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public void doFix(@NotNull final Project project,
ProblemDescriptor descriptor) {
final PsiElement constant = descriptor.getPsiElement();
final Application application = ApplicationManager.getApplication();
application.invokeLater(new Runnable() {
@Override
public void run() {
if (!constant.isValid()) return;
final JavaRefactoringActionHandlerFactory factory =
JavaRefactoringActionHandlerFactory.getInstance();
final RefactoringActionHandler introduceHandler =
factory.createIntroduceConstantHandler();
final DataManager dataManager = DataManager.getInstance();
final DataContext dataContext = dataManager.getDataContext();
introduceHandler.invoke(project, new PsiElement[]{constant},
dataContext);
}
}, project.getDisposed());
}
示例8: isEnabledOnElements
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected boolean isEnabledOnElements(@NotNull PsiElement[] elements) {
if (elements.length > 0) {
Language language = elements[0].getLanguage();
RefactoringActionHandler handler = getHandler(language, elements[0]);
return handler instanceof ElementsHandler && ((ElementsHandler)handler).isEnabledOnElements(elements);
}
return false;
}
示例9: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
final PsiExpression expression = getExpressionToExtract(descriptor.getPsiElement());
if (expression == null) {
return;
}
final RefactoringActionHandler handler = JavaRefactoringActionHandlerFactory.getInstance().createIntroduceVariableHandler();
final AsyncResult<DataContext> dataContextContainer = DataManager.getInstance().getDataContextFromFocus();
dataContextContainer.doWhenDone(new Consumer<DataContext>() {
@Override
public void consume(DataContext dataContext) {
handler.invoke(project, new PsiElement[]{expression}, dataContext);
}
});
}
示例10: doFix
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected void doFix(final Project project, ProblemDescriptor descriptor) throws IncorrectOperationException {
final PsiElement element = PsiTreeUtil.getParentOfType(descriptor.getPsiElement(), PsiClass.class, PsiMethod.class);
final AsyncResult<DataContext> context = DataManager.getInstance().getDataContextFromFocus();
context.doWhenDone(new Consumer<DataContext>() {
@Override
public void consume(DataContext dataContext) {
final JavaRefactoringActionHandlerFactory factory = JavaRefactoringActionHandlerFactory.getInstance();
final RefactoringActionHandler handler = factory.createReplaceConstructorWithFactoryHandler();
handler.invoke(project, new PsiElement[]{element}, dataContext);
}
});
}
示例11: getHandler
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) {
RefactoringActionHandler handler = super.getHandler(language, element);
if (handler != null) return handler;
List<InlineHandler> handlers = InlineHandlers.getInlineHandlers(language);
return handlers.isEmpty() ? null : new InlineRefactoringActionHandler();
}
示例12: update
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public void update(final AnActionEvent e) {
super.update(e);
final RefactoringActionHandler handler = getHandler(e.getDataContext());
if (handler instanceof TitledHandler) {
e.getPresentation().setText(((TitledHandler) handler).getActionTitle());
}
else {
e.getPresentation().setText("Include File...");
}
}
示例13: getHandler
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Nullable
protected RefactoringActionHandler getHandler(@NotNull Language language, PsiElement element) {
List<RefactoringSupportProvider> providers = LanguageRefactoringSupport.INSTANCE.allForLanguage(language);
if (providers.isEmpty()) return null;
if (element == null) return getRefactoringHandler(providers.get(0));
for (RefactoringSupportProvider provider : providers) {
if (provider.isAvailable(element)) {
return getRefactoringHandler(provider, element);
}
}
return null;
}
示例14: getIntroduceVariableHandler
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
@Override
public RefactoringActionHandler getIntroduceVariableHandler() {
return new LuaIntroduceVariableHandler();
}
示例15: RunRefactoringAction
import com.intellij.refactoring.RefactoringActionHandler; //导入依赖的package包/类
public RunRefactoringAction(RefactoringActionHandler handler, String commandName) {
myHandler = handler;
myCommandName = commandName;
}