IntelliJ Live Templates错误与completeSmart()函数

Chr*_*ski 5 android templates intellij-idea live-templates android-studio

我正在尝试在Android Studio中创建一个实时模板,这将有助于加快创建 findViewById(...)

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

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

Button find +(输入)

......那应该创造这样的东西......

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


我目前的实施有问题......

在此输入图像描述 在此输入图像描述

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

例如,如果我将CAST命名变量向上移动一个插槽(上图ID),那么演员表将自动填写,不会让我轻易编辑ID.与下图相同,但没有btnAddition.只是...findViewById(R.id.);

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

相反,它将光标放在演员之后,就像这样...... 在此输入图像描述

......当它应该放在下一行的开头.这个模板确实添加了一个新行,但光标最后没有放在那里.为什么?


所以我想要这个......

1)因为我已经进入Button,但我想要投出Button.我不应该两次输入!

tha*_*t14 0

你应该使用方法 typeOfVariable()

你可以这样改变:

富