为Java配置Eclipse SourceViewer

rggaifut  于 2023-11-18  发布在  Eclipse
关注(0)|答案(1)|浏览(146)

我试图创建一个嵌入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编辑器...无论我做什么,查看器的工作,但仍然没有任何着色。

r1zhe5dt

r1zhe5dt1#

SourceViewer不是一个java编辑器,相反,它是一个用于为自定义语言创建源代码编辑器的类,如eclipse文档中的described
如果您只需要语法着色,那么使用SourceViewer并按照here所述自己实现语法着色可能更容易。
另一个选择是使用eclipse中的java编辑器greg-449 mentioned
但是期望有很多 * 代码。

相关问题