java - 为什么 importStatic Eclipse 模板变量需要命名空间?

标签 java eclipse templates import

我尝试使用 Eclipse 模板(在 Juno 中)为常规导入和静态导入生成语句,但遇到了一些奇怪的情况。

咨询docs后我的第一次尝试是这样的

${:import(org.junit.Test)}                //ok
${:importStatic('org.junit.Assert.*')}    //gives error

:import 工作正常,但 :importStatic 给出此错误

Template variable '' has incompatible types

但是上面的语法正是 docs 中的呈现方式。 ,其中 :importStatic 与左侧列中的 :import 相同。

我注意到右栏中的示例,它在 :importStatic 前面使用了命名空间 is

${is:importStatic(...

所以我添加了该命名空间,错误消失了,模板开始工作

但是,我对这个神奇的、无法解释的 is 命名空间有点困惑 - 我在 docs 中找不到任何解释。它来自哪里。事实上,稍微玩了一下,似乎 is 根本没有什么特别之处 - 事实证明 :importStatic 前面的任何命名空间都可以工作。

${donkey:importStatic(...     //works fine...

那么,有谁知道为什么命名空间对于 :importStatic 是必需的,但不是 :import

这个错误以及没有命名空间就无法保存的事实是否只是模板编辑器中的一个错误,还是我遗漏了一些东西?

最佳答案

这不是命名空间,它是模板中使用的变量的 ID - 除了 importimportStatic 不需要变量。

我相信你看到的是Eclipse bug 336989two 语句中省略 id 会导致此问题。正如您所发现的,解决方法是指定一个 id,即使它不是必需的。

关于java - 为什么 importStatic Eclipse 模板变量需要命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859108/

相关文章:

_ 分隔字符串上的 JAVA 正则表达式

java - getResourceAsStream() 在 Eclipse 中返回 null,但并不总是返回 null

c++ - 迭代器类型的模板

python - 如何使用 Eclipse/PyDev 在异常之前重试

java - Intellij IDE JSP路径解析

javascript - 如何刷新 Handlebars 模板上下文/数据?

c++ - 简化大量模板特化

java - 将 json 源转换为 java 对象

java - 浮点错误

java - Java中对象类的继承