下面列出了怎么用org.eclipse.ui.editors.text.TextEditor的API类实例代码及写法,或者点击链接到github查看源代码。
@Test
public void testSyntaxHighlighting() throws Exception {
IFile csharpSourceFile = getProject("csproj").getFile("Program.cs");
TextEditor editor = (TextEditor) IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), csharpSourceFile, "org.eclipse.ui.genericeditor.GenericEditor");
StyledText editorTextWidget = (StyledText)editor.getAdapter(Control.class);
new DisplayHelper() {
@Override
protected boolean condition() {
return editorTextWidget.getStyleRanges().length > 1;
}
}.waitForCondition(editorTextWidget.getDisplay(), 4000);
Assert.assertTrue("There should be multiple styles in editor", editorTextWidget.getStyleRanges().length > 1);
}
@Test
public void testRustSyntaxHighlighting() throws CoreException, IOException {
IFile rustFile = getProject(BASIC_PROJECT_NAME).getFolder("src").getFile("main.rs");
TextEditor editor = (TextEditor) IDE.openEditor(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), rustFile,
"org.eclipse.ui.genericeditor.GenericEditor");
StyledText editorTextWidget = (StyledText) editor.getAdapter(Control.class);
new DisplayHelper() {
@Override
protected boolean condition() {
return editorTextWidget.getStyleRanges().length > 1;
}
}.waitForCondition(editorTextWidget.getDisplay(), 4000);
Assert.assertTrue("There should be multiple styles in editor", editorTextWidget.getStyleRanges().length > 1);
}
@Test
public void testManifestSyntaxHighlighting() throws CoreException, IOException {
IFile rustFile = getProject(BASIC_PROJECT_NAME).getFile("Cargo.toml");
TextEditor editor = (TextEditor) IDE.openEditor(
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), rustFile,
"org.eclipse.ui.genericeditor.GenericEditor");
StyledText editorTextWidget = (StyledText) editor.getAdapter(Control.class);
new DisplayHelper() {
@Override
protected boolean condition() {
return editorTextWidget.getStyleRanges().length > 1;
}
}.waitForCondition(editorTextWidget.getDisplay(), 4000);
Assert.assertTrue("There should be multiple styles in editor", editorTextWidget.getStyleRanges().length > 1);
}
/**
* Note: This constructor is for internal use only. Clients should not call this constructor.
* @param editor the Java editor
*
* @noreference This constructor is not intended to be referenced by clients.
*/
public OpenAction(TextEditor editor) {
this(editor.getEditorSite());
fEditor= editor;
setText(Messages.OpenAction_Open);
setEnabled(CoreEditorUtils.getEditorInputXdsElement(fEditor) != null);
}
public OpenEditorActionGroup(TextEditor editor) {
fIsEditorOwner= true;
fOpen= new OpenAction(editor);
editor.setAction("OpenEditor", fOpen); //$NON-NLS-1$
fSite= editor.getEditorSite();
fSelectionProvider= fSite.getSelectionProvider();
initialize();
}
public TextEditor getSrcEditor() {
return _srcEditor;
}
protected TextEditor getTextEditor( )
{
return reportXMLEditor;
}
@Override
public boolean isRelevantFor(final IEditorPart part) {
return !(part instanceof MarkdownEditor) && (part instanceof TextEditor || part instanceof WebBrowserEditor)
&& !isInsideprojectWithREStApiExtensionNature(part);
}
@Override
public void setActiveEditor(IAction action, IEditorPart targetEditor) {
if(targetEditor instanceof TextEditor){
this.editor = (TextEditor) targetEditor ;
}
}
void setTextEditor(TextEditor editor);