在Eclipse中,我可以将代码格式化程序添加到现有编辑器中吗

在Eclipse中,我可以将代码格式化程序添加到现有编辑器中吗,eclipse,plugins,formatting,editor,editing,Eclipse,Plugins,Formatting,Editor,Editing,所以这里就是这样,我有一个定制的基于javascript的语言,它附带了很好的编辑器和工具,作为插件安装在Eclipse中。问题是没有代码格式化程序,我需要手工编辑每一行。 我已经在这段代码上测试了JS FORMATER,它工作得很好,因为这两种语言非常相似。基本上,我需要以某种方式将格式化程序链接/添加/应用到此代码编辑器 一般问题,我有两个代码编辑器A和B。我是否可以使用A中的代码编辑器编辑代码,并使用B中的代码格式化程序格式化代码。 我的进展到目前为止(在互联网上挖掘之后)。 我提出了一些

所以这里就是这样,我有一个定制的基于javascript的语言,它附带了很好的编辑器和工具,作为插件安装在Eclipse中。问题是没有代码格式化程序,我需要手工编辑每一行。 我已经在这段代码上测试了JS FORMATER,它工作得很好,因为这两种语言非常相似。基本上,我需要以某种方式将格式化程序链接/添加/应用到此代码编辑器

一般问题,我有两个代码编辑器A和B。我是否可以使用A中的代码编辑器编辑代码,并使用B中的代码格式化程序格式化代码。

我的进展到目前为止(在互联网上挖掘之后)。 我提出了一些解决方案,但它们不太容易使用或配置

  • 创建批处理/shell cron作业以侦听文件中的任何更改,并使用某些cli工具(如)自动格式化代码。这不是很方便,因为您需要刷新文件,而且没有像保存操作这样很酷的东西
  • 许多论坛建议,实现自己的eclipse插件,问题是(在我的例子中)这个插件是作为第三方提供给我的,我不能参与它的发布过程

任何帮助都将不胜感激

您可以将一个外部插件编写到已有的插件中,它不必编辑现有代码或成为该版本的一部分。然后,插件可以实现“保存操作”

例如,如果您安装了AnyEdit,则该插件会在任何编辑器上修剪尾随空格,作为save的一部分。所以我会看看这个,看看你是否可以很容易地旋转你自己的解决方案。如果您不确定从哪里开始,也许可以看看它在哪里:

private void hookOnCommand(字符串commandId){
ICommandService=(ICommandService)PlatformUI.getWorkbench().getService(
ICommandService.class);
Command=service.getCommand(commandId);
PreExecutionHandler侦听器=新的PreExecutionHandler(commandId);
addExecutionListener(监听器);
}

感谢您的评论,确实这是一个不错的编辑工具,但它没有美化代码的功能。就像JS插件一样。我需要定义代码样式约定(就像在java格式化程序中那样),并将它们提供给其他参与项目的人(例如xml格式)@Borislavstoliov我并不建议将AnyEdit作为问题的最终解决方案,而是它展示了如何挂接保存操作。使用这样的钩子,您可以解决“一般问题,我有两个代码编辑器A和B。我可以使用A中的代码编辑器编辑代码并使用B中的代码格式化程序格式化代码吗?”