【问题标题】:Android Studio: $END$ and $SELECTION$ in live templateAndroid Studio:实时模板中的 $END$ 和 $SELECTION$
【发布时间】:2016-12-12 17:19:28
【问题描述】:

当模板插入时没有包围时,我无法将光标置于 $END$ 位置(使用选定的文本可以正常工作)。

//region MyRegion
$SELECTION$$END$
//endregion

有办法解决吗?

Android Studio 版本为 2.2.3。

更新
为了让问题更清楚,我添加了重现的步骤:
1) 按照上面的说明创建实时模板(环绕)。
2) 给它起个名字,例如#mrgn。
3)在某些类中尝试使用它。所以输入#mrgn 并按TAB。

它应该插入以下文本:

public class SomeClass {
    //region MyRegion
    < cursor should be here
    //endregion
}

但它会插入文本并将光标放在错误的位置:

public class SomeClass {
    //region MyRegion
< cursor is here.. but spaces are inserted, so only cursor does not work.
    //endregion
}

【问题讨论】:

  • 你的问题不清楚。尝试添加步骤来重现、实际行为和预期行为;)

标签: android-studio live-templates


【解决方案1】:

您可以通过创建 2 个实时模板来解决此问题。一个用于环绕一个没有。

不幸的是,这意味着您需要忍受 2 个不同的别名。

'regionSur'

//region MyRegion
$SELECTION$$END$
//endregion

'区域'

//region MyRegion
$END$
//endregion

这还不错,因为只有在使用键盘快捷键而不是自动完成列表时才会看到环绕语法。

实际的错误在于 $selection$ 为空时的行为,$END$ 工作正常。

【讨论】:

  • 感谢您的澄清!不确定该解决方案是否非常合适.. 但它对我未来的模板有意义。
  • 最重要的是,(至少对我而言)当光标出现在行首时,键入会立即将其自身纠正为正确的缩进。
猜你喜欢
  • 2019-05-13
  • 2017-08-18
  • 2017-05-26
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多