List of usage examples for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor
public OpenFileDescriptor(@NotNull Project project, @NotNull VirtualFile file, int logicalLine, int logicalColumn)
From source file:com.intellij.platform.PlatformProjectOpenProcessor.java
License:Apache License
private static void openFileFromCommandLine(final Project project, final VirtualFile virtualFile, final int line) { StartupManager.getInstance(project).registerPostStartupActivity(new DumbAwareRunnable() { @Override/*from w w w . j a va 2 s . c o m*/ public void run() { if (project.isDisposed()) { return; } ToolWindowManager.getInstance(project).invokeLater(new Runnable() { @Override public void run() { ToolWindowManager.getInstance(project).invokeLater(new Runnable() { @Override public void run() { if (!virtualFile.isDirectory()) { if (line > 0) { new OpenFileDescriptor(project, virtualFile, line - 1, 0).navigate(true); } else { new OpenFileDescriptor(project, virtualFile).navigate(true); } } } }); } }); } }); }
From source file:de.mobilej.plugin.adc.ToolWindowFactory.java
License:Apache License
@NotNull private JPanel createPanel(@NotNull Project project) { // Create Panel and Content JPanel panel = new JPanel(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.NONE; c.anchor = GridBagConstraints.LINE_START; devices = new ComboBox(new String[] { resourceBundle.getString("device.none") }); c.gridx = 0;//from w w w . j a v a 2s. c o m c.gridy = 0; panel.add(new JLabel("Device"), c); c.gridx = 1; c.gridy = 0; panel.add(devices, c); showLayoutBounds = new JBCheckBox(resourceBundle.getString("show.layout.bounds")); c.gridx = 0; c.gridy = 1; c.gridwidth = 2; panel.add(showLayoutBounds, c); showLayoutBounds.addActionListener(e -> { final String what = showLayoutBounds.isSelected() ? "true" : "\"\""; final String cmd = "setprop debug.layout " + what; ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true); userAction = true; executeShellCommand(cmd, true); userAction = false; }, resourceBundle.getString("setting.values.title"), false, null); }); localeChooser = new ComboBox(LOCALES); c.gridx = 0; c.gridy = 2; c.gridwidth = 2; panel.add(localeChooser, c); localeChooser.addActionListener(e -> { final LocaleData ld = (LocaleData) localeChooser.getSelectedItem(); if (ld == null) { return; } ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true); userAction = true; executeShellCommand( "am start -a SETMYLOCALE --es language " + ld.language + " --es country " + ld.county, false); userAction = false; }, resourceBundle.getString("setting.values.title"), false, null); }); goToActivityButton = new JButton(resourceBundle.getString("button.goto_activity")); c.gridx = 0; c.gridy = 3; c.gridwidth = 2; panel.add(goToActivityButton, c); goToActivityButton .addActionListener(e -> ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true); userAction = true; final String result = executeShellCommand("dumpsys activity top", false); userAction = false; if (result == null) { return; } ApplicationManager.getApplication().invokeLater(() -> { String activity = result.substring(result.indexOf("ACTIVITY ") + 9); activity = activity.substring(0, activity.indexOf(" ")); String pkg = activity.substring(0, activity.indexOf("/")); String clz = activity.substring(activity.indexOf("/") + 1); if (clz.startsWith(".")) { clz = pkg + clz; } GlobalSearchScope scope = GlobalSearchScope.allScope(project); PsiClass psiClass = JavaPsiFacade.getInstance(project).findClass(clz, scope); if (psiClass != null) { FileEditorManager fileEditorManager = FileEditorManager.getInstance(project); //Open the file containing the class VirtualFile vf = psiClass.getContainingFile().getVirtualFile(); //Jump there new OpenFileDescriptor(project, vf, 1, 0).navigateInEditor(project, false); } else { Messages.showMessageDialog(project, clz, resourceBundle.getString("error.class_not_found"), Messages.getWarningIcon()); return; } }); }, resourceBundle.getString("setting.values.title"), false, null)); inputOnDeviceButton = new JButton(resourceBundle.getString("button.input_on_device")); c.gridx = 0; c.gridy = 4; c.gridwidth = 2; panel.add(inputOnDeviceButton, c); inputOnDeviceButton.addActionListener(e -> { final String text2send = Messages.showMultilineInputDialog(project, resourceBundle.getString("send_text.message"), resourceBundle.getString("send_text.title"), storage.getLastSentText(), Messages.getQuestionIcon(), null); if (text2send != null) { storage.setLastSentText(text2send); ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true); userAction = true; doInputOnDevice(text2send); userAction = false; }, resourceBundle.getString("processing.title"), false, null); } }); clearDataButton = new JButton(resourceBundle.getString("button.clear_data")); c.gridx = 0; c.gridy = 5; c.gridwidth = 2; panel.add(clearDataButton, c); clearDataButton.addActionListener(actionEvent -> { ArrayList<String> appIds = new ArrayList<String>(); List<AndroidFacet> androidFacets = ProjectFacetManager.getInstance(project).getFacets(AndroidFacet.ID); if (androidFacets != null) { for (AndroidFacet facet : androidFacets) { if (!facet.isLibraryProject()) { AndroidModel androidModel = facet.getAndroidModel(); if (androidModel != null) { String appId = androidModel.getApplicationId(); appIds.add(appId); } } } } ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { ProgressManager.getInstance().getProgressIndicator().setIndeterminate(true); userAction = true; for (String appId : appIds) { executeShellCommand("pm clear " + appId, false); } userAction = false; }, resourceBundle.getString("processing.title"), false, null); }); JPanel framePanel = new JPanel(new BorderLayout()); framePanel.add(panel, BorderLayout.NORTH); return framePanel; }
From source file:net.groboclown.idea.p4ic.v2.ui.warning.WarningViewHandler.java
License:Apache License
@NotNull protected List<P4MessageElement> createMessageElementsFor(@NotNull Collection<WarningMessage> warnings) { VirtualFile root = project.getBaseDir(); Map<String, GroupingElement> groups = new HashMap<String, GroupingElement>(); List<P4MessageElement> ret = new ArrayList<P4MessageElement>(); for (WarningMessage warning : warnings) { String groupName = warning.getSummary(); GroupingElement group = groups.get(groupName); if (group == null) { group = new GroupingElement(groupName, root, root); groups.put(groupName, group); }//from w w w.ja v a 2s . co m Collection<VirtualFile> files = warning.getAffectedFiles(); if (files.isEmpty()) { files = Collections.singletonList(root); } for (VirtualFile file : files) { String message = warning.getMessage(); String exportText = ""; if (files.size() > 1) { exportText = " (" + file.getPresentableName() + ")"; } ret.add(new P4MessageElement(warning.getErrorKind(), group, new String[] { message }, new OpenFileDescriptor(project, file, -1, -1), exportText, "", FilePathUtil.getFilePath(file))); } } return ret; }
From source file:org.cordovastudio.editors.designer.rendering.HtmlLinkManager.java
License:Apache License
private static boolean openEditor(@NotNull Project project, @NotNull VirtualFile file, int line, int column) { OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file, line, column); return !FileEditorManager.getInstance(project).openEditor(descriptor, true).isEmpty(); }
From source file:org.eclipse.xtext.idea.execution.TraceBasedExceptionFilter.java
License:Open Source License
@Override public Filter.Result applyFilter(final String line, final int textEndOffset) { final Filter.Result result = super.applyFilter(line, textEndOffset); boolean _equals = Objects.equal(result, null); if (_equals) { return null; }//from ww w . j av a2 s. co m List<Filter.ResultItem> _resultItems = result.getResultItems(); final Function1<Filter.ResultItem, Boolean> _function = (Filter.ResultItem it) -> { HyperlinkInfo _hyperlinkInfo = it.getHyperlinkInfo(); return Boolean.valueOf((!Objects.equal(_hyperlinkInfo, null))); }; final Filter.ResultItem resultItem = IterableExtensions.<Filter.ResultItem>findFirst(_resultItems, _function); final HyperlinkInfo hyperlinkInfo = resultItem.getHyperlinkInfo(); if ((hyperlinkInfo instanceof FileHyperlinkInfo)) { final OpenFileDescriptor descriptor = ((FileHyperlinkInfo) hyperlinkInfo).getDescriptor(); boolean _notEquals = (!Objects.equal(descriptor, null)); if (_notEquals) { VirtualFile _file = descriptor.getFile(); Project _project = descriptor.getProject(); final VirtualFileInProject fileInProject = new VirtualFileInProject(_file, _project); boolean _isGenerated = this.traceProvider.isGenerated(fileInProject); if (_isGenerated) { final IIdeaTrace trace = this.traceProvider.getTraceToSource(fileInProject); final RangeMarker rangeMarker = descriptor.getRangeMarker(); if (((!Objects.equal(trace, null)) && (!Objects.equal(rangeMarker, null)))) { Application _application = ApplicationManager.getApplication(); final Computable<Integer> _function_1 = () -> { int _xblockexpression = (int) 0; { FileDocumentManager _instance = FileDocumentManager.getInstance(); VirtualFile _file_1 = descriptor.getFile(); final Document document = _instance.getDocument(_file_1); int _startOffset = rangeMarker.getStartOffset(); final int lineNumber = document.getLineNumber(_startOffset); _xblockexpression = DocumentUtil.getFirstNonSpaceCharOffset(document, lineNumber); } return Integer.valueOf(_xblockexpression); }; final Integer nonSpaceCharOffset = _application.<Integer>runReadAction(_function_1); TextRegion _textRegion = new TextRegion((nonSpaceCharOffset).intValue(), 0); final ILocationInVirtualFile location = trace.getBestAssociatedLocation(_textRegion); boolean _notEquals_1 = (!Objects.equal(location, null)); if (_notEquals_1) { VirtualFileInProject _platformResource = location.getPlatformResource(); Project _project_1 = _platformResource.getProject(); VirtualFileInProject _platformResource_1 = location.getPlatformResource(); VirtualFile _file_1 = _platformResource_1.getFile(); ITextRegionWithLineInformation _textRegion_1 = location.getTextRegion(); int _lineNumber = _textRegion_1.getLineNumber(); final OpenFileDescriptor sourceFileDescriptor = new OpenFileDescriptor(_project_1, _file_1, _lineNumber, 0); final OpenFileHyperlinkInfo linkInfo = new OpenFileHyperlinkInfo(sourceFileDescriptor); int _highlightStartOffset = resultItem.getHighlightStartOffset(); int _highlightEndOffset = resultItem.getHighlightEndOffset(); TextAttributes _highlightAttributes = resultItem.getHighlightAttributes(); return new Filter.Result(_highlightStartOffset, _highlightEndOffset, linkInfo, _highlightAttributes); } } } } } return result; }
From source file:org.infinitest.intellij.idea.IdeaSourceNavigator.java
License:Open Source License
@Override public void line(int line) { VirtualFile source = fileForClass(); if (source != null) { FileEditorManager.getInstance(project).openEditor(new OpenFileDescriptor(project, source, line - 1, 0), true);/* w w w .j ava 2 s . co m*/ } }
From source file:org.intellij.plugins.xsltDebugger.XsltDebuggerSession.java
License:Apache License
@Nullable public static Editor openLocation(Project project, @NotNull String uri, int lineNumber) { try {//from ww w .j ava 2 s . co m final VirtualFile file = VfsUtil.findFileByURL(new URI(uri).toURL()); final OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file, lineNumber, 0); descriptor.navigate(true); return FileEditorManager.getInstance(project).openTextEditor(descriptor, true); } catch (MalformedURLException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. return null; } catch (URISyntaxException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. return null; } }
From source file:org.jetbrains.plugins.ruby.ruby.run.filters.OpenIOFileHyperlinkInfo.java
License:Apache License
@Override @Nullable//from ww w . j a va 2 s. co m public OpenFileDescriptor getDescriptor() { if (!isLazyInitialized) { final Ref<VirtualFile> virtualFileRef = new Ref<VirtualFile>(null); IdeaInternalUtil.runInsideWriteAction(new ActionRunner.InterruptibleRunnable() { @Override public void run() throws Exception { virtualFileRef.set(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(myFile)); } }); final VirtualFile virtualFile = virtualFileRef.get(); myDescriptor = virtualFile == null ? null : new OpenFileDescriptor(myProject, virtualFile, myLine, myColumn); isLazyInitialized = true; } return myDescriptor; }
From source file:org.twodividedbyzero.idea.findbugs.gui.tree.view.BugTree.java
License:Open Source License
public Object getData(@NonNls final String s) { final TreePath treepath = getSelectionPath(); if (treepath == null) { return null; }/*from w w w . j a v a2 s .c o m*/ @SuppressWarnings({ "unchecked" }) final AbstractTreeNode<VisitableTreeNode> treeNode = (AbstractTreeNode<VisitableTreeNode>) treepath .getLastPathComponent(); if (!(treeNode instanceof BugInstanceNode)) { return null; } final BugInstanceNode node = (BugInstanceNode) treeNode; if ("virtualFile".equals(s)) { final PsiFile psiFile = _treeHelper.getSelectedFile(); return psiFile == null ? null : psiFile.getVirtualFile(); } if ("Navigatable".equals(s)) { final PsiFile psiFile = _treeHelper.getSelectedFile(); if (psiFile != null) { final VirtualFile virtualFile = psiFile.getVirtualFile(); //LOGGER.debug("PsiFile: " + psiFile + " VirtualFile: " + virtualFile.getName() + " - Line: " + node.getSourceLines()[0]); final int[] lines = node.getSourceLines(); if (lines[0] == -1 && lines[1] == -1) { // find anonymous classes final PsiElement psiElement = IdeaUtilImpl.findAnonymousClassPsiElement(psiFile, node, _project); if (psiElement != null) { return psiElement; } } else if (virtualFile != null) { return new OpenFileDescriptor(_project, virtualFile, node.getSourceLines()[0] - 1, 0); } else { return null; } } else { return null; } } if ("psi.Element".equals(s)) { final int[] lines = node.getSourceLines(); if (lines[0] == -1 && lines[1] == -1) { // find anonymous classes final PsiFile psiFile = _treeHelper.getSelectedFile(); final PsiElement psiElement = IdeaUtilImpl.findAnonymousClassPsiElement(psiFile, node, _project); if (psiElement != null) { return psiElement; } } return _treeHelper.getSelectedElement(); } if ("virtualFileArray".equals(s)) { final PsiFile psiFile = _treeHelper.getSelectedFile(); if (psiFile != null) { LOGGER.debug("PsiFile: " + psiFile); return new VirtualFile[] { psiFile.getVirtualFile() }; } else { return VirtualFile.EMPTY_ARRAY; } } /*if ("helpId".equals(s)) { return "find.todoList"; } else { return null; }*/ return null; }
From source file:pl.otros.intellij.JumpToCode.logic.FileUtils.java
License:Apache License
public static String getContent(SourceLocation location) { List<SourceFile> files = findSourceFiles(location); final int lineNumber = location.getLineNumber() - 1; StringBuilder stringBuilder = new StringBuilder(); for (SourceFile sourceFile : files) { final OpenFileDescriptor ofd = new OpenFileDescriptor(sourceFile.project, sourceFile.virtualFile, lineNumber, 1);//from w w w .j a v a 2 s . c o m try { stringBuilder.append("\nPath: ").append(ofd.getFile().getCanonicalPath()).append("\n"); readFileSelectedLines(lineNumber, ofd.getFile().getInputStream(), stringBuilder); stringBuilder.append("\n"); } catch (IOException e) { PluginManager.getLogger().error("Can't read source file", e); } } return stringBuilder.toString().trim(); }