List of usage examples for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor
public OpenFileDescriptor(@NotNull Project project, @NotNull VirtualFile file)
From source file:com.android.tools.idea.memory.MemoryMonitorView.java
License:Apache License
@Override public void onHprofCompleted(@NotNull byte[] data, @NotNull Client client) { File f;//w w w .ja v a2s . c om try { f = FileUtil.createTempFile("ddms", "." + SdkConstants.EXT_HPROF); FileUtil.writeToFile(f, data); } catch (IOException e) { return; } final VirtualFile vf = VfsUtil.findFileByIoFile(f, true); if (vf == null) { return; } OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, vf); FileEditorManager.getInstance(myProject).openEditor(descriptor, true); }
From source file:com.android.tools.idea.navigator.nodes.AndroidManifestsGroupNode.java
License:Apache License
@Override public void navigate(boolean requestFocus) { VirtualFile fileToOpen = findFileToOpen(mySources); if (fileToOpen == null) { return;//from w w w . ja v a2s . c o m } new OpenFileDescriptor(myProject, fileToOpen).navigate(requestFocus); }
From source file:com.android.tools.idea.navigator.nodes.AndroidResGroupNode.java
License:Apache License
@Override public void navigate(boolean requestFocus) { if (myFiles.isEmpty()) { return;//from www.jav a 2 s. com } PsiFile fileToOpen = findFileToOpen(myFiles); if (fileToOpen == null) { return; } new OpenFileDescriptor(myProject, fileToOpen.getVirtualFile()).navigate(requestFocus); }
From source file:com.android.tools.idea.profiling.capture.CaptureService.java
License:Apache License
/** * Notifies listeners of the {@link Capture} being ready, and opens the file with the appropriate editor. * * @param capture the {@link Capture} to notify listeners of and to open */// w w w .j a v a 2 s .c o m public void notifyCaptureReady(@NotNull final Capture capture) { for (CaptureListener listener : myListeners) { listener.onReady(capture); } OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, capture.getFile()); FileEditorManager.getInstance(myProject).openEditor(descriptor, true); }
From source file:com.android.tools.idea.profiling.view.nodes.CaptureNode.java
License:Apache License
@Override public void handleDoubleClickOrEnter(SimpleTree tree, InputEvent inputEvent) { assert myProject != null; OpenFileDescriptor descriptor = new OpenFileDescriptor(myProject, myCapture.getFile()); try {/*from w ww . j av a 2 s . c om*/ FileEditorManager.getInstance(myProject).openEditor(descriptor, true); } catch (IllegalArgumentException ignored) { // The file might not be present anymore if the user deletes it from outside the editor. // Just ignore this issue, as the editor will soon pick up that the file is gone. } }
From source file:com.android.tools.idea.tests.gui.framework.fixture.EditorFixture.java
License:Apache License
/** * Opens up a different file. This will run through the "Open File..." dialog to * find and select the given file.// w w w .j a va 2 s . c o m * * @param file the file to open * @param tab which tab to open initially, if there are multiple editors */ public EditorFixture open(@NotNull final VirtualFile file, @NotNull final Tab tab) { execute(new GuiTask() { @Override protected void executeInEDT() throws Throwable { // TODO: Use UI to navigate to the file instead Project project = myFrame.getProject(); FileEditorManager manager = FileEditorManager.getInstance(project); if (tab == Tab.EDITOR) { manager.openTextEditor(new OpenFileDescriptor(project, file), true); } else { manager.openFile(file, true); } } }); selectEditorTab(tab); Wait.seconds(5).expecting("file " + quote(file.getPath()) + " to be opened and loaded").until(() -> { if (!file.equals(getCurrentFile())) { return false; } FileEditor fileEditor = FileEditorManager.getInstance(myFrame.getProject()).getSelectedEditor(file); JComponent editorComponent = fileEditor.getComponent(); if (editorComponent instanceof JBLoadingPanel) { return !((JBLoadingPanel) editorComponent).isLoading(); } return true; }); myFrame.requestFocusIfLost(); robot.waitForIdle(); return this; }
From source file:com.eightbitmage.moonscript.actions.GenerateMoonListingAction.java
License:Apache License
public void actionPerformed(AnActionEvent e) { Project project = (Project) e.getData(LangDataKeys.PROJECT); assert project != null; Sdk sdk = null;// ww w .j av a 2s . c o m Module module = null; Module modules[] = ModuleManager.getInstance(project).getModules(); for (Module m : modules) { module = m; sdk = MoonSdkType.findMoonSdk(m); if (sdk != null) break; } assert module != null; assert sdk != null; final String homePath = sdk.getHomePath(); if (homePath == null) return; String path = MoonSdkType.getByteCodeCompilerExecutable(homePath).getParent(); String exePath = MoonSdkType.getTopLevelExecutable(homePath).getAbsolutePath(); PsiFile currfile = e.getData(LangDataKeys.PSI_FILE); if (currfile == null || !(currfile instanceof MoonPsiFile)) return; FileDocumentManager.getInstance().saveAllDocuments(); MoonSystemUtil.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 = MoonSystemUtil.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) { MoonSystemUtil.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, MoonFileType.MOON_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.facebook.buck.intellij.ideabuck.actions.GoToBuckFile.java
License:Apache License
@Override public void actionPerformed(AnActionEvent e) { final Project project = e.getProject(); if (project == null) { return;/* w w w .j a va 2 s . co m*/ } Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor(); if (editor == null) { return; } final Document document = editor.getDocument(); if (document == null) { return; } VirtualFile virtualFile = FileDocumentManager.getInstance().getFile(document); final VirtualFile file = BuckFileUtil.getBuckFile(virtualFile); if (file != null) { final OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file); // This is for better cursor position. final Navigatable n = descriptor.setUseCurrentWindow(false); if (!n.canNavigate()) { return; } n.navigate(true); } }
From source file:com.facebook.buck.intellij.plugin.actions.GoToBuckFile.java
License:Apache License
@Override public void actionPerformed(AnActionEvent e) { final Project project = e.getProject(); if (project == null) { return;//from w w w. j av a 2 s .c om } Editor editor = FileEditorManager.getInstance(project).getSelectedTextEditor(); if (editor == null) { return; } final Document document = editor.getDocument(); if (document == null) { return; } VirtualFile virtualFile = FileDocumentManager.getInstance().getFile(document); if (virtualFile == null) { return; } VirtualFile parent = virtualFile.getParent(); if (parent == null) { return; } VirtualFile buckFile = parent.findChild(BuckFileUtil.getBuildFileName()); while (buckFile == null && parent != null) { parent = parent.getParent(); buckFile = parent.findChild(BuckFileUtil.getBuildFileName()); } final VirtualFile file = buckFile; if (file != null) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { // This is for better cursor position. OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file); Navigatable n = descriptor.setUseCurrentWindow(false); if (!n.canNavigate()) { return; } n.navigate(true); } }, ModalityState.NON_MODAL); } }
From source file:com.google.idea.blaze.android.sync.importer.problems.AddGeneratedResourceDirectoryNavigatable.java
License:Open Source License
private static void addDirectoryToProjectView(Project project, File projectViewFile, ArtifactLocation generatedResDir) { ProjectViewEdit edit = ProjectViewEdit.editLocalProjectView(project, builder -> { ListSection<GenfilesPath> existingSection = builder.getLast(GeneratedAndroidResourcesSection.KEY); ListSection.Builder<GenfilesPath> directoryBuilder = ListSection .update(GeneratedAndroidResourcesSection.KEY, existingSection); directoryBuilder.add(new GenfilesPath(generatedResDir.getRelativePath())); builder.replace(existingSection, directoryBuilder); return true; });//from ww w . ja va 2 s . co m if (edit == null) { Messages.showErrorDialog( "Could not modify project view. Check for errors in your project view and try again", "Error"); return; } edit.apply(); VirtualFile projectView = VfsUtil.findFileByIoFile(projectViewFile, false); if (projectView != null) { FileEditorManager.getInstance(project).openEditor(new OpenFileDescriptor(project, projectView), true); } }