我已经创建了一个新的Eclipse插件来安装新的View。 经过一些操作后,我用标记填充这个视图。
视图仅显示前100个标记,如下图所示:
Eclipse Markers http://www.imageupload.co.uk/images/2014/02/27/Markers.png
如何增加100个标记限制?
以下是我实施视图的方式:
plugin.xml中:
<extension
id="code_presentation.marker"
name="Code Presentation Markers"
point="org.eclipse.core.resources.markers">
<persistent
value="true">
</persistent>
<super
type="org.eclipse.core.resources.textmarker">
</super>
<attribute
name="owner">
</attribute>
</extension>
<extension
point="org.eclipse.ui.editors.annotationTypes">
<type
markerSeverity="0"
markerType="code_presentation.marker"
name="code_presentation.marker.type">
</type>
</extension>
<extension
point="org.eclipse.ui.editors.markerAnnotationSpecification">
<specification
annotationType="code_presentation.marker.type"
colorPreferenceKey="code_presentation.marker.type.color"
colorPreferenceValue="255,255,0"
contributesToHeader="true"
highlightPreferenceKey="code_presentation.marker.type.highlight"
highlightPreferenceValue="false"
includeOnPreferencePage="true"
isGoToNextNavigationTargetKey="code_presentation.marker.type.nextnavigation"
isGoToNextNavigationTarget="true"
isGoToPreviousNavigationTargetKey="code_presentation.marker.type.previousnavigation"
isGoToPreviousNavigationTarget = "true"
icon="icons/Code_Presentation_Small.png"
label="Qac error marker"
overviewRulerPreferenceKey="code_presentation.marker.type.overview"
overviewRulerPreferenceValue="true"
presentationLayer="0"
textPreferenceKey="code_presentation.marker.type.text"
textPreferenceValue="false"
textStylePreferenceValue="BOX"
verticalRulerPreferenceKey="code_presentation.marker.type.ruler"
verticalRulerPreferenceValue="true">
</specification>
</extension>
<extension
point="org.eclipse.ui.views">
<view
class="code_presentation.markersview.MyCustomMarkersView"
icon="icons/Code_Presentation_Small.png"
id="code_presentation.markersview.customMarker"
name="Code Presentation Markers">
</view>
</extension>
<extension
point="org.eclipse.ui.ide.markerSupport">
<markerField
class="code_presentation.markersview.JustificationField"
id="code_presentation.markersview.Justificationfield"
name="Justification">
</markerField>
<markerContentGenerator
id="code_presentation.markersview.myCustomMarkerGenerator"
name="My Marker Generator">
<markerTypeReference
id="code_presentation.marker"/>
<markerFieldReference
id="org.eclipse.ui.ide.priorityField"/>
<markerFieldReference
id="org.eclipse.ui.ide.severityAndDescriptionField"/>
<markerFieldReference
id="org.eclipse.ui.ide.resourceField"/>
<markerFieldReference
id="org.eclipse.ui.ide.locationField"/>
<markerFieldReference
id="code_presentation.markersview.justificationfield"/>
</markerContentGenerator>
</extension>
我有三个java文件,如下图所示:
First File Code. http://www.imageupload.co.uk/images/2014/02/27/Untitled1z3Sd6.png
Second File Code. http://www.imageupload.co.uk/images/2014/02/27/Untitled2.png
Third File Code. http://www.imageupload.co.uk/images/2014/02/27/Untitled3.png
答案 0 :(得分:3)
限制在org.eclipse.ui.internal.views.markers.MarkerContentGenerator
中设置,但这是一个内部类,因此无法直接访问。
设置限制的唯一因素是org.eclipse.ui.internal.views.markers.FiltersConfigurationDialog
,它也是内部的。
您可以通过为命令ID org.eclipse.ui.ide.configureFilters
添加菜单项来显示此过滤器配置对话框。
这是Problems View plugin.xml菜单定义的一部分,它链接到过滤器菜单:
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.views.ProblemView">
<command
commandId="org.eclipse.ui.ide.configureFilters"
mnemonic="%command.configureFilters.mnemonic"
style="push">
</command>
</menuContribution>
</extension>
你应该可以为你的观点做类似的事情。
答案 1 :(得分:1)
ExtendedMarkersView从PreferenceStore获取限制数。你必须改变价值。
如果禁用MarkerView的限制,请按如下方式编写代码:
IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(
IDEInternalPreferences.USE_MARKER_LIMITS, false);
如果更改MarkerView的限制,请按如下方式编写代码:
IDEWorkbenchPlugin.getDefault().getPreferenceStore()
.setValue(IDEInternalPreferences.MARKER_LIMITS_VALUE, 200);
更改PreferenceStore的值时,将更改MarkerView的所有限制。 如果您不想更改它,则必须自行覆盖ExtendedMarkersView#getStatusMessage。
编辑:
在使用org.eclipse.ui.ide
之前,将plugin.xml
包添加到IDEWorkbenchPlugin
中的所需插件中。