如何解决"The clean up '<cleanUpName>' contributed by '<plugin>' has been disabled because it does not honor any options."?
How to solve "The clean up '<cleanUpName>' contributed by '<plugin>' has been disabled because it does not honor any options."?
我在 this guide 之后为 java 编辑器创建一个保存后操作。到目前为止,我的清理代码如下所示:
public class CheckFileCleanUp implements ICleanUp {
@Override
public ICleanUpFix createFix(final CleanUpContext cleanUpContext) throws CoreException {
final ICompilationUnit compilationUnit = cleanUpContext.getCompilationUnit();
IPath path = compilationUnit.getPath();
IFile[] files = compilationUnit.getJavaProject().getProject().getWorkspace().getRoot().findFilesForLocation(path);
RunCheckstyleOnFilesJob job = new RunCheckstyleOnFilesJob(Arrays.asList(files));
job.setRule(job);
job.schedule();
return new ICleanUpFix() {
@Override
public CompilationUnitChange createChange(final IProgressMonitor progressMonitor) throws CoreException {
return new CompilationUnitChange("", compilationUnit);
}
};
}
@Override
public CleanUpRequirements getRequirements() {
return new CleanUpRequirements(false, false, true, Collections.<String, String> emptyMap());
}
@Override
public String[] getStepDescriptions() {
return new String[] { "Run checkstyle" };
}
@Override
public void setOptions(final CleanUpOptions cleanUpOptions) {
}
public RefactoringStatus checkPreConditions(final IJavaProject paramIJavaProject, final ICompilationUnit[] paramArrayOfICompilationUnit,
final IProgressMonitor paramIProgressMonitor) throws CoreException {
return new RefactoringStatus();
}
public RefactoringStatus checkPostConditions(final IProgressMonitor paramIProgressMonitor) throws CoreException {
return new RefactoringStatus();
}
}
扩展配置为:
<extension point="org.eclipse.jdt.ui.cleanUps">
<cleanUp id="eclipsecs.saveaction" class="eclipsecs.saveaction.CheckFileCleanUp" />
</extension>
清理不需要任何其他选项,因此我跳过了指南的这些部分。
然而,当我第一次简单地编辑 java 源文件并保存它时,我在错误日志中收到以下消息:
The clean up 'eclipsecs.saveaction' contributed by
'eclipse-cs-save-action' has been disabled because it does not honor
any options.
我怎样才能让我的清理符合所需的选项,这些选项是什么?
您收到此消息是因为您没有为清理启用启用的选项。
你必须记住 setOption
给你的 CleanUpOptions
并在 getStepDescriptions
, createFix
, ... 中测试 isEnabled("your id")
并且不要做任何事情如果您的清理未启用。
我在 this guide 之后为 java 编辑器创建一个保存后操作。到目前为止,我的清理代码如下所示:
public class CheckFileCleanUp implements ICleanUp {
@Override
public ICleanUpFix createFix(final CleanUpContext cleanUpContext) throws CoreException {
final ICompilationUnit compilationUnit = cleanUpContext.getCompilationUnit();
IPath path = compilationUnit.getPath();
IFile[] files = compilationUnit.getJavaProject().getProject().getWorkspace().getRoot().findFilesForLocation(path);
RunCheckstyleOnFilesJob job = new RunCheckstyleOnFilesJob(Arrays.asList(files));
job.setRule(job);
job.schedule();
return new ICleanUpFix() {
@Override
public CompilationUnitChange createChange(final IProgressMonitor progressMonitor) throws CoreException {
return new CompilationUnitChange("", compilationUnit);
}
};
}
@Override
public CleanUpRequirements getRequirements() {
return new CleanUpRequirements(false, false, true, Collections.<String, String> emptyMap());
}
@Override
public String[] getStepDescriptions() {
return new String[] { "Run checkstyle" };
}
@Override
public void setOptions(final CleanUpOptions cleanUpOptions) {
}
public RefactoringStatus checkPreConditions(final IJavaProject paramIJavaProject, final ICompilationUnit[] paramArrayOfICompilationUnit,
final IProgressMonitor paramIProgressMonitor) throws CoreException {
return new RefactoringStatus();
}
public RefactoringStatus checkPostConditions(final IProgressMonitor paramIProgressMonitor) throws CoreException {
return new RefactoringStatus();
}
}
扩展配置为:
<extension point="org.eclipse.jdt.ui.cleanUps">
<cleanUp id="eclipsecs.saveaction" class="eclipsecs.saveaction.CheckFileCleanUp" />
</extension>
清理不需要任何其他选项,因此我跳过了指南的这些部分。
然而,当我第一次简单地编辑 java 源文件并保存它时,我在错误日志中收到以下消息:
The clean up 'eclipsecs.saveaction' contributed by 'eclipse-cs-save-action' has been disabled because it does not honor any options.
我怎样才能让我的清理符合所需的选项,这些选项是什么?
您收到此消息是因为您没有为清理启用启用的选项。
你必须记住 setOption
给你的 CleanUpOptions
并在 getStepDescriptions
, createFix
, ... 中测试 isEnabled("your id")
并且不要做任何事情如果您的清理未启用。