标签: eclipse-pde

枚举我所有的Eclipse编辑器?

我构建了一个简单的Eclipse插件,用户可以使用TableViewer数据库资源在任何这些资源上打开编辑器.

因此,用户可能没有正常运行的编辑器实例.

是否有可用于获取这些编辑器实例列表的API?

eclipse eclipse-pde jface eclipse-rcp

5
推荐指数
2
解决办法
5389
查看次数

如何在Eclipse中创建只读编辑器(Eclipse插件开发)

我想知道如何制作一个真正只读的eclipse编辑器.我的编辑器扩展了TextEditor,所以当我重新实现方法isEditable时总是返回false.

这是最简单的方法,可以防止用户在编辑器中打开的文档中键入或删除任何内容.但您仍然可以通过使用find/replace来更改文档的内容.这是不希望的..

如何实现这一目标还有其他任何方式吗?

eclipse eclipse-pde editor readonly eclipse-rcp

5
推荐指数
1
解决办法
5521
查看次数

使用ILightweightLabelDecorator装饰器

实施上述任何一项后,任何人都可以说我如何将其直接连接到观众?通常的消息来源都没有解释.

马丁.

eclipse-pde jface

5
推荐指数
1
解决办法
1925
查看次数

两个eclipse插件如何使用相同的首选项存储?

我有两个插件,比如com.site.plugin.core和com.site.plugin.ui.
我想将核心部分与UI部分分开,所以在插件com.site.plugin.ui我创建了Preferences页面,我在其中定义了一些首选项,com.site.plugin.core应该使用它们.我查看Eclipse网站上的文章,但它已经过时了,链接的bug也没有提供太多信息.
那么可以使用标准的Eclipse机制来实现这一点,或者我需要通过包org.eclipse.core.runtime.preferences使用直接的低级API吗?

eclipse eclipse-pde eclipse-plugin preferences

5
推荐指数
1
解决办法
2096
查看次数

Eclipse PDE:给定像/ProjectName/lib/something.jar这样的相对路径,如何获得完整的文件系统路径?

我正在尝试找到原始类路径中的jar文件的路径.getRawClasspath返回IClasspathEntry对象的集合.我可以在那些上调用getPath.

但getPath返回一些奇怪的东西:一个以项目名称开头的IPath,如:

/ProjectName/lib/something.jar

将此相对路径转换为完全合格的OS路径的正确方法是什么?起初我以为我可以添加工作区根目录的路径,但这不起作用,因为工作空间和项目之间经常有中间目录.

更一般地说,我如何知道如何处理方法返回的IPath?好像我从来不知道IPath是什么; 相对于项目,相对于工作区,相对于项目,但项目名称作为第一个元素,相对于月相...这一切都莫名其妙,文档从来没有帮助 - 或者至少我不喜欢不知道在哪里看.

UPDATE

我现在更加困惑.问题仍然是,当你有一个IClasspathEntry时,我仍然不清楚如何将它解析为文件系统路径.

答案是"如果路径以/它是绝对路径(相对于工作空间)开始"是不正确的.问题是IClasspath上的getPath方法返回以下两种情况之一:以斜杠开头的路径相对于工作空间,或者以/是实际文件系统路径开头的IPath.是的,两个完全不同的东西被推入一种类型.当jar在工作空间之外时,你得到文件系统变体,你得到"绝对"它在工作区中的变体.

我认为部分答案是IPath本身只是一个奇特的字符串.你必须知道它来自哪里才能理解它.它没有提供正确的信息以使其本身有用.

那么解决这个问题的正确方法是什么?

eclipse eclipse-pde eclipse-plugin

5
推荐指数
1
解决办法
1423
查看次数

如何在不影响功能性的情况下将大型 Jenkins 工作/项目拆分为较小的工作?

我们正在努力改进 Jenkins 设置。到目前为止我们有两个目录:/plugins 和/tests。

我们的项目是 Eclipse Plugins 的多模块项目。/tests 文件夹中的测试插件是片段项目,依赖于 /plugins 中相应的生产代码插件。

到目前为止,我们只有一项 Jenkins 工作,它检查 /plugins 和 /tests,构建所有这些并生成 Surefire 结果等。

我们现在正在考虑将项目拆分为与我们提供的功能相对应的更小的作业。看来我们尝试的方法并不是最理想的。

我们尝试了以下方法:

  1. 我们为核心功能创建了一个工作。此作业检查整个 /plugins 和 /tests 目录,并且仅构建该功能所包含的插件。该作业有一个单独的 pom.xml,它定义了核心工件并说明了该功能中包含的模块。
  2. 我们为应该在功能插件上运行的测试创建了一个单独的作业。此作业使用核心作业中克隆的工作区。该作业将在构建核心功能后运行。

我以某种方式认为这不是最佳的。

  • 例如,只有核心作业可以更新签出的文件。如果只更新测试,核心功能不需要重新构建,但它会。
  • 一旦我有一个依赖于核心功能的功能,这个功能要么需要使用核心功能工作区的克隆,要么检查它自己的 /plugins 和 /tests 副本,这会导致膨胀。
  • 使用克隆的工作区,我无法更新我的源。因此,当我的一个功能依赖于另一个功能时,只有更新和构建核心功能,我才能完成这项工作。

我想我在这里缺少一些基本的东西。有人可以帮忙吗?肯定有一种更简单的方法。

编辑:我将尝试制定我认为如果一切正常的话理想情况下会发生的情况:

  • 检查功能组件是否已更改(即可以对其进行更新)
  • 如果更改,则构建该功能
    • 如有必要,构建依赖功能(即检查 ob 相应的作业)
    • 构建功能本身
    • 如果构建成功,则开始功能测试作业
    • 让我看看功能作业中测试作业的结果

最后,项目工作应该

  • 每晚进行一次构建
  • 查看 /plugins 和 /tests 中的所有源
  • 构建全部,测试全部,将结果发送到 Sonar

此外,如果不需要夜间构建,那就太好了,因为项目功能的构建和测试结果将合并在项目作业结果中。

这样的事情可能吗?

build-automation eclipse-pde tycho maven jenkins

5
推荐指数
1
解决办法
1926
查看次数

如何使用“org.eclipse.debug.ui.launchShortcuts”?

我在 Eclipse 中编写了一个自定义启动器,我可以通过工具栏上的“运行方式”和“调试方式”菜单选项访问它。我还希望能够通过包浏览器和通过右键单击要启动的文件的编辑器启动。我按照这里的教程添加了快捷方式,但没有任何反应,它没有输入我的处理代码,也没有抱怨扩展点的配置。

这是我的一个片段 plugin.xml

<extension point="org.eclipse.debug.ui.launchShortcuts">
  <shortcut
        id     = "org.mylauncher.launchCalcShortcut"
        class  = "org.mylauncher.LaunchCalcShortcut"
        description="Execute calculations"
        icon="icons/launch_16_16.png"
        label="Calculate"
        modes="run, debug" >
        <configurationType id="org.mylauncher.launchCalc"/>
  </shortcut>
Run Code Online (Sandbox Code Playgroud)

我还删除了(可选)图标属性,并单独验证了图标的路径。

我已经修改了这个配置几个小时了,但没有很好的结果,并且无法调试,因为它根本没有在我自己的代码中运行。

谢谢。

eclipse-pde eclipse-plugin

5
推荐指数
1
解决办法
1707
查看次数

编织Eclipse 3.7插件项目中包含的AspectJ方面

目标

我正在构建一个针对3.7环境的Eclipse插件,并希望在插件中包含一个方面,该插件提供有关插件中代码的建议.

建立

我一直在努力遵循这些准则的精神,因为我可以考虑3.4和3.7之间的明显差异:http://www.eclipse.org/equinox/incubator/aspects/equinox-aspects-quick-start. PHP

这是我到目前为止:

  1. 一个带有方面和一些来源的插件项目.
  2. 插件项目已转换为AspectJ项目,该项目触发Eclipse自动添加org.aspectj.runtime (1.6.12)到插件的依赖项.
  3. org.aspectj.runtime在插件配置中检查了依赖关系"Reexport this dependency" .
  4. 我在META-INF目录的aop.xml中定义了方面.
  5. 我的MANIFEST.MF Export-Package在方面所在的包中有一个条目.
  6. 我的运行配置包括以下插件和启动级别:
    • org.eclipse.equinox.weaving.aspectj (开始等级1)
    • org.eclipse.equinox.weaving.hook (默认的起始等级为4)
    • org.aspectj.runtime (开始等级1)
    • org.aspectj.weaver (开始等级1)

目前的结果

我看到控制台中的行看起来像这样,但看起来这个处理是在每个类第一次加载类时发生的.

[com.my.traceeditor] info processing reweavable type com.my.util.ByteUtil: com\my\util\ByteUtil.java

没有任何建议被应用.编织者是否有可能不够早编织?该怎么办?

java eclipse-pde aspectj eclipse-plugin

5
推荐指数
1
解决办法
745
查看次数

什么是OSGI版本限定符

我需要确认我怀疑的内容,因为我找不到任何文档,所以这似乎是一个愚蠢的问题,因为我是eclipse PDE的学习者.

原来,

我有一个eclipse插件项目的父项目pom

<version>1.1.0-SNAPSHOT</version>
Run Code Online (Sandbox Code Playgroud)

有两个子项目,他们的poms引用父pom为版本1.1.0-SNAPSHOT.

我能够成功构建项目并拥有一个用于将插件安装到eclipse中的站点.

然后,我想要我的个人临时版本叫做1.1.1-mine.所以我将三个poms修改为1.1.1-mine

我还更新了META-INF/MANIFEST.MF和feature.xml

0.13.0.qualifier
Run Code Online (Sandbox Code Playgroud)

0.13.1.qualifier
Run Code Online (Sandbox Code Playgroud)

但是,构建遇到以下错误.

[错误]无法在项目org.sonatype.m2e.subclipse上执行目标org.eclipse.tycho:tycho-packaging-plugin:0.15.0:validate-version(default-validate-version):OSGi版本1.1.1.qualifier在META-INF/MANIFEST.MF中,与pom.xml中的Maven版本1.1.1-mine不匹配

限定必须是一个行家版关键字?因为,poms中将我的更改为SNAPSHOT后,构建过程没有错误.

如果没有,我做错了什么?

我能做些什么来让我拥有版本1.1.1-mine?

java eclipse-pde pom.xml tycho maven

5
推荐指数
1
解决办法
3317
查看次数

是否可以在点击启动图像时重定向到浏览器 URL?

我使用 PDE。我的工具有一个位于splash.bmp. 在build.propertiesI 中将图像包含在bin.includes( bin.includes = splash.bmp) 中。在app.product文件中,我有以下代码:

   <splash startupProgressRect="5,275,445,15" />
   <launcher name="app">
      <linux icon="/icons/running.xpm"/>
      <win useIco="false">
         <bmp/>
      </win>
   </launcher>
Run Code Online (Sandbox Code Playgroud)

我的问题如下:是否可以在启动图像中添加链接?我的意思是,一旦应用程序加载完毕,就可以点击启动画面中的特定部分,它会打开带有链接的浏览器吗?

如果重要的话,使用 Java8 和 Eclipse Photon。甚至有可能吗?也许是一个提示?

java eclipse-pde splash-screen

5
推荐指数
1
解决办法
188
查看次数