【问题标题】:How do I modify the EL opening template in Eclipse?如何在 Eclipse 中修改 EL 打开模板?
【发布时间】:2015-07-16 04:43:39
【问题描述】:

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

首选项中是否有我可以修改以更改此行为的代码模板,或者它超出了用户首选项的控制范围?

我已检查首选项:Web:JSP 文件:编辑器:模板,但这些模板都不匹配。我还查看了首选项中的其他几个部分,但没有发现任何有希望的内容。

【问题讨论】:

  • 开普勒没有答案。 stackoverflow.com/questions/20106819/…
  • @user880772 不过感谢您的链接;有一个答案建议关闭 EL 标签的自动关闭,这至少是一个改进。
  • @Mero 需要我输入$ { ctrl-space。关闭自动关闭是一个更好的解决方案,需要更少的脑力劳动。两种解决方案都没有完全达到目标。
  • 鉴于没有直接的解决方案(只有变通方法和黑客攻击),我在 Eclipse 的错误跟踪器上记录了一个错误,希望 Eclipse Mars(Luna 之后的下一个版本)修复这个问题。

标签: eclipse jsp el content-assist


【解决方案1】:

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

给想要走这条路的人的一些注意事项:

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

Name 是您可以输入的快捷方式(就像在 Java 中输入 sysout ctrl+spaceSystem.out.println() 的快捷方式一样)。我建议像el 这样简单的东西。这使您可以键入 e l ctrl-space 而不是 $ { ctrl-space 来将其拉起。

Context 告诉它什么时候应该出现在智能感知中。我建议创建两个此模板,其中一个具有 JSP 属性值 的上下文,另一个具有 All JSP 的上下文。

描述只是提供信息。放任何你想要的。我自己放了'EL Script'

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

在 Eclipse 模板中 ${} 是您在模板中放置变量的方式,因此要使其实际打印 ${},您必须使用 $$ 转义 $ 导致 $${}

预定义变量${cursor} 定义了智能感知替换el 后光标所在的位置,因此要使光标出现在大括号之间,您需要这样做:$${${cursor}}

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

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

编辑

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

【讨论】:

    【解决方案2】:

    解决方法,但不是答案:

    禁用自动关闭 EL 标签。你输入${expression} 得到${expression}|,而不是输入${expression 得到${expression| }。 (|表示光标位置)

    看到这个答案,当同样的问题被问到 Eclipse Kepler 时:https://stackoverflow.com/a/20258401/1021426

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-15
      • 1970-01-01
      • 2019-10-17
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多