【问题标题】:IntelliJ Live Templates bug with completeSmart() function带有 completeSmart() 函数的 IntelliJ 实时模板错误
【发布时间】:2014-08-24 20:49:45
【问题描述】:

我正在尝试在 Android Studio 中创建一个 Live-Template,这将在一定程度上加快 findViewById(...) 的创建速度

一部分是自学,一部分是对创建这样的实时模板感到好奇。

我希望能够输入以下内容...

Button find+(回车)

...应该会创建这样的东西...

Button btnAdd = (Button) findViewById(R.id.btnAddition);


我当前的实现有问题...

...这些问题源于completeSmart() 的使用。每当您使用completeSmart() 时,模板都会忽略该调用之后的所有内容并结束编辑。

例如,如果我将 CAST 命名变量上移了一个槽(ID 上方),那么演员表将被自动填写,它不会让我轻松编辑 @ 987654331@ 了。与下图相同,但没有btnAddition。就...findViewById(R.id.);

使用我当前的设置,我在最底部有CAST,因此我可以轻松地编辑所有命名变量;但是,当我完成时,completeSmart() 的使用不会让模板结束(将光标放在$END$ 标记处 - 下图中的第 29 行)。

相反,它会将光标放在演员表之后,就像这样...

...当它应该放在下一行的开头时。该模板确实在其中插入了一个新行,但光标并没有在最后出现。 为什么?


所以我想要这个...

1 ) 因为我已经在Button,所以我想转换为Button。我不应该输入两次!

【问题讨论】:

    标签: android templates intellij-idea android-studio live-templates


    【解决方案1】:

    你应该使用方法 typeOfVariable()

    你可以这样改变:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2012-11-28
      相关资源
      最近更新 更多