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

Mar*_*ney 17 eclipse jsp el content-assist

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

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

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

Tre*_*ung 3

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

对于任何想要走这条路的人来说,有一些注意事项:

通过菜单Window->Preferences创建一个新模板,然后在向下钻取菜单中导航至Web->JSP Files->Editor->Templates。单击新建

Name是您可以键入的快捷方式(与在 Java 中键入的方式相同,sysout ctrl+space是 的快捷方式System.out.println())。我建议一些简单的事情,比如el. 这允许您键入e l ctrl-space而不是$ { ctrl-space拉出它。

上下文告诉它何时应该出现在智能感知中。我建议创建两个此模板,其中一个具有JSP Attribute value的上下文,另一个具有All JSP的上下文。

描述只是提供信息。想放什么就放什么。我自己添加了“EL Script”

模式是放置要插入的内容的位置。根据喜好放置$${${cursor}}或。$${${script}}有关差异的解释,请参阅下文。

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

预定义变量${cursor}定义了智能感知替换 后光标所在的位置el,因此要让光标出现在大括号之间,您需要执行以下操作:$${${cursor}}

使用任何未预定义的变量(在本例中为${script})将简单地将该变量放入该变量周围并带有一个框,并允许您在其上键入内容并在完成后按 Enter 键,从而允许您移动到结束语的末尾大括号。

注意:我知道这不是一个实际的答案,而是一种解决方法。我把它放在这里只是为了让那些擅长解决方法的人知道如何去做。

编辑

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