List of usage examples for com.intellij.openapi.fileEditor OpenFileDescriptor OpenFileDescriptor
public OpenFileDescriptor(@NotNull Project project, @NotNull VirtualFile file, int offset)
From source file:com.intellij.usageView.UsageViewUtil.java
License:Apache License
public static void navigateTo(@NotNull UsageInfo info, boolean requestFocus) { int offset = info.getNavigationOffset(); VirtualFile file = info.getVirtualFile(); Project project = info.getProject(); FileEditorManager.getInstance(project).openTextEditor(new OpenFileDescriptor(project, file, offset), requestFocus);// w w w. ja v a 2 s .co m }
From source file:com.intellij.util.PsiNavigateUtil.java
License:Apache License
public static void navigate(@Nullable final PsiElement psiElement) { if (psiElement != null && psiElement.isValid()) { final PsiElement navigationElement = psiElement.getNavigationElement(); final int offset = navigationElement instanceof PsiFile ? -1 : navigationElement.getTextOffset(); final VirtualFile virtualFile = navigationElement.getContainingFile().getVirtualFile(); if (virtualFile != null && virtualFile.isValid()) { new OpenFileDescriptor(navigationElement.getProject(), virtualFile, offset).navigate(true); }/*from w w w . java2 s .c om*/ } }
From source file:com.intellij.velocity.inspections.DefineInCommentIntention.java
License:Apache License
protected void defineInComment(final Editor editor, final PsiFile fileWithVarReference, final PsiFile fileToInsertComment, final boolean addFileReference) { final PsiElement ref = getReferenceElement(editor, fileWithVarReference); assert ref != null; final Project project = fileWithVarReference.getProject(); if (!FileModificationService.getInstance().prepareFileForWrite(fileToInsertComment)) { return;//www .ja v a 2 s . co m } final PsiDocumentManager documentManager = PsiDocumentManager.getInstance(project); final Document documentToInsertComment = documentManager.getDocument(fileToInsertComment); assert documentToInsertComment != null; new WriteCommandAction(project) { @Override protected void run(Result result) throws Throwable { Editor editor = FileEditorManager.getInstance(project).openTextEditor( new OpenFileDescriptor(project, fileToInsertComment.getViewProvider().getVirtualFile(), 0), true); assert editor != null; assert documentToInsertComment == editor.getDocument(); int insertionIndex = documentToInsertComment.getText().startsWith( VtlFileIndex.IMPLICIT_INCLUDE_MARKER) ? VtlFileIndex.IMPLICIT_INCLUDE_MARKER.length() : 0; editor.getCaretModel().moveToOffset(insertionIndex); TemplateManager manager = TemplateManager.getInstance(project); final Template template = manager.createTemplate("", ""); final String relativePath = addFileReference ? PsiUtil.getRelativePath(fileToInsertComment, fileWithVarReference) : null; prepareTemplate(template, ref, relativePath, fileToInsertComment); manager.startTemplate(editor, template); } }.execute(); }
From source file:com.intellij.xdebugger.impl.XSourcePositionImpl.java
License:Apache License
@NotNull public static OpenFileDescriptor doCreateOpenFileDescriptor(@NotNull Project project, @NotNull XSourcePosition position) { return position.getOffset() != -1 ? new OpenFileDescriptor(project, position.getFile(), position.getOffset()) : new OpenFileDescriptor(project, position.getFile(), position.getLine(), 0); }
From source file:com.intellij.xml.util.AddDtdDeclarationFix.java
License:Apache License
@Override public void applyFix(@Nonnull final Project project, @Nonnull final ProblemDescriptor descriptor) { final PsiElement element = descriptor.getPsiElement(); final PsiFile containingFile = element.getContainingFile(); @NonNls//from w ww . j ava 2 s . com String prefixToInsert = ""; @NonNls String suffixToInsert = ""; final int UNDEFINED_OFFSET = -1; int anchorOffset = UNDEFINED_OFFSET; PsiElement anchor = PsiTreeUtil.getParentOfType(element, XmlElementDecl.class, XmlAttlistDecl.class, XmlEntityDecl.class, XmlConditionalSection.class); if (anchor != null) { anchorOffset = anchor.getTextRange().getStartOffset(); } if (anchorOffset == UNDEFINED_OFFSET && containingFile.getLanguage() == XMLLanguage.INSTANCE) { XmlFile file = (XmlFile) containingFile; final XmlProlog prolog = file.getDocument().getProlog(); assert prolog != null; final XmlDoctype doctype = prolog.getDoctype(); final XmlMarkupDecl markupDecl; if (doctype != null) { markupDecl = doctype.getMarkupDecl(); } else { markupDecl = null; } if (doctype == null) { final XmlTag rootTag = file.getDocument().getRootTag(); prefixToInsert = "<!DOCTYPE " + ((rootTag != null) ? rootTag.getName() : "null"); suffixToInsert = ">\n"; } if (markupDecl == null) { prefixToInsert += " [\n"; suffixToInsert = "]" + suffixToInsert; if (doctype != null) { anchorOffset = doctype.getTextRange().getEndOffset() - 1; // just before last '>' } else { anchorOffset = prolog.getTextRange().getEndOffset(); } } } if (anchorOffset == UNDEFINED_OFFSET) { anchorOffset = element.getTextRange().getStartOffset(); } OpenFileDescriptor openDescriptor = new OpenFileDescriptor(project, containingFile.getVirtualFile(), anchorOffset); final Editor editor = FileEditorManager.getInstance(project).openTextEditor(openDescriptor, true); final TemplateManager templateManager = TemplateManager.getInstance(project); final Template t = templateManager.createTemplate("", ""); if (!prefixToInsert.isEmpty()) { t.addTextSegment(prefixToInsert); } t.addTextSegment("<!" + myElementDeclarationName + " " + myReference + " "); t.addEndVariable(); t.addTextSegment(">\n"); if (!suffixToInsert.isEmpty()) { t.addTextSegment(suffixToInsert); } templateManager.startTemplate(editor, t); }
From source file:com.jetbrains.lang.dart.assists.AssistUtils.java
License:Apache License
@Nullable public static Editor navigate(@NotNull final Project project, @NotNull final VirtualFile file, final int offset) { final OpenFileDescriptor descriptor = new OpenFileDescriptor(project, file, offset); descriptor.setScrollType(ScrollType.MAKE_VISIBLE); descriptor.navigate(true);/*from www .j a v a 2 s . c o m*/ final FileEditor fileEditor = FileEditorManager.getInstance(project).getSelectedEditor(file); return fileEditor instanceof TextEditor ? ((TextEditor) fileEditor).getEditor() : null; }
From source file:com.jetbrains.lang.dart.ide.errorTreeView.DartProblemsViewPanel.java
License:Apache License
@Nullable private Navigatable createNavigatable() { final DartProblem problem = myTable.getSelectedObject(); if (problem != null) { final VirtualFile file = LocalFileSystem.getInstance() .findFileByPath(problem.getSystemIndependentPath()); if (file != null) { final OpenFileDescriptor navigatable = new OpenFileDescriptor(myProject, file, problem.getOffset()); navigatable.setScrollType(ScrollType.MAKE_VISIBLE); return navigatable; }//from w ww .ja v a 2 s . co m } return null; }
From source file:com.jetbrains.unchain.ui.UnchainPanel.java
License:Apache License
private void navigateToReference(PsiElement target) { if (target != null && myCallChainList.getSelectedIndex() == myCallChainList.getModel().getSize() - 1) { BadDependencyItem badDependency = (BadDependencyItem) myBadDepsList.getSelectedValue(); PsiReference reference = ReferencesSearch .search(badDependency.getPsiElement(), new LocalSearchScope(target)).findFirst(); if (reference != null) { new OpenFileDescriptor(myProject, reference.getElement().getContainingFile().getVirtualFile(), reference.getRangeInElement().getStartOffset() + reference.getElement().getTextRange().getStartOffset()).navigate(true); return; }//from w w w .ja v a 2 s. c o m } if (target instanceof Navigatable) { ((Navigatable) target).navigate(true); } }
From source file:com.sixrr.guiceyidea.utils.EditorCaretMover.java
License:Apache License
@Nullable public Editor openInEditor(PsiElement element) { final PsiFile psiFile; final int i; if (element instanceof PsiFile) { psiFile = (PsiFile) element;/*from w ww. j ava 2s. c o m*/ i = -1; } else { psiFile = element.getContainingFile(); i = element.getTextOffset(); } if (psiFile == null) { return null; } final VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile != null) { final OpenFileDescriptor fileDesc = new OpenFileDescriptor(project, virtualFile, i); final FileEditorManager fileEditorManager = FileEditorManager.getInstance(project); return fileEditorManager.openTextEditor(fileDesc, true); } else { Logger.getInstance("Foo").error("Virtual file doesn't exist"); return null; } }
From source file:com.sixrr.metrics.utils.EditorCaretMover.java
License:Apache License
@Nullable public Editor openInEditor(PsiElement element) { final PsiFile psiFile; final int i; if (element instanceof PsiFile) { psiFile = (PsiFile) element;/*from w ww .ja va 2s . com*/ i = -1; } else { psiFile = element.getContainingFile(); i = element.getTextOffset(); } if (psiFile == null) { return null; } final OpenFileDescriptor fileDesc = new OpenFileDescriptor(project, psiFile.getVirtualFile(), i); disableMovementOneTime(); final FileEditorManager fileEditorManager = FileEditorManager.getInstance(project); return fileEditorManager.openTextEditor(fileDesc, false); }