本文整理汇总了Java中com.intellij.openapi.fileEditor.impl.text.TextEditorProvider类的典型用法代码示例。如果您正苦于以下问题:Java TextEditorProvider类的具体用法?Java TextEditorProvider怎么用?Java TextEditorProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TextEditorProvider类属于com.intellij.openapi.fileEditor.impl.text包,在下文中一共展示了TextEditorProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getCurrentTaskFilePath
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Nullable
private String getCurrentTaskFilePath() {
String textFile = null;
for (Map.Entry<String, TaskFile> entry : myTask.getTaskFiles().entrySet()) {
String path = getTaskFilePath(entry.getKey());
if (!entry.getValue().getActivePlaceholders().isEmpty()) {
return path;
}
VirtualFile virtualFile = LocalFileSystem.getInstance().findFileByPath(path);
if (virtualFile == null) {
continue;
}
if (TextEditorProvider.isTextFile(virtualFile)) {
textFile = path;
}
}
return textFile;
}
示例2: instantiateAndRun
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@NotNull
public static List<HighlightInfo> instantiateAndRun(@NotNull PsiFile file,
@NotNull Editor editor,
@NotNull int[] toIgnore,
boolean canChangeDocument) {
Project project = file.getProject();
ensureIndexesUpToDate(project);
DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(project);
TextEditor textEditor = TextEditorProvider.getInstance().getTextEditor(editor);
ProcessCanceledException exception = null;
for (int i = 0; i < 1000; i++) {
try {
List<HighlightInfo> infos = codeAnalyzer.runPasses(file, editor.getDocument(), textEditor, toIgnore, canChangeDocument, null);
infos.addAll(DaemonCodeAnalyzerEx.getInstanceEx(project).getFileLevelHighlights(project, file));
return infos;
}
catch (ProcessCanceledException e) {
PsiDocumentManager.getInstance(project).commitAllDocuments();
UIUtil.dispatchAllInvocationEvents();
exception = e;
}
}
// unable to highlight after 100 retries
throw exception;
}
示例3: getDocumentReferences
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@NotNull
static Set<DocumentReference> getDocumentReferences(@NotNull FileEditor editor) {
Set<DocumentReference> result = new THashSet<DocumentReference>();
if (editor instanceof DocumentReferenceProvider) {
result.addAll(((DocumentReferenceProvider)editor).getDocumentReferences());
return result;
}
Document[] documents = TextEditorProvider.getDocuments(editor);
if (documents != null) {
for (Document each : documents) {
Document original = getOriginal(each);
// KirillK : in AnAction.update we may have an editor with an invalid file
VirtualFile f = FileDocumentManager.getInstance().getFile(each);
if (f != null && !f.isValid()) continue;
result.add(DocumentReferenceManager.getInstance().create(original));
}
}
return result;
}
示例4: updateEditorText
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
private void updateEditorText() {
disposeNonTextEditor();
final PsiElement elt = myElements[myIndex].getNavigationElement();
Project project = elt.getProject();
PsiFile psiFile = getContainingFile(elt);
final VirtualFile vFile = psiFile.getVirtualFile();
if (vFile == null) return;
final FileEditorProvider[] providers = FileEditorProviderManager.getInstance().getProviders(project, vFile);
for (FileEditorProvider provider : providers) {
if (provider instanceof TextEditorProvider) {
updateTextElement(elt);
myBinarySwitch.show(myViewingPanel, TEXT_PAGE_KEY);
break;
}
else if (provider.accept(project, vFile)) {
myCurrentNonTextEditorProvider = provider;
myNonTextEditor = myCurrentNonTextEditorProvider.createEditor(project, vFile);
myBinaryPanel.removeAll();
myBinaryPanel.add(myNonTextEditor.getComponent());
myBinarySwitch.show(myViewingPanel, BINARY_PAGE_KEY);
break;
}
}
}
示例5: openFileWithProviders
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Override
@NotNull
public Pair<FileEditor[], FileEditorProvider[]> openFileWithProviders(@NotNull VirtualFile file,
boolean focusEditor,
boolean searchForSplitter) {
// for non-text editors. uml, etc
final FileEditorProvider provider = file.getUserData(FileEditorProvider.KEY);
if (provider != null && provider.accept(getProject(), file)) {
return Pair.create(new FileEditor[]{provider.createEditor(getProject(), file)}, new FileEditorProvider[]{provider});
}
//text editor
Editor editor = openTextEditor(new OpenFileDescriptor(myProject, file), focusEditor);
final FileEditor fileEditor = TextEditorProvider.getInstance().getTextEditor(editor);
return Pair.create (new FileEditor[] {fileEditor}, new FileEditorProvider[] {getProvider (fileEditor)});
}
示例6: instantiateAndRun
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Nonnull
public static List<HighlightInfo> instantiateAndRun(@Nonnull PsiFile file, @Nonnull Editor editor, @Nonnull int[] toIgnore, boolean canChangeDocument) {
Project project = file.getProject();
ensureIndexesUpToDate(project);
DaemonCodeAnalyzerImpl codeAnalyzer = (DaemonCodeAnalyzerImpl)DaemonCodeAnalyzer.getInstance(project);
TextEditor textEditor = TextEditorProvider.getInstance().getTextEditor(editor);
ProcessCanceledException exception = null;
for (int i = 0; i < 100; i++) {
try {
List<HighlightInfo> infos = codeAnalyzer.runPasses(file, editor.getDocument(), Arrays.asList(textEditor), toIgnore, canChangeDocument, null);
infos.addAll(DaemonCodeAnalyzerEx.getInstanceEx(project).getFileLevelHighlights(project, file));
return infos;
}
catch (ProcessCanceledException e) {
exception = e;
}
}
// unable to highlight after 100 retries
throw exception;
}
示例7: getDocumentReferences
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Nonnull
static Set<DocumentReference> getDocumentReferences(@Nonnull FileEditor editor) {
Set<DocumentReference> result = new THashSet<>();
if (editor instanceof DocumentReferenceProvider) {
result.addAll(((DocumentReferenceProvider)editor).getDocumentReferences());
return result;
}
Document[] documents = TextEditorProvider.getDocuments(editor);
if (documents != null) {
for (Document each : documents) {
Document original = getOriginal(each);
// KirillK : in AnAction.update we may have an editor with an invalid file
VirtualFile f = FileDocumentManager.getInstance().getFile(each);
if (f != null && !f.isValid()) continue;
result.add(DocumentReferenceManager.getInstance().create(original));
}
}
return result;
}
示例8: collectDescriptorsForEditor
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
public static void collectDescriptorsForEditor(@Nonnull Editor editor, @Nonnull List<HighlightInfo.IntentionActionDescriptor> descriptors) {
Project project = editor.getProject();
if (project == null) return;
FileEditorManager fileEditorManager = FileEditorManager.getInstance(project);
if (!(fileEditorManager instanceof FileEditorManagerImpl)) return;
TextEditor fileEditor = TextEditorProvider.getInstance().getTextEditor(editor);
List<JComponent> components = ((FileEditorManagerImpl)fileEditorManager).getTopComponents(fileEditor);
for (JComponent component : components) {
if (component instanceof IntentionActionProvider) {
IntentionActionWithOptions action = ((IntentionActionProvider)component).getIntentionAction();
if (action != null) {
descriptors.add(new HighlightInfo.IntentionActionDescriptor(action, action.getOptions(), null));
}
}
}
}
示例9: closeFile
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Override
public void closeFile(@Nonnull final VirtualFile file) {
Editor editor = myVirtualFile2Editor.remove(file);
if (editor != null){
TextEditorProvider editorProvider = TextEditorProvider.getInstance();
editorProvider.disposeEditor(editorProvider.getTextEditor(editor));
EditorFactory.getInstance().releaseEditor(editor);
}
if (Comparing.equal(file, myActiveFile)) {
myActiveFile = null;
}
modifyTabWell(new Runnable() {
@Override
public void run() {
myTestEditorSplitter.closeFile(file);
}
});
}
示例10: switchEditor
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
private void switchEditor() {
LOG.debug("Switching editor...");
AppUIUtil.invokeOnEdt(new Runnable() {
@Override
public void run() {
TextEditor textEditor = (TextEditor)TextEditorProvider.getInstance().createEditor(myProject, myVirtualFile);
textEditor.addPropertyChangeListener(myPropertyChangeListener);
myEditorPanel.removeAll();
myEditorPanel.add(textEditor.getComponent(), BorderLayout.CENTER);
myFileEditor = textEditor;
showCard(EDITOR_CARD);
LOG.debug("Editor for downloaded file opened.");
}
}, myProject.getDisposed());
}
示例11: openTextEditor
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Override
@Nullable
public Editor openTextEditor(@NotNull final OpenFileDescriptor descriptor, final boolean focusEditor) {
final Collection<FileEditor> fileEditors = openEditor(descriptor, focusEditor);
for (FileEditor fileEditor : fileEditors) {
if (fileEditor instanceof TextEditor) {
setSelectedEditor(descriptor.getFile(), TextEditorProvider.getInstance().getEditorTypeId());
Editor editor = ((TextEditor)fileEditor).getEditor();
return getOpenedEditor(editor, focusEditor);
}
}
return null;
}
示例12: getData
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Override
public Object getData(DataProvider dataProvider) {
final Editor editor = (Editor)dataProvider.getData(CommonDataKeys.EDITOR.getName());
if (editor == null || editor.isDisposed()) {
return null;
}
final Boolean aBoolean = editor.getUserData(EditorTextField.SUPPLEMENTARY_KEY);
if (aBoolean != null && aBoolean.booleanValue()) {
return null;
}
return TextEditorProvider.getInstance().getTextEditor(editor);
}
示例13: updateEditorText
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
private void updateEditorText() {
disposeNonTextEditor();
final PsiElement foundElement = myElements[myIndex];
final PsiElement elt = foundElement.getNavigationElement();
LOG.assertTrue(elt != null, foundElement);
final Project project = foundElement.getProject();
final PsiFile psiFile = getContainingFile(elt);
final VirtualFile vFile = psiFile != null ? psiFile.getVirtualFile() : null;
if (vFile == null) return;
final FileEditorProvider[] providers = FileEditorProviderManager.getInstance().getProviders(project, vFile);
for (FileEditorProvider provider : providers) {
if (provider instanceof TextEditorProvider) {
updateTextElement(elt);
myBinarySwitch.show(myViewingPanel, TEXT_PAGE_KEY);
break;
}
else if (provider.accept(project, vFile)) {
myCurrentNonTextEditorProvider = provider;
myNonTextEditor = myCurrentNonTextEditorProvider.createEditor(project, vFile);
myBinaryPanel.removeAll();
myBinaryPanel.add(myNonTextEditor.getComponent());
myBinarySwitch.show(myViewingPanel, BINARY_PAGE_KEY);
break;
}
}
}
示例14: closeFile
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Override
public void closeFile(@NotNull VirtualFile file) {
Editor editor = myVirtualFile2Editor.remove(file);
if (editor != null){
TextEditorProvider editorProvider = TextEditorProvider.getInstance();
editorProvider.disposeEditor(editorProvider.getTextEditor(editor));
EditorFactory.getInstance().releaseEditor(editor);
}
if (Comparing.equal(file, myActiveFile)) {
myActiveFile = null;
}
}
示例15: getAllEditors
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider; //导入依赖的package包/类
@Override
@NotNull
public FileEditor[] getAllEditors() {
FileEditor[] result = new FileEditor[myVirtualFile2Editor.size()];
int i = 0;
for (Map.Entry<VirtualFile, Editor> entry : myVirtualFile2Editor.entrySet()) {
TextEditor textEditor = TextEditorProvider.getInstance().getTextEditor(entry.getValue());
result[i++] = textEditor;
}
return result;
}