如何在Android Studio的IdeaVim中映射convert to block/expression body操作
实现方案
Android Studio内置的Dart插件已经原生支持块函数体和表达式函数体的互相转换,你不需要自己写替换逻辑,直接通过IdeaVim映射IDE原生操作即可实现需求,具体步骤如下:
1. 确认动作ID(可跳过,默认ID通用)
如果你的Dart插件是官方正式版本,直接用下面的通用ID即可,需要自行确认的话操作如下:
- 双击Shift唤起全局搜索,切换到「Actions」标签
- 分别搜索
转换为块函数体/Convert to block body和转换为表达式函数体/Convert to expression body,鼠标悬停在搜索结果上就能看到对应的动作ID - 通用的两个动作ID为:
Dart.ConvertToBlockBody、Dart.ConvertToExpressionBody,部分高版本插件还支持双向切换动作Dart.ConvertBetweenBlockAndExpressionBody
2. 配置IdeaVim映射
打开用户目录下的.ideavimrc配置文件(没有就手动新建),添加如下内容:
" IdeaVim默认leader键为\,因此<leader>f就是你需要的按\再按f触发 " 方案1:分别映射两个快捷键 map <leader>f :action Dart.ConvertToBlockBody<CR> map <leader>e :action Dart.ConvertToExpressionBody<CR> " 方案2:单个快捷键双向切换(需要插件支持双向动作) " map <leader>f :action Dart.ConvertBetweenBlockAndExpressionBody<CR>
3. 生效配置
在Android Studio中进入Vim普通模式,输入:source ~/.ideavimrc回车即可让配置生效。
使用测试
- 光标放在块函数体的
{位置,按\f即可转换为表达式函数体 - 光标放在表达式函数体的
=>位置,按对应快捷键即可转换为块函数体
完全符合你给出的代码示例的转换需求。
内容的提问来源于stack exchange,提问作者Mehul Pamale
相关产品推荐
相关产品推荐

