【问题标题】:IntelliJ Custom Template VariableIntelliJ 自定义模板变量
【发布时间】:2016-04-18 17:46:00
【问题描述】:

我正在尝试使用名为$MyName 的自定义变量创建我的自定义模板。而且我认为如果没有初始化,IntelliJ 应该可以询问变量的值。在文档中,他们提供了一些关于如何做到这一点的信息,但他们没有一个真实的例子。他们只是说,IntelliJ Idea 会以某种方式要求我指定它。

如果在应用模板时,某个模板变量的值 未知,IntelliJ IDEA 会要求您指定它们。

如何创建一个像$MyName 这样的自定义变量,然后当用户使用模板时,它会问他叫什么名字?

IntelliJ IDEA 2016.1 Documentation

编辑 (19.04.2016):添加截图

如您所见,自定义变量无法识别或无效。如果我将它声明为${MyName},它也不会起作用。

【问题讨论】:

  • IDE 询问文件模板中使用但未明确定义的所有变量。所以它应该已经工作了。如果没有,请提供更多详细信息和屏幕截图。
  • @PeterGromov 我已添加屏幕截图以获取更多信息。

标签: templates intellij-idea


【解决方案1】:

这是 IntelliJ IDEA 中的一个错误,归档为 https://youtrack.jetbrains.com/issue/IDEA-154958。感谢您的关注!

【讨论】:

  • 修复了吗?
【解决方案2】:

文件模板变量

File | Settings | Editor | File and Code Templates
您应该将其设置为files。如果设置为includes,则新文件直接输出变量名而不是变量内容。例如,设置JavaClass文件自定义变量$DESCRIPTION。如果模板中没有定义变量的值,IntelliJ IDEA会在应用模板时要求您指定。
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") /** * Description: $DESCRIPTION * Created by ${USER} * Date: ${YEAR}/${MONTH}/${DAY} * Time: ${TIME} */ public class ${NAME} { }

您还可以使用#set 指令直接在模板中定义自定义变量的值。 例如,如果您想使用您的全名而不是通过预定义变量 ${USER} 定义的登录名,请使用以下构造:
#set( $MyName = "John Smith" )

参考链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多