Android Studio中Kotlin方法参数转成员字段的快捷方式及建议问题
在Kotlin中实现方法参数快速转为类成员字段的方案
哈哈,确实刚从Java转Kotlin的时候会有点不习惯这个点!不过别担心,不管是想要提交官方功能建议,还是用现有方式实现类似Java里的快捷操作,都有可行的办法:
一、如何提交官方功能建议
如果你希望JetBrains给Kotlin添加和Java完全一致的Alt+Enter提示,可以这么操作:
- 打开Android Studio,点击顶部菜单栏的
Help->Submit Feedback,或者直接用快捷键Alt+Shift+I(Windows/Linux)/Option+Shift+I(Mac)调出反馈窗口 - 在表单里清晰描述你的需求:比如“希望添加类似Java中通过Alt+Enter将方法参数快速赋值为类成员字段的功能,让Kotlin开发的操作逻辑更统一”,最好附上Java中该功能的操作截图,这样官方能更快理解你的诉求
二、现有实现参数转成员字段的快捷方法
其实Kotlin本身有更贴合自身语法的高效操作,分两种场景来说:
1. 主构造函数参数转成员属性(最推荐)
Kotlin的主构造函数天生支持快速把参数转为成员变量:
比如你写了这样的代码:
class User(name: String, age: Int)
把光标放在任意参数上(比如name),按下Alt+Enter,会弹出Convert parameter to property的选项,选择后就能直接把参数转成带val/var的成员字段,还能一键添加private等访问修饰符,比Java的步骤还要简洁!
2. 普通成员方法里的参数转成员字段
如果是在类的普通方法(比如init块、自定义成员函数)里的参数,想要转成成员字段,可以用这个快捷键:
选中方法里的参数名,按下Ctrl+Alt+V(Windows/Linux)/Cmd+Alt+V,在弹出的选项里选择Create field,就能直接生成对应的类成员变量并完成赋值,效果和Java里的Alt+Enter完全一致。
3. 自定义Live Templates(进阶玩法)
如果想要更个性化的快捷操作,可以自己创建Live Template:
- 打开
File->Settings->Editor->Live Templates - 点击
+号先新建一个模板组(比如命名为KotlinCustom),再在这个组里新建Live Template - 缩写设为你好记的(比如
p2f),模板内容写:
private var $VAR_NAME$: $TYPE$ = $PARAM$
- 点击
Edit variables,把VAR_NAME设置为自动取参数名(还能调整命名规范,比如把name转成userName),TYPE自动获取参数类型,PARAM关联选中的参数 - 以后选中方法里的参数,输入缩写按Tab,就能一键生成成员变量和赋值代码啦
内容的提问来源于stack exchange,提问作者FarshidABZ
相关产品推荐
相关产品推荐

