如何修改Eclipse中的EL开放模板?

时间:2015-06-06 16:20:59

标签: eclipse jsp el content-assist

每当我在JSP文件中工作并输入${以启动el(表达式语言)标记时,Eclipse将在游标后自动添加}(在结束括号前有空格)所以我得到${ }而不是${}

我可以修改首选项中的代码模板以更改此行为,还是超出用户首选项控制?

我已在Preferences:Web:JSP Files:Editor:Templates中签入,但这些模板都不匹配。我还查看了偏好中的其他几个部分,但没有找到任何有希望的东西。

2 个答案:

答案 0 :(得分:3)

@Mero提供的内容(请参阅上面的答案评论)可能不是一个确切的答案,但创建一个JSP模板可能是我发现的最接近的东西。

对于想要走这条路线的人来说,有几点说明:

通过菜单 Window->偏好设置创建新模板,然后在下钻菜单中导航至 Web-> JSP文件 - >编辑器 - >模板。点击新建

名称是您可以键入的快捷方式(在Java中键入sysout ctrl+space的方式与System.out.println()的快捷方式相同)。我建议像el那样简单。这样您就可以输入e l ctrl-space而不是$ { ctrl-space来提升它。

上下文告诉它什么时候应该出现在intellisense中。我建议创建这个模板中的两个,其中一个具有 JSP属性值的上下文,另一个具有所有JSP 的上下文。

说明只是提供信息。放任何你想要的东西。我自己把'EL Script'

模式是您要插入内容的位置。根据偏好设置$${${cursor}}$${${script}}。请参阅下文有关差异的说明。

在Eclipse模板${}中,您是如何将变量放入模板中的,因此要实际打印${},您必须使用$转义$$ $${}

预定义变量${cursor}定义了智能感知替换el后光标所在的位置,因此要将光标显示在要执行此操作的花括号之间:$${${cursor}}。< / p>

使用任何未预定义的变量(在这种情况下,${script})将简单地放入该变量并在其周围放置一个框,并允许您键入它并在完成后按Enter键,允许您移动到结束大括号的末尾。

注意:我知道这不是一个真正的答案,而是一种解决方法。我把它简单地放在这里,以便那些使用解决方法的人可以知道如何去做。

修改

对于那些不喜欢输入ctrl-space的人来说,解决方法可能是让模板名称以<开头,因为在JSP页面上,<打开智能感知,例如,您可以将名称设为<el<$

答案 1 :(得分:0)

解决方法但不是答案:

禁用EL标签的自动关闭。您输入${expression}并获取${expression}|,而不是键入${expression并获取${expression| }。 (|表示光标位置)

从Eclipse Kepler提出同样的问题时,请参阅此答案:https://stackoverflow.com/a/20258401/1021426