本文整理汇总了Java中com.intellij.lang.surroundWith.Surrounder类的典型用法代码示例。如果您正苦于以下问题:Java Surrounder类的具体用法?Java Surrounder怎么用?Java Surrounder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Surrounder类属于com.intellij.lang.surroundWith包,在下文中一共展示了Surrounder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: invokeSurrounderInTests
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private static void invokeSurrounderInTests(Project project,
Editor editor,
PsiFile file,
Surrounder surrounder,
int startOffset,
int endOffset, List<SurroundDescriptor> surroundDescriptors) {
assert ApplicationManager.getApplication().isUnitTestMode();
for (SurroundDescriptor descriptor : surroundDescriptors) {
final PsiElement[] elements = descriptor.getElementsToSurround(file, startOffset, endOffset);
if (elements.length > 0) {
for (Surrounder descriptorSurrounder : descriptor.getSurrounders()) {
if (surrounder.getClass().equals(descriptorSurrounder.getClass())) {
doSurround(project, editor, surrounder, elements);
return;
}
}
}
}
}
示例2: doTest
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
protected void doTest(final Surrounder surrounder) throws Exception {
myFixture.configureByFile(getTestName(false) + ".hx");
WriteCommandAction.runWriteCommandAction(getProject(), new Runnable() {
@Override
public void run() {
SurroundWithHandler.invoke(getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
PsiDocumentManager.getInstance(getProject()).doPostponedOperationsAndUnblockDocument(myFixture.getDocument(myFixture.getFile()));
CodeStyleManager.getInstance(myFixture.getProject()).reformat(myFixture.getFile());
}
});
/*CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
@Override
public void run() {
SurroundWithHandler.invoke(getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
PsiDocumentManager.getInstance(getProject()).doPostponedOperationsAndUnblockDocument(myFixture.getDocument(myFixture.getFile()));
CodeStyleManager.getInstance(myFixture.getProject()).reformat(myFixture.getFile());
}
}, null, null);*/
myFixture.checkResultByFile(getTestName(false) + "_after.hx");
}
示例3: getSurrounders
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
@Override
@NotNull public Surrounder[] getSurrounders() {
if (mySurrounders == null) {
final ArrayList<Surrounder> list = new ArrayList<Surrounder>();
Collections.addAll(list, SURROUNDERS);
Collections.addAll(list, Extensions.getExtensions(JavaExpressionSurrounder.EP_NAME));
mySurrounders = list.toArray(new Surrounder[list.size()]);
}
return mySurrounders;
}
示例4: doTest
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTest(@NotNull String fileName, Surrounder surrounder) {
configureByFile(BASE_PATH + fileName + ".java");
SurroundDescriptor item = ContainerUtil.getFirstItem(LanguageSurrounders.INSTANCE.allForLanguage(JavaLanguage.INSTANCE));
assertNotNull(item);
SelectionModel selectionModel = getEditor().getSelectionModel();
PsiElement[] elements = item.getElementsToSurround(getFile(), selectionModel.getSelectionStart(), selectionModel.getSelectionEnd());
assertTrue(surrounder.isApplicable(elements));
SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
checkResultByFile(BASE_PATH + fileName + "_after.java");
}
示例5: doTestWithTemplateFinish
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTestWithTemplateFinish(@NotNull String fileName, Surrounder surrounder, @Nullable String textToType) {
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
configureByFile(BASE_PATH + fileName + ".java");
SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
if (textToType != null) {
type(textToType);
}
TemplateState templateState = TemplateManagerImpl.getTemplateState(getEditor());
assertNotNull(templateState);
templateState.nextTab();
checkResultByFile(BASE_PATH + fileName + "_after.java");
}
示例6: doSurroundWithTest
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
public static void doSurroundWithTest(@NotNull final CodeInsightTestFixture fixture, @NotNull final Surrounder surrounder,
@NotNull final String before, @NotNull final String after) {
fixture.configureByFile(before);
new WriteCommandAction.Simple(fixture.getProject()) {
@Override
protected void run() throws Throwable {
SurroundWithHandler.invoke(fixture.getProject(), fixture.getEditor(), fixture.getFile(), surrounder);
}
}.execute();
fixture.checkResultByFile(after, false);
}
示例7: invoke
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
public static void invoke(@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file, Surrounder surrounder) {
if (!CodeInsightUtilBase.prepareEditorForWrite(editor)) return;
if (file instanceof PsiCompiledElement) {
HintManager.getInstance().showErrorHint(editor, "Can't modify decompiled code");
return;
}
List<AnAction> applicable = buildSurroundActions(project, editor, file, surrounder);
if (applicable != null) {
showPopup(editor, applicable);
}
else if (!ApplicationManager.getApplication().isUnitTestMode()) {
HintManager.getInstance().showErrorHint(editor, "Couldn't find Surround With variants applicable to the current context");
}
}
示例8: doSurround
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
static void doSurround(final Project project, final Editor editor, final Surrounder surrounder, final PsiElement[] elements) {
if (!FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
return;
}
try {
PsiDocumentManager.getInstance(project).commitAllDocuments();
int col = editor.getCaretModel().getLogicalPosition().column;
int line = editor.getCaretModel().getLogicalPosition().line;
if (!editor.getCaretModel().supportsMultipleCarets()) {
LogicalPosition pos = new LogicalPosition(0, 0);
editor.getCaretModel().moveToLogicalPosition(pos);
}
TextRange range = surrounder.surroundElements(project, editor, elements);
if (TemplateManager.getInstance(project).getActiveTemplate(editor) == null && InplaceRefactoring.getActiveInplaceRenamer(editor) == null) {
LogicalPosition pos1 = new LogicalPosition(line, col);
editor.getCaretModel().moveToLogicalPosition(pos1);
}
if (range != null) {
int offset = range.getStartOffset();
editor.getCaretModel().removeSecondaryCarets();
editor.getCaretModel().moveToOffset(offset);
editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE);
editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset());
}
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
示例9: InvokeSurrounderAction
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
public InvokeSurrounderAction(Surrounder surrounder, Project project, Editor editor, PsiElement[] elements, char mnemonic) {
super(UIUtil.MNEMONIC + String.valueOf(mnemonic) + ". " + surrounder.getTemplateDescription());
mySurrounder = surrounder;
myProject = project;
myEditor = editor;
myElements = elements;
}
示例10: surround
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
@Nullable
public static TextRange surround(@NotNull Surrounder surrounder,
@NotNull Editor editor,
@NotNull PsiElement expr) {
Project project = expr.getProject();
PsiElement[] elements = {expr};
if (surrounder.isApplicable(elements)) {
return surrounder.surroundElements(project, editor, elements);
}
else {
showErrorHint(project, editor);
}
return null;
}
示例11: doTest
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTest(final Surrounder surrounder) throws Exception {
String baseName = "/surround/" + getTestName(false);
myFixture.configureByFile(baseName + ".py");
new WriteCommandAction.Simple(myFixture.getProject()) {
@Override
protected void run() throws Throwable {
SurroundWithHandler.invoke(myFixture.getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
}
}.execute();
myFixture.checkResultByFile(baseName + "_after.py", true);
}
示例12: doTestWithTemplateFinish
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
private void doTestWithTemplateFinish(@NotNull String fileName, final Surrounder surrounder, @Nullable String textToType)
throws Exception {
TemplateManagerImpl.setTemplateTesting(getProject(), getTestRootDisposable());
configureByFile(BASE_PATH + fileName + ".java");
SurroundWithHandler.invoke(getProject(), getEditor(), getFile(), surrounder);
if (textToType != null) {
type(textToType);
}
TemplateState templateState = TemplateManagerImpl.getTemplateState(getEditor());
assertNotNull(templateState);
templateState.nextTab();
checkResultByFile(BASE_PATH + fileName + "_after.java");
}
示例13: doSurround
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
static void doSurround(final Project project, final Editor editor, final Surrounder surrounder, final PsiElement[] elements) {
if (!FileDocumentManager.getInstance().requestWriting(editor.getDocument(), project)) {
return;
}
try {
PsiDocumentManager.getInstance(project).commitAllDocuments();
int col = editor.getCaretModel().getLogicalPosition().column;
int line = editor.getCaretModel().getLogicalPosition().line;
LogicalPosition pos = new LogicalPosition(0, 0);
editor.getCaretModel().moveToLogicalPosition(pos);
TextRange range = surrounder.surroundElements(project, editor, elements);
if (TemplateManager.getInstance(project).getActiveTemplate(editor) == null) {
LogicalPosition pos1 = new LogicalPosition(line, col);
editor.getCaretModel().moveToLogicalPosition(pos1);
}
if (range != null) {
int offset = range.getStartOffset();
editor.getCaretModel().moveToOffset(offset);
editor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE);
editor.getSelectionModel().setSelection(range.getStartOffset(), range.getEndOffset());
}
}
catch (IncorrectOperationException e) {
LOG.error(e);
}
}
示例14: getSurrounders
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
@NotNull
@Override
public Surrounder[] getSurrounders() {
return new Surrounder[]{
new HaxeIfSurrounder(),
new HaxeIfElseSurrounder(),
new HaxeWhileSurrounder(),
new HaxeDoWhileSurrounder(),
new HaxeTryCatchSurrounder()
};
}
示例15: doTest
import com.intellij.lang.surroundWith.Surrounder; //导入依赖的package包/类
protected void doTest(final Surrounder surrounder) throws Exception {
myFixture.configureByFile(getTestName(false) + ".hx");
ApplicationManager.getApplication().runWriteAction(new Runnable() {
public void run() {
SurroundWithHandler.invoke(getProject(), myFixture.getEditor(), myFixture.getFile(), surrounder);
PsiDocumentManager.getInstance(getProject()).doPostponedOperationsAndUnblockDocument(myFixture.getDocument(myFixture.getFile()));
CodeStyleManager.getInstance(myFixture.getProject()).reformat(myFixture.getFile());
}
});
myFixture.checkResultByFile(getTestName(false) + "_after.hx");
}