List of usage examples for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor
public OpenFileDescriptor(@NotNull Project project, @NotNull VirtualFile file)
From source file:com.intellij.uiDesigner.make.FormElementNavigatable.java
License:Apache License
public void navigate(boolean requestFocus) { if (!myVirtualFile.isValid()) return;//from www . j av a2 s. co m OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, myVirtualFile); final List<FileEditor> fileEditors = FileEditorManager.getInstance(myProject).openEditor(descriptor, requestFocus); if (myComponentId != null) { for (FileEditor editor : fileEditors) { if (editor instanceof UIFormEditor) { ((UIFormEditor) editor).selectComponentById(myComponentId); break; } } } }
From source file:com.intellij.xdebugger.impl.ui.ExecutionPointHighlighter.java
License:Apache License
private void doShow(boolean navigate) { ApplicationManager.getApplication().assertIsDispatchThread(); if (ApplicationManager.getApplication().isUnitTestMode()) return;/* w ww .ja v a 2 s .co m*/ removeHighlighter(); OpenFileDescriptor fileDescriptor = myOpenFileDescriptor; if (!navigate && myOpenFileDescriptor != null) { fileDescriptor = new OpenFileDescriptor(myProject, myOpenFileDescriptor.getFile()); } myEditor = fileDescriptor == null ? null : XDebuggerUtilImpl.createEditor(fileDescriptor); if (myEditor != null) { addHighlighter(); } }
From source file:com.intellij.xdebugger.impl.XDebugSessionImpl.java
License:Apache License
private void adjustMouseTrackingCounter(final XSourcePosition position, final int increment) { if (position == null || ApplicationManager.getApplication().isUnitTestMode()) return;/*from w w w.ja va 2 s . c o m*/ // need to always invoke later to maintain order of increment/decrement SwingUtilities.invokeLater(new Runnable() { @Override public void run() { if (myProject.isDisposed()) return; Editor editor = XDebuggerUtilImpl .createEditor(new OpenFileDescriptor(myProject, position.getFile())); if (editor != null) { JComponent component = editor.getComponent(); Object o = component.getClientProperty(EditorImpl.IGNORE_MOUSE_TRACKING); Integer value = ((o instanceof Integer) ? (Integer) o : 0) + increment; component.putClientProperty(EditorImpl.IGNORE_MOUSE_TRACKING, value > 0 ? value : null); } } }); }
From source file:com.sylvanaar.idea.Lua.actions.GenerateLuaListingAction.java
License:Apache License
public void actionPerformed(AnActionEvent e) { Project project = e.getData(LangDataKeys.PROJECT); assert project != null; Module module = e.getData(LangDataKeys.MODULE); assert module != null; Sdk sdk = LuaSdkType.findLuaSdk(module); assert sdk != null; final String homePath = sdk.getHomePath(); if (homePath == null) return;/*from w w w . java 2 s. c o m*/ String path = LuaSdkType.getByteCodeCompilerExecutable(homePath).getParent(); String exePath = LuaSdkType.getTopLevelExecutable(homePath).getAbsolutePath(); PsiFile currfile = e.getData(LangDataKeys.PSI_FILE); if (currfile == null || !(currfile instanceof LuaPsiFile)) return; FileDocumentManager.getInstance().saveAllDocuments(); LuaSystemUtil.clearConsoleToolWindow(project); final VirtualFile virtualFile = currfile.getVirtualFile(); if (virtualFile == null) return; final ProcessOutput processOutput; try { final VirtualFile child = StdLibrary.getListingModuleLocation().findChild("listing.lua"); if (child == null) return; final String listingScript = child.getPath(); processOutput = LuaSystemUtil.getProcessOutput(path, exePath, listingScript, virtualFile.getPath()); } catch (final ExecutionException ex) { return; } if (processOutput.getExitCode() != 0) return; String errors = processOutput.getStderr(); if (StringUtil.notNullize(errors).length() > 0) { LuaSystemUtil.printMessageToConsole(project, errors, ConsoleViewContentType.ERROR_OUTPUT); return; } String listing = processOutput.getStdout(); final IdeView view = LangDataKeys.IDE_VIEW.getData(e.getDataContext()); if (view == null) return; final PsiDirectory dir = view.getOrChooseDirectory(); if (dir == null) return; final PsiFileFactory factory = PsiFileFactory.getInstance(project); final String listingFileName = virtualFile.getNameWithoutExtension() + "-listing.lua"; final PsiFile existingFile = dir.findFile(listingFileName); if (existingFile != null) ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { existingFile.delete(); } }); final PsiFile file = factory.createFileFromText(listingFileName, LuaFileType.LUA_FILE_TYPE, listing); ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { created = dir.add(file); } }); if (created == null) return; final PsiFile containingFile = created.getContainingFile(); if (containingFile == null) return; final VirtualFile virtualFile1 = containingFile.getVirtualFile(); if (virtualFile1 == null) return; OpenFileDescriptor fileDesc = new OpenFileDescriptor(project, virtualFile1); FileEditorManager.getInstance(project).openTextEditor(fileDesc, false); view.selectElement(created); created = null; }
From source file:com.twitter.intellij.pants.highlighting.PantsHighlightingIntegrationTest.java
License:Apache License
@Nullable protected Editor createEditor(@NotNull VirtualFile file) { final FileEditorManager instance = FileEditorManager.getInstance(myProject); PsiDocumentManager.getInstance(myProject).commitAllDocuments(); Editor editor = instance.openTextEditor(new OpenFileDescriptor(myProject, file), false); if (editor != null) { editor.getCaretModel().moveToOffset(0); DaemonCodeAnalyzer.getInstance(myProject).restart(); }// w w w . j a v a 2 s . c o m return editor; }
From source file:io.flutter.FlutterErrorReportSubmitter.java
License:Open Source License
@SuppressWarnings("deprecation") @Override// w w w. ja va 2 s. com public void submitAsync(@NotNull IdeaLoggingEvent[] events, @Nullable String additionalInfo, @NotNull Component parentComponent, @NotNull Consumer<SubmittedReportInfo> consumer) { if (events.length == 0) { consumer.consume(new SubmittedReportInfo(null, null, SubmittedReportInfo.SubmissionStatus.FAILED)); return; } final DataContext dataContext = DataManager.getInstance().getDataContext(parentComponent); Project project = PlatformDataKeys.PROJECT.getData(dataContext); if (project == null) { project = ProjectManager.getInstance().getDefaultProject(); } final StringBuilder builder = new StringBuilder(); builder.append("Please file this bug report at https://github.com/flutter/flutter-intellij/issues/new.\n"); builder.append("\n"); builder.append("---\n"); builder.append("\n"); builder.append("## What happened\n"); builder.append("\n"); if (additionalInfo != null) { builder.append(additionalInfo.trim()).append("\n"); } else { builder.append("(please describe what you were doing when this exception occurred)\n"); } builder.append("\n"); builder.append("## Version information\n"); builder.append("\n"); // IntelliJ version final ApplicationInfo info = ApplicationInfo.getInstance(); builder.append(info.getVersionName()).append(" `").append(info.getFullVersion()).append("`"); final IdeaPluginDescriptor flutterPlugin = PluginManager.getPlugin(PluginId.getId("io.flutter")); //noinspection ConstantConditions builder.append(" Flutter plugin `").append(flutterPlugin.getVersion()).append("`"); final IdeaPluginDescriptor dartPlugin = PluginManager.getPlugin(PluginId.getId("Dart")); if (dartPlugin != null) { //noinspection ConstantConditions builder.append(" Dart plugin `").append(dartPlugin.getVersion()).append("`"); } builder.append("\n\n"); final FlutterSdk sdk = FlutterSdk.getFlutterSdk(project); if (sdk == null) { builder.append("No Flutter sdk configured.\n"); } else { final String flutterVersion = getFlutterVersion(sdk); if (flutterVersion != null) { builder.append(flutterVersion.trim()).append("\n"); } else { builder.append("Error getting Flutter sdk information.\n"); } } builder.append("\n"); for (IdeaLoggingEvent event : events) { builder.append("## Exception\n"); builder.append("\n"); builder.append(event.getMessage()).append("\n"); builder.append("\n"); if (event.getThrowable() != null) { builder.append("```\n"); builder.append(event.getThrowableText().trim()).append("\n"); builder.append("```\n"); builder.append("\n"); FlutterInitializer.getAnalytics().sendException(event.getThrowable(), false); } } final String text = builder.toString().trim() + "\n"; // Create scratch file. final ScratchRootType scratchRoot = ScratchRootType.getInstance(); final VirtualFile file = scratchRoot.createScratchFile(project, "bug-report.md", Language.ANY, text); if (file != null) { // Open the file. new OpenFileDescriptor(project, file).navigate(true); } else { consumer.consume(new SubmittedReportInfo(null, null, SubmittedReportInfo.SubmissionStatus.FAILED)); } consumer.consume(new SubmittedReportInfo(null, "", SubmittedReportInfo.SubmissionStatus.NEW_ISSUE)); }
From source file:net.andydvorak.intellij.lessc.ui.notifier.NotificationListenerImpl.java
License:Apache License
private void openFileInEditor(@NotNull final Notification notification, @Nullable final VirtualFile file) { if (file == null) return;/* w ww .j a v a2s . co m*/ final FileEditorManager editorManager = FileEditorManager.getInstance(myProject); final Editor editor = editorManager.openTextEditor(new OpenFileDescriptor(myProject, file), true); final LogicalPosition logicalPosition = getLogicalPosition(); if (editor != null && logicalPosition != null) { // Set correct caret position // See https://github.com/johnlindquist/open-source-plugins/blob/master/QuickJump/src/com/johnlindquist/quickjump/QuickJumpAction.java editor.getCaretModel().moveToVisualPosition(editor.logicalToVisualPosition(logicalPosition)); } notification.hideBalloon(); }
From source file:org.jetbrains.android.dom.converters.CreateMissingClassQuickFix.java
License:Apache License
@Override public void applyFix(@NotNull final Project project, @NotNull ProblemDescriptor descriptor) { final PsiPackage aPackage = myPackage.getElement(); if (aPackage == null) { return;//w ww. ja v a 2 s . c om } final AndroidFacet facet = AndroidFacet.getInstance(myModule); if (facet == null) { return; } final List<IdeaSourceProvider> providerList = IdeaSourceProvider.getCurrentSourceProviders(facet); final List<VirtualFile> javaDirectories = Lists.newArrayList(); for (IdeaSourceProvider provider : providerList) { javaDirectories.addAll(provider.getJavaDirectories()); } final PsiDirectory[] directories = aPackage.getDirectories(); final List<PsiDirectory> filteredDirectories = Lists.newArrayListWithExpectedSize(directories.length); for (PsiDirectory directory : directories) { for (VirtualFile file : javaDirectories) { if (VfsUtilCore.isAncestor(file, directory.getVirtualFile(), true)) { filteredDirectories.add(directory); break; } } } final PsiDirectory directory; switch (filteredDirectories.size()) { case 0: directory = null; break; case 1: directory = filteredDirectories.get(0); break; default: // There are several directories, present a dialog window for a user to choose a particular destination directory final PsiDirectory[] array = filteredDirectories.toArray(new PsiDirectory[filteredDirectories.size()]); directory = DirectoryChooserUtil.selectDirectory(aPackage.getProject(), array, filteredDirectories.get(0), ""); } if (directory == null) { return; } final RunResult<PsiClass> result = new WriteCommandAction<PsiClass>(project) { @Override protected void run(@NotNull Result<PsiClass> result) throws Throwable { // Create a new class final PsiClass psiClass = JavaDirectoryService.getInstance().createClass(directory, myClassName); final JavaPsiFacade facade = JavaPsiFacade.getInstance(project); // Add a base class to "extends" list final PsiReferenceList list = psiClass.getExtendsList(); if (list != null && myBaseClassFqcn != null) { final PsiClass parentClass = facade.findClass(myBaseClassFqcn, GlobalSearchScope.allScope(project)); if (parentClass != null) { list.add(facade.getElementFactory().createClassReferenceElement(parentClass)); } } // Add a "public" modifier, which is absent by default. Required because classes references in AndroidManifest // have to point to public classes. final PsiModifierList modifierList = psiClass.getModifierList(); if (modifierList != null) { modifierList.setModifierProperty(PsiModifier.PUBLIC, true); } result.setResult(psiClass); } }.execute(); PsiClass aClass = result.getResultObject(); OpenFileDescriptor fileDescriptor = new OpenFileDescriptor(project, aClass.getContainingFile().getVirtualFile()); FileEditorManager.getInstance(project).openEditor(fileDescriptor, true); }
From source file:org.jetbrains.idea.maven.project.actions.MavenOpenOrCreateFilesAction.java
License:Apache License
@Override public void actionPerformed(AnActionEvent e) { final Project project = MavenActionUtil.getProject(e.getDataContext()); final List<File> files = getFiles(e); final List<VirtualFile> virtualFiles = collectVirtualFiles(files); if (files.size() == 1 && virtualFiles.isEmpty()) { new WriteCommandAction(project, e.getPresentation().getText()) { @Override/*from w w w . j a v a 2 s . co m*/ protected void run(Result result) throws Throwable { File file = files.get(0); try { VirtualFile newFile = VfsUtil.createDirectoryIfMissing(file.getParent()) .createChildData(this, file.getName()); virtualFiles.add(newFile); MavenUtil.runFileTemplate(project, newFile, getFileTemplate()); } catch (IOException ex) { MavenUtil.showError(project, "Cannot create " + file.getName(), ex); } } }.execute(); return; } for (VirtualFile each : virtualFiles) { new OpenFileDescriptor(project, each).navigate(true); } }
From source file:org.jetbrains.idea.maven.utils.MavenUtil.java
License:Apache License
private static void runOrApplyFileTemplate(Project project, VirtualFile file, String templateName, Properties properties, Properties conditions, boolean interactive) throws IOException { FileTemplateManager manager = FileTemplateManager.getInstance(); FileTemplate fileTemplate = manager.getJ2eeTemplate(templateName); Properties allProperties = manager.getDefaultProperties(); if (!interactive) { allProperties.putAll(properties); }/*from w w w.j a v a2 s . c o m*/ allProperties.putAll(conditions); String text = fileTemplate.getText(allProperties); Pattern pattern = Pattern.compile("\\$\\{(.*)\\}"); Matcher matcher = pattern.matcher(text); StringBuffer builder = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(builder, "\\$" + matcher.group(1).toUpperCase() + "\\$"); } matcher.appendTail(builder); text = builder.toString(); TemplateImpl template = (TemplateImpl) TemplateManager.getInstance(project).createTemplate("", "", text); for (int i = 0; i < template.getSegmentsCount(); i++) { if (i == template.getEndSegmentNumber()) { continue; } String name = template.getSegmentName(i); String value = "\"" + properties.getProperty(name, "") + "\""; template.addVariable(name, value, value, true); } if (interactive) { OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file); Editor editor = FileEditorManager.getInstance(project).openTextEditor(descriptor, true); editor.getDocument().setText(""); TemplateManager.getInstance(project).startTemplate(editor, template); } else { VfsUtil.saveText(file, template.getTemplateText()); PsiFile psiFile = PsiManager.getInstance(project).findFile(file); if (psiFile != null) { new ReformatCodeProcessor(project, psiFile, null, false).run(); } } }