我试图创建一个嵌入Java编辑器/查看器的查看器。但是,我无法让源代码查看器进行适当的Java扫描和着色。这是我到目前为止的代码。
ScopedPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE,
ID);
JavaTextTools tools = new JavaTextTools(store);
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(1, false));
viewer = new SourceViewer(composite, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
viewer.getTextWidget().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
viewer.setEditable(true);
viewer.getControl().setFont(JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT));
Document document = new Document();
tools.setupJavaDocumentPartitioner(document);
viewer.setDocument(document);
viewer.configure(new JavaSourceViewerConfiguration(tools.getColorManager(), store, null,
IJavaPartitions.JAVA_PARTITIONING));
字符串
只是惊讶于它似乎很难只是嵌入一个简单的Java编辑器...无论我做什么,查看器的工作,但仍然没有任何着色。
1条答案
按热度按时间r1zhe5dt1#
SourceViewer
不是一个java编辑器,相反,它是一个用于为自定义语言创建源代码编辑器的类,如eclipse文档中的described。如果您只需要语法着色,那么使用
SourceViewer
并按照here所述自己实现语法着色可能更容易。另一个选择是使用eclipse中的java编辑器greg-449 mentioned。
但是期望有很多 * 代码。