Android Studio 技巧之 【Enter vs Tab for Code Completion】

快捷键

Enter or Tab

Android Studio 里使用Enter或Tab进行代码补全到底有没有区别?

描述

在Android Studio 中代码补全可以使用Enter或者Tab键。

一般来说按Enter或者Tab键做代码补全是有区别的。

  • 使用Enter时,从光标处插入补全的代码,对原来的代码不做任何操作。

  • 使用Tab时,从光标处插入补全的代码,并 删除后面的代码,直到遇到点号、圆括号、分号或空格为止。

几乎所有其它的教程和文档里都是这样说的。但是,下面的例子中,读者可以看到,上面的说到的这两种代码补全的方式的区别不完全正确,这两种方式可以完全相同,相同不相同取决于编程者的编程习惯。

使用

下面就用上图中的例子来做演示。

我们要用代码补全在 tV.toString() 中的.toString()前加入.getHint(),使其变成 tV.getHint().toString()

例子1

tV.toString()toString()前键入getH然后选择代码补全弹窗中的getHint()Enter或者Tab键做代码补全。在这种代码补全的方式中,按Enter或者Tab是有区别的。

使用Enter时,从光标处插入补全的代码,对原来的代码不做任何操作。

使用Tab时,从光标处插入补全的代码,但是 删除后面的代码,直到遇到点号、圆括号、分号或空格为止。

1、在tV.toString()toString()前键入getH

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第1张图片

2、选择弹窗里getHint()后,按Enter

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第2张图片

现在tV.toString()变成了tV.getHint()toString()getHint()是从光标处插入补全的,原来的toString()代码没有被改动。再按一次.,即可完成代码补全,将 tV.toString() 变成tV.getHint().toString()

3、现在我们回到第二步,但是这次是按Tab键。

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第3张图片

这一次,tV.toString()变成了tV.getHint(),在getHint()被补全后,getHint()后的所有的代码一直被删除到行末的;,即原来的toString()被全部删除。

所以,用这样的方式代码补全,按Enter或者Tab键是有区别的。按Enter不删除补全代码之后的代码,按Tab则删除补全代码之后的全部代码直到遇到点号、圆括号、分号或空格为止。

动画演示

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第4张图片

现在我们看下一个例子,在这个例子中,仅因为做代码补全的习惯方式不一样,按Enter或者Tab键就没有任何区别。

例子2

tV.toString()tV后键入.,然后选择getHint(),按Enter或者Tab键做代码补全。在这种代码补全的方式中,按Enter或者Tab没有区别的。

1、将光标定位到tV之后,按.

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第5张图片

2、选择弹窗里getHint()后,按Enter

现在tV.toString()变成了tV.getHint().toString(),代码补全完成。getHint()插入后,没有删除任何代码。

3、现在我们将代码恢复原样,然后重复第一步和第二步,但是这次是按Tab键。

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第6张图片

看到没有,代码补全完成,但是和按Enter效果一样,没有代码被删除。

动画演示

Android Studio 技巧之 【Enter vs Tab for Code Completion】_第7张图片

总结

一般来说按Enter或者Tab键做代码补全是有区别的,但是不绝对。有没有区别取决于使用者做代码补全时的编程习惯。

例子1和例子2演示了由于不同的代码补全的编程习惯,按Enter或者Tab键做代码补全的不同的表现。

其实,两种编程习惯都有很多人用。但是在例子2中那种代码补全的方式应该是更为合适的方式。


更多Android Studio技巧

Android Studio 技巧之【Rename】

Android Studio 技巧之【Join Lines and Literals】

Android Studio 技巧之【Delete Line】

Android Studio 技巧之【Move Methods】

Android Studio 技巧之【Duplicate Line】

Android Studio 技巧之【Move Lines Up Down】

Android Studio 技巧之【Sublime Text Multi Selection】

Android Studio 技巧之【Column Selection】

Android Studio 技巧之【Extract Parameter】

Android Studio 技巧之【Extract Constant】

Android Studio 技巧之【Extract Method】

Android Studio 技巧之【Extract Field】

Android Studio 技巧之快速抽取变量【Extract Variable】

Android Studio 技巧之【Extract Resource】

你可能感兴趣的:(Android Studio 技巧之 【Enter vs Tab for Code Completion】)