技术开发 频道

Eclipse Linux Tools 6.0中的新功能

  【IT168 编译】在面向Linux开发的工具领域,Eclipse IDE有着非常悠久的历史。Eclipse Linux Tools项目是在2006年创建的,刚开始它的名字是 “Linux Distro”,旨在改进Linux下的构建和安装。它收集了RPM包的插件,Linux特定分析(oprofile,valgrind ...),Eclipse CDT(C / C ++开发工具)中的Autotools集成,以及最新的两大功能Docker和Vagrant集成插件。其中有些组件已经十分成熟并应用到组件或改进堆栈中的项目中。

Eclipse Linux Tools 6.0中的新功能

  例如,Autotools构建支持现在已经是CDT的一部分,许多构建改进发现它们进入到了Eclipse Platform releng和Eclipse Common Build Infrastructure(CBI)项目中。现在,该项目的主要目标是进一步改进与Linux系统的集成。

  Linux Tools 6.0 作为Eclipse Oxygen发行版的一部分,并不关注新功能,而是专注在Eclipse Platform中重新调整新功能和API,使得下一个Linux Tools版本更加轻巧,更易于维护以及与生态系统更加契合。这项工作有助于确定一些新的以及易于添加的功能。以下是目前正在开展工作的主要领域。

  Native touchpoints

  checkAndPromptNativePackage接触点并不是p2中的新功能,但是Linux Tools项目直到现在都还没有使用。 由于许多不同的插件在项目中是没有底层工具的,所以现在是时候开始使用它了。 它将帮助用户检测和安装缺少的工具,以获得更平滑的体验。 在这个过程中,我们发现Fedora Linux缺少集成,所以P2本身就修复了Oxygen。 所有插件都有P2指令,以确保在Fedora Linux上安装了正确的工具。 我们期待未来会有更多Linux发行版的支持,当然这也需要用户的积极参与。

Eclipse Linux Tools 6.0中的新功能

  通用编辑器

  Oxygen中的新功能之一就是添加了易于扩展的通用编辑器。之前,我们的项目中可能会用到各种不同的编辑器(RPM .spec file,Dockerfile,ChangeLog等),所以通用编辑器就是我们非常关注的。

  目前之前的编辑内容也会被保存下来,但是会出现一个“Open with/Generic Text Editor”的选项。Eclipse IDE中编辑器未来会有预览功能,而且不仅是在Linux Tools项目中,会是适用于整体的功能。

  通过不断的尝试和修正,甚至是整合编辑用户开发的插件,我们将其重构为以下这样:

  为文件名和扩展名注册内容类型(org.eclipse.core.contenttype.contentTypesextension point);

  提取PresentationReconciler子类并将其注册到org.eclipse.ui.genericeditor.presentationReconcilersextension point

  将现有完成处理器注册到org.eclipse.ui.genericeditor.contentAssistProcessors extension point

  将现有的hovor providers注册到org.eclipse.ui.genericeditor.hoverProviders extension point

  在代码中解耦设置以依赖extension points 和/或适当的API

  除了让我们的代码结构更好之外,它还有一些很好的效果:

  向Dockerfile编辑器添hover帮助

Eclipse Linux Tools 6.0中的新功能

  随着更多的案例落地,hover供应商会更加可靠;

  目前通用编辑器基础架构中还有一些领域被标记为与现有编辑器“not on par”。2018年推出的用于平台和工具的Eclipse Photon版本中会修复这些问题,一旦修复完成,将全面支持通用编辑器,并淘汰现有编辑器。

  编辑突出显示

  另一个Linux Tools编辑器中长期存在而没有使用的功能是org.eclipse.ui.themes。所有突出的颜色在编辑中都是硬编码的,这在过去并不是问题,但随着Dark Theme的日益普及,它变得有点不吸引人。在这个版本中已经采取了改进的第一步,所有的颜色都是使用主题扩展点定义的,而且我们也在寻找Dark Theme的贡献者。

  Docker工具

  Linux Tools中开发最积极的子组件也有了一些变化:

  docker-client更新版本,以便使用最新的docker daemon versions

  新的安全选项 - 在Container中启动命令以指定安全选项配置文件时已添加支持。 这可以代替指定特权模式。 例如,要运行gdbserver,可以指定“seccomp:unprofiled”以允许ptrace命令由gdb服务器运行。

  修复了例如在CDT中启用诸如“在容器中启动C / C ++可执行文件”等功能。同时也在为下个版本添加Java应用程序的类似功能做准备。

  OProfile

  Oprofile工具本身已经在几年前停止了运行opcontrol命令行可执行文件,而且也没有任何Linux发行版发布,所以我们不得不将其删除。

  SystemTap

  为了更好的管理控制台视图中的超链接,此插件中包含的错误视图已被删除。

Eclipse Linux Tools 6.0中的新功能

  除此之外,还有其他一些小的增强功能,如:

  编辑器增加了try / catch / continue关键字,

  固定启动设置要正确应用,

  改进自动缩进,

  由于项目的多样性,其他一些小的改进大家最好可以自己尝试一下。下载并启动Eclipse Oxygen /Install New Software,从Oxygen更新站点查看Linux Tools组中的各种插件。

0
相关文章