Search in sources :

Example 1 with Editor

use of com.intellij.openapi.editor.Editor in project intellij-community by JetBrains.

the class CreateFieldFix method doFix.

protected void doFix(@NotNull Project project, @NotNull @GrModifier.ModifierConstant String[] modifiers, @NotNull @NonNls String fieldName, @NotNull TypeConstraint[] typeConstraints, @NotNull PsiElement context) throws IncorrectOperationException {
    JVMElementFactory factory = JVMElementFactories.getFactory(myTargetClass.getLanguage(), project);
    if (factory == null)
        return;
    PsiField field = factory.createField(fieldName, PsiType.INT);
    if (myTargetClass instanceof GroovyScriptClass) {
        field.getModifierList().addAnnotation(GroovyCommonClassNames.GROOVY_TRANSFORM_FIELD);
    }
    for (@GrModifier.ModifierConstant String modifier : modifiers) {
        PsiUtil.setModifierProperty(field, modifier, true);
    }
    field = CreateFieldFromUsageHelper.insertField(myTargetClass, field, context);
    JavaCodeStyleManager.getInstance(project).shortenClassReferences(field.getParent());
    Editor newEditor = IntentionUtils.positionCursor(project, myTargetClass.getContainingFile(), field);
    Template template = CreateFieldFromUsageHelper.setupTemplate(field, typeConstraints, myTargetClass, newEditor, context, false);
    TemplateManager manager = TemplateManager.getInstance(project);
    manager.startTemplate(newEditor, template);
}
Also used : GroovyScriptClass(org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass) TemplateManager(com.intellij.codeInsight.template.TemplateManager) Editor(com.intellij.openapi.editor.Editor) Template(com.intellij.codeInsight.template.Template)

Example 2 with Editor

use of com.intellij.openapi.editor.Editor in project intellij-community by JetBrains.

the class GrExecuteCommandAction method actionPerformed.

@Override
public void actionPerformed(AnActionEvent e) {
    final Project project = e.getProject();
    final Editor editor = CommonDataKeys.EDITOR.getData(e.getDataContext());
    final VirtualFile virtualFile = CommonDataKeys.VIRTUAL_FILE.getData(e.getDataContext());
    if (project == null || editor == null || virtualFile == null)
        return;
    FileDocumentManager.getInstance().saveAllDocuments();
    final Document document = editor.getDocument();
    final TextRange selectedRange = EditorUtil.getSelectionInAnyMode(editor);
    final String command = (selectedRange.isEmpty() ? document.getText() : document.getText(selectedRange));
    final GroovyConsole existingConsole = virtualFile.getUserData(GroovyConsole.GROOVY_CONSOLE);
    if (existingConsole == null) {
        GroovyConsole.getOrCreateConsole(project, virtualFile, console -> console.execute(command));
    } else {
        existingConsole.execute(command);
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) Project(com.intellij.openapi.project.Project) GroovyConsole(org.jetbrains.plugins.groovy.console.GroovyConsole) TextRange(com.intellij.openapi.util.TextRange) Editor(com.intellij.openapi.editor.Editor) Document(com.intellij.openapi.editor.Document)

Example 3 with Editor

use of com.intellij.openapi.editor.Editor in project intellij-community by JetBrains.

the class CCSubtaskChangeListener method subtaskChanged.

@Override
public void subtaskChanged(@NotNull Project project, @NotNull Task task, int oldSubtaskNumber, int newSubtaskNumber) {
    VirtualFile taskDir = task.getTaskDir(project);
    if (taskDir == null) {
        return;
    }
    Course course = StudyTaskManager.getInstance(project).getCourse();
    if (course == null) {
        return;
    }
    StudyLanguageManager manager = StudyUtils.getLanguageManager(course);
    if (manager == null) {
        return;
    }
    String testFileName = manager.getTestFileName();
    if (newSubtaskNumber != 0) {
        String nameWithoutExtension = FileUtil.getNameWithoutExtension(testFileName);
        String extension = FileUtilRt.getExtension(testFileName);
        testFileName = nameWithoutExtension + EduNames.SUBTASK_MARKER + newSubtaskNumber + "." + extension;
    }
    VirtualFile newTestFile = taskDir.findChild(testFileName);
    if (newTestFile == null) {
        return;
    }
    FileEditorManager editorManager = FileEditorManager.getInstance(project);
    List<VirtualFile> testFiles = ContainerUtil.filter(taskDir.getChildren(), file -> CCUtils.isTestsFile(project, file) && editorManager.isFileOpen(file));
    if (testFiles.isEmpty()) {
        return;
    }
    Editor selectedTextEditor = editorManager.getSelectedTextEditor();
    for (VirtualFile testFile : testFiles) {
        editorManager.closeFile(testFile);
    }
    editorManager.openFile(newTestFile, true);
    if (selectedTextEditor != null) {
        reopenSelectedEditor(editorManager, selectedTextEditor);
    }
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) FileEditorManager(com.intellij.openapi.fileEditor.FileEditorManager) Course(com.jetbrains.edu.learning.courseFormat.Course) Editor(com.intellij.openapi.editor.Editor) StudyLanguageManager(com.jetbrains.edu.learning.StudyLanguageManager)

Example 4 with Editor

use of com.intellij.openapi.editor.Editor in project intellij-community by JetBrains.

the class OpenOutputAction method actionPerformed.

public void actionPerformed(AnActionEvent e) {
    final Editor editor = CommonDataKeys.EDITOR.getData(DataManager.getInstance().getDataContext(myConsole.getComponent()));
    if (editor != null) {
        final byte[] content = editor.getDocument().getText().getBytes(CharsetToolkit.UTF8_CHARSET);
        // TODO: get from output type
        final String extension = "xml";
        final VcsVirtualFile file = new VcsVirtualFile("XSLT Output." + extension, content, null, VcsFileSystem.getInstance()) {

            @NotNull
            @Override
            public Charset getCharset() {
                return CharsetToolkit.UTF8_CHARSET;
            }
        };
        FileEditorManager.getInstance(e.getProject()).openFile(file, true);
    }
}
Also used : VcsVirtualFile(com.intellij.openapi.vcs.vfs.VcsVirtualFile) Editor(com.intellij.openapi.editor.Editor)

Example 5 with Editor

use of com.intellij.openapi.editor.Editor in project intellij-community by JetBrains.

the class PyConsoleUtil method createTabCompletionAction.

public static AnAction createTabCompletionAction(PythonConsoleView consoleView) {
    final AnAction runCompletions = new AnAction() {

        @Override
        public void actionPerformed(AnActionEvent e) {
            Editor editor = consoleView.getConsoleEditor();
            if (LookupManager.getActiveLookup(editor) != null) {
                AnAction replace = ActionManager.getInstance().getAction(IdeActions.ACTION_CHOOSE_LOOKUP_ITEM_REPLACE);
                ActionUtil.performActionDumbAware(replace, e);
                return;
            }
            AnAction completionAction = ActionManager.getInstance().getAction(IdeActions.ACTION_CODE_COMPLETION);
            if (completionAction != null) {
                ActionUtil.performActionDumbAware(completionAction, e);
            }
        }

        @Override
        public void update(AnActionEvent e) {
            Editor editor = consoleView.getConsoleEditor();
            if (LookupManager.getActiveLookup(editor) != null) {
                e.getPresentation().setEnabled(false);
            }
            int offset = editor.getCaretModel().getOffset();
            Document document = editor.getDocument();
            int lineStart = document.getLineStartOffset(document.getLineNumber(offset));
            String textToCursor = document.getText(new TextRange(lineStart, offset));
            e.getPresentation().setEnabled(!CharMatcher.WHITESPACE.matchesAllOf(textToCursor));
        }
    };
    runCompletions.registerCustomShortcutSet(KeyEvent.VK_TAB, 0, consoleView.getConsoleEditor().getComponent());
    runCompletions.getTemplatePresentation().setVisible(false);
    return runCompletions;
}
Also used : TextRange(com.intellij.openapi.util.TextRange) AnActionEvent(com.intellij.openapi.actionSystem.AnActionEvent) Editor(com.intellij.openapi.editor.Editor) Document(com.intellij.openapi.editor.Document) AnAction(com.intellij.openapi.actionSystem.AnAction)

Aggregations

Editor (com.intellij.openapi.editor.Editor)838 Project (com.intellij.openapi.project.Project)301 PsiFile (com.intellij.psi.PsiFile)181 VirtualFile (com.intellij.openapi.vfs.VirtualFile)131 Document (com.intellij.openapi.editor.Document)117 PsiElement (com.intellij.psi.PsiElement)116 NotNull (org.jetbrains.annotations.NotNull)112 Nullable (org.jetbrains.annotations.Nullable)108 TextRange (com.intellij.openapi.util.TextRange)77 FileEditor (com.intellij.openapi.fileEditor.FileEditor)69 TextEditor (com.intellij.openapi.fileEditor.TextEditor)51 BuildFile (com.google.idea.blaze.base.lang.buildfile.psi.BuildFile)46 WorkspacePath (com.google.idea.blaze.base.model.primitives.WorkspacePath)46 Test (org.junit.Test)46 ArrayList (java.util.ArrayList)39 EditorEx (com.intellij.openapi.editor.ex.EditorEx)38 List (java.util.List)38 IncorrectOperationException (com.intellij.util.IncorrectOperationException)36 DataContext (com.intellij.openapi.actionSystem.DataContext)33 OpenFileDescriptor (com.intellij.openapi.fileEditor.OpenFileDescriptor)30