Tag: eclipse plugin

是否有一个很好的Eclipse插件来检查@Nonnull和@Nullable注释?

在Eclipse中检查@Nonnull和@Nullable注释是一个早期测试版 。 最大的问题是它不知道Java API的null行为。 还有其他目前更好的插件吗?

Eclipse插件捆绑在启动状态

我使用Eclipse创建了一个新的插件项目,为我创建了一个默认的Activator 。 在调试(作为Eclipse Application运行)时,我注意到没有调用此激活器的start()和stop()方法。 在关于在Eclipse中看不到捆绑包时该怎么做的指南之后我偶然发现了以下结果。 使用ss命令,我可以看到我的包已列出。 我的包的状态是’ 开始 ‘ 捆绑包正在启动过程中。 当start方法处于活动状态时,bundle处于STARTING状态。 当bundle的BundleActivator.start(BundleContext)被调用时,bundle必须处于这种状态。 如果BundleActivator.start方法完成无exception,则bundle已成功启动并且必须移至ACTIVE状态。 在start方法的第一行放置的断点不会被命中。 System.out.println也不会出现在控制台中。 什么可能导致start方法没有被调用,因此状态陷入STARTING ?

IResourceChangeEvent – 如何识别项目删除/重命名

如何在通过ResourcePlugin.getWorkspace().addResourceChangeListener(…)项目被删除/重命名的IResourceChangeListener中正确区分? 通过尝试,看起来IResourceChangeEvent.getDelta() -> IResourceDelta就是答案。 来自Eclipse API : 事后批处理报告对一个或多个资源的任意创建,删除和修改,表示为分层资源增量。 事件类型为POST_CHANGE,getDelta返回分层增量。 资源增量根植于工作空间根目录。 这些事件在一组资源更改后广播给感兴趣的各方,并且无论是否启用了自动构建,都会发生这些事件。 在通知这些事件期间,工作区将关闭以进行更改。 在此事件周期中报告的增量在为此类事件注册的所有侦听器中是相同的。 编辑:到目前为止添加我的发现 所以, Event.getType()是POST_CHANGE ,需要有 包含子项IResourceDelta的delta,它具有getKind() == REMOVED的getKind() == REMOVED ,以及delta getResource().getType() == PROJECT以便我们知道它是一个项目(此IResourceDelta不应该有任何子项) 一个getDelta()包含两个子IResourceDelta ,它们有getKind() == REMOVED和getKind() == ADDED ,还有getResource().getType() == PROJECT ,而那些IResourceDelta包含子Delt(我观察过)当重命名/删除文件时,资源所属的IProject是父Delta的第一行子节点上的那个…) 有人可以证实这个假设吗? 是否真的有必要对子项进行树深度搜索,以实现事件是项目重命名/删除还是文件/文件夹?

如何在Eclipse中获取所选代码?

对于我的插件,我正在尝试访问CompilationUnitEditor中的选定代码。 因此,我添加了对上下文菜单的贡献并使用以下代码: public class ContextMenuHandler implements IEditorActionDelegate { private IEditorPart editorPart; @Override public void setActiveEditor(IAction action, IEditorPart editorPart) { this.editorPart = editorPart; } @Override public void run(IAction action) { JavaUI.getEditorInputJavaElement(editorPart.getEditorInput()); } @Override public void selectionChanged(IAction action, ISelection selection) { if (selection instanceof TextSelection) { TextSelection text = (TextSelection) selection; System.out.println(“Text: ” + text.getText()); } else […]

安装Eclipse的Drools插件时出错

有谁知道如何解决这个问题? 无法完成安装,因为找不到一个或多个必需的项目。 正在安装的软件:JBoss Runtime Drools Detector 6.3.0.Final(org.jboss.tools.runtime.drools.detector.feature.feature.group 6.3.0.Final)缺少要求:JBoss Runtime Drools Detector 6.3.0.Final( org.jboss.tools.runtime.drools.detector.feature.feature.group 6.3.0.Final)需要’org.jboss.tools.runtime.core.feature.feature.group 0.0.0’但无法找到

以编程方式添加Java代码模板

我喜欢Eclipse让我使用Tab键在方法调用中跳转参数。 我希望我的插件提供类似的function。 确切地说,我正在向编辑器中注入一些文本,我想强调特定的语法,让程序员使用Tab键跳转到下一个匹配。 这是一个例子。 让我们假设我动态创建了以下代码段: String a = “bogus string”; int i = a.[?] 我将它注入编辑器中,我希望[?]突出显示并准备好进行修改(用户可能会输入length() )。 此外,如果有更多[?]片段,我希望用户使用Tab移动到下一个片段。 经过一番研究后,我发现可以使用模板完成。 但是,我在网上找不到任何相关的例子。 有没有人有这方面的经验? 更新: 我找到了两个可能有用的链接,虽然我仍然无法提出解决方案。 链接一个 链接二

与Eclipse中的Java Content Assist接口

作为我的插件项目的一部分,我正在考虑使用Eclipse在Java文件上显示的内容辅助列表(我正在尝试根据一些外部数据重新排序列表)。 我已经看过一些关于创建新内容辅助的教程,但没有关于更改现有内容的教程。 这有可能吗? 如果是,我应该从哪里开始修改Java的内容辅助?

Eclipse编辑器插件:在项目外打开文件时出现“ERROR”

我正在为eclipse开发一个编辑器插件。 它可以在eclipse项目中的文件上正常工作,但是当通过“文件 – >打开文件”菜单(使用例如Java文件工作文件)打开外部文件时,我得到的页面只显示水平蓝线和单词“ERROR”。 eclipse的错误日志为空,与.metadata目录中的日志文件一样。 什么可能导致这个? 当我没有错误消息告诉我在哪里查看时,如何诊断错误? 似乎没有办法从eclipse获得更详细的日志记录。 编辑: 我发现问题的根源与jamesh提到的相近,但不是ClassCastException – 因为StorageDocumentProvider.createDocument()返回null,因此文本查看器根本没有IDocument实例。 这样做的原因是它只知道如何为org.eclipse.ui.IStorageEditorInput实例创建文档,但在这种情况下,它获取了一个org.eclipse.ui.ide.FileStoreEditorInput的实例,它没有实现该接口,但是实现了org.eclipse.ui.IURIEditorInput

在Eclipse中编写注释以链接特定行

我在Java中使用Eclipse并且使用长长的类我需要这样的function:在方法的顶部注释中(例如),有一个由该方法执行的操作列表。 对于列出的每个操作,我想将评论的一部分“超链接”到相关代码的特定行。 然后使用Ctrl +单击到该行我可以直接跳转到指定的行代码。 这样的操作有可能吗? 谢谢

Eclipse p2:category.xml和site.xml之间的区别

p2存储库创建ant任务(如eclipse.publish.featuresAndBundles)似乎采用了指定类别信息的site.xml或category.xml文件。 我看到eclipse生成的site.xml和category.xml的内容与标记完全相同。 那两者有什么区别? 编辑 – 要清楚: category.xml中存在哪些添加/减少,除了文件名之外,它还区别于site.xml?