每当我处理 JSP 文件并输入 ${
时要开始一个 el(表达式语言)标签,Eclipse 会自动添加 }
(在右括号前有一个空格)在光标之后,以便我得到 ${ }
而不是 ${}
.
首选项中是否有代码模板可以修改以更改此行为,还是超出了用户首选项控制范围?
我已经检查了首选项:Web:JSP 文件:编辑器:模板,但这些模板都不匹配。我还查看了首选项中的其他几个部分,但没有发现任何有希望的内容。
最佳答案
@Mero 提供的(见上面答案的评论)可能不是一个准确的答案,但创建一个 JSP 模板可能是我发现的最接近的东西。
给想要走这条路的人的一些注意事项:
通过菜单创建新模板 窗口->首选项 ,然后在向下钻取菜单中导航至 Web->JSP 文件->编辑器->模板 .点击新品 .
姓名 是您可以键入的快捷方式(与在 Java 中键入 sysout ctrl+space
是 System.out.println()
的快捷方式相同)。我建议一些简单的东西,比如 el
.这允许您输入 e l ctrl-space
而不是 $ { ctrl-space
把它拉起来。
语境 告诉它什么时候应该出现在智能感知中。我建议创建两个此模板,其中一个的上下文为 JSP 属性值 另一个的上下文为 所有 JSP .
说明 只是提供信息。放任何你想要的。我自己放了“EL脚本”。
图案 是您放置将要插入的内容的位置。把 $${${cursor}}
或 $${${script}}
,看喜好。有关差异的说明,请参见下文。
在 Eclipse 模板中 ${}
是如何将变量放入模板中,因此要使其实际打印 ${}
你必须逃离$
与 $$
通往 $${}
.
预定义变量 ${cursor}
定义在智能感知替换 el
后光标所在的位置,所以要让光标出现在你想要这样做的大括号之间:$${${cursor}}
.
使用任何未预定义的变量(在这种情况下, ${script}
)将简单地放入该变量并在其周围加一个框,并允许您在其上键入并在完成后按 Enter 键,让您移动到最后结束大括号。
注:我知道这不是实际答案,而是一种解决方法。我把它放在这里只是为了让那些对解决方法很好的人知道如何去做。
编辑
对于那些不想输入 ctrl-space
的人,解决方法可能是让模板名称以 <
开头。因为在 JSP 页面上,<
打开智能感知,例如,您可以将名称设为 <el
或 <$
.
关于eclipse - 如何在Eclipse中修改EL打开模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30685002/