我正在尝试在"导航器树"视图中获取Eclipse用户的结构化选择的详细信息.目前我有以下基于org.eclipse.ui.popMenus扩展点的内容:
public void run(IAction action) {
Shell shell = new Shell();
ISelection selection = workbenchPart.getSite().getSelectionProvider().getSelection();
if (structuredSelection instanceof org.eclipse.jface.viewers.TreeSelection) {
org.eclipse.jface.viewers.TreeSelection treeSelection = (org.eclipse.jface.viewers.TreeSelection) structuredSelection;
IAdaptable firstElement = (IAdaptable) treeSelection.getFirstElement();
// Relies on an internal API, bad juju
if (firstElement instanceof org.eclipse.jdt.internal.core.CompilationUnit) {
org.eclipse.jdt.internal.core.CompilationUnit compilationUnit = (org.eclipse.jdt.internal.core.CompilationUnit) firstElement;
String editorSelection = new String(compilationUnit.getContents());
}
}
Run Code Online (Sandbox Code Playgroud)
这个问题是它目前已经加入了JDT编译单元API,它是内部的,并且对我想要的内容过于具体.
理想情况下,我希望能够获得基础文件名,类型和内容,而不必依赖:
这样,当用户右键单击导航器视图中的文件时,这将允许我获取通用文件的属性.
有人可以向我提供有关我如何做到这一点的任何指示吗?
我改变了一些资源.当我在Eclipse中单击它时,我收到信息"资源不同步".我该如何刷新它?我试过了org.eclipse.core.resources.IResource.touch(IProgressMonitor)
,但没有用
我刚刚使用最新版本(Indigo/3.7)重新安装了eclipse,我遇到了与半年前相同的问题.我安装了eclipse java IDE,现在我如何让插件开发环境(PDE)工作?
我已经按照上一个问题安装了RCP组件: 如何安装eclipse PDE?
虽然RCP组件的安装按预期完成,但它以某种方式未启用.我无法创建OSGi运行配置,首选项对话框中没有Target Platform条目,也没有将项目转换为插件的选项.
我需要安装其他东西吗?我有什么手动启用PDE吗?
这个问题的关键是从熟悉Eclipse安装系统当前状态的人那里获得验证.
我有一个Eclipse插件,我想使用最简单(但正确)的方法为它创建一个更新站点.我最初的印象是我:
然后我开始在整个Eclipse安装系统上寻找文档,并开始阅读这个P2的东西,这显然是新的,取代之前的任何东西.
我找到的关于PDE项目和向导的信息没有讨论P2,或者我没有找到正确的信息,这使我有点担心我可能做错了什么或遗漏了一些重要的事情.
那么,我是否需要关心P2,或者P2是否可以安全地忽略它,只要我继续使用PDE工具?
谢谢!
我们的目标是使用Tycho + Eclipse PDE在分布式团队中构建OSGi包.
到目前为止,工件已构建并部署到Nexus OSS存储库.这已经通过p2支持进行了扩充,"artifacts.xml"和"content.xml"由Tycho生成(或由Tycho提供),并由Tycho和p2浏览器正确解析.
缺少的链接是将生成的p2 bundle存储库添加到PDE使用的目标平台定义中.PDE目标编辑器显然只支持功能 或"分类"插件,没有普通的捆绑包.
Tycho的存储库插件和由不同合作伙伴独立开发的捆绑包的功能包装看起来太麻烦了.我们希望通过单个存储库遵循简单的Maven/OBR类共享包.
有没有办法根据本博客中建议的通用类别增强软件包或存储库的p2元数据,例如通过"tycho-p2-publisher:publish-categories"目标或通过配置/扩展"Nexus p2存储库"插件"让他们可以访问PDE UI?
这个问题似乎与这个问题有关,并提示尚未实现对"iu"语法的支持.
现在eclipse 4.5已经出局,eclipse团队决定不再构建所谓的"delta-pack",我不知道如何使用ant执行PDE无头构建.
官方PDE构建文档http://help.eclipse.org/mars/index.jsp?nav=%2F4_2_0
声明变量"baseLocation"应指向"包含所有预构建功能和插件的eclipse安装位置" - 您的产品在功能/插件/子目录中需要的"
使用v4.4,这很容易,这个变量指向解压缩的delta-pack的位置以及所有平台特定的东西
但是对于v4.5,如何获取/设置这个"包含所有预构建功能和插件的eclipse安装的位置......"?
在这里https://wiki.eclipse.org/Building,它解释了"做多平台构建的首选方式",这仅适用于eclipse构建,而不是无头构建,这不会创建具有功能/插件的结构多平台构建在任何地方都需要.
所以我不知道如何在我的构建中设置"baseLocation"变量...
谢谢
(仅供参考,tycho不是-yet-我们的选择..)
我在 OSGi 包中使用 Liquibase 来更新数据库。问题是,当我在 Eclipse 中启动时,使用 PDE。然后我得到错误:
liquibase.exception.ChangeLogParseException: Error Reading Migration File: Found 2 files that match /resources/changelog.xml
at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:112)
at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:17)
at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:229)
at liquibase.Liquibase.update(Liquibase.java:202)
at liquibase.Liquibase.update(Liquibase.java:192)
at liquibase.Liquibase.update(Liquibase.java:188)
at liquibase.Liquibase.update(Liquibase.java:181)
Run Code Online (Sandbox Code Playgroud)
资源是重复的,因为 Eclipse 将项目根添加到类路径,并且 maven 构建将 /resources/ 目录复制到 target/classes。因此,在 Eclipse 中运行时,我的更改日志位于/resources/changelog.xml
和下/target/classes/resources/changelog.xml
。不太好,但这就是 Eclipse 的工作方式,并且没有很好的机会对此做任何事情。
然而,有可能强迫 Liquibase 接受这种不完美的情况,而不是抛出异常吗?
我正在开发一个Eclipse插件,它基于一堆核心Eclipse插件,如SWT,JDT,GEF等.
我需要我的插件与Eclipse 3.3兼容,因为许多潜在客户仍在使用它.但是,我个人喜欢Eclipse 3.4中的新功能,并希望将它用于我的开发.这意味着我需要PDE来引用3.3代码,并在调试时执行3.3实例.
有关如何实现这一目标的任何提示?
谢谢.
我需要在Eclipse插件的视图工具栏中添加一个下拉按钮.
实际上工具栏中的按钮添加如下:
<extension point="org.eclipse.ui.viewActions">
<viewContribution id="..." targetId="$MyViewId$">
<action id="..."
toolbarPath="action1"
class="Class extending Action and implementing IViewActionDelegate">
</action>
</viewContribution>
</extension>
Run Code Online (Sandbox Code Playgroud) 关于Eclipse PDE开发的问题:我为Eclipse编写了一个小插件,并且有以下*org.eclipse.ui.texteditor.ITextEditor *一个行号
如何自动跳转到该行并标记?遗憾的是,API似乎只支持文档中的偏移量(参见:ITextEditor.selectAndReveal()),但没有行号.
最好的是 - 尽管这不起作用:
ITextEditor editor = (ITextEditor)IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), file, true );
editor.goto(line);
editor.markLine(line);
Run Code Online (Sandbox Code Playgroud)
这有可能以某种方式吗?我找不到解决方案
eclipse-pde ×10
eclipse ×6
eclipse-rcp ×3
java ×2
eclipse-3.3 ×1
eclipse-3.4 ×1
eclipse-api ×1
eclipse-mars ×1
installation ×1
liquibase ×1
nexus ×1
p2 ×1
pde ×1
resources ×1
tycho ×1