有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将自定义验证器添加到Eclipse插件中的特定文件类型

我为我的文件类型创建了一个自定义编辑器,现在我需要向它添加验证以在Problems视图中显示错误,因此首先我创建了一个新的标记类型:

<extension
    point="org.eclipse.core.resources.markers"
    id="my.marker"
    name="My Marker">
    <super
        type="org.eclipse.core.resources.problemmarker">
    </super>
    <persistent
        value="true">
    </persistent>
</extension>

然后我添加了验证器:

<extension
    point="org.eclipse.wst.validation.validatorV2"
    id="my.validator"
    name="My Validator">
    <validator
        class="com.test.MyValidator"
        markerId="my.marker"
        build="true"
        manual="true">
        <include>
            <rules>
                <fileext
                    ext="mpe">
                </fileext>
            </rules>
        </include>
    </validator>
</extension>

最后,我创建了扩展AbstractValidatorMyValidator类,然后重写了validate方法,但看起来这个类/方法从未被调用,其中的断点没有被命中:

public class MyValidator extends AbstractValidator {
    @Override
    public ValidationResult validate(ValidationEvent event, ValidationState state, IProgressMonitor monitor) {
        // Validation logic
    }
}

enter image description here

这是向文件添加验证的正确方法吗?我不确定我是否应该使用构建器,因为我没有构建任何东西,而且构建器似乎附加到特定的项目性质,我需要将验证附加到文件类型,而不管它在哪种类型的项目中

更新

看起来只有在右键单击文件时才会调用validate方法>;验证,我认为当文件被修改时,验证会自动发生,有什么方法可以做到这一点吗


共 (0) 个答案