AS技巧合集「编码技巧篇」
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=254725&extra=page%3D2%26filter%3Dauthor%26orderby%3Ddateline&_dsign=9d21e233
29. 列选择/块选择(Column Selection)描述:正常选择时,当你向下选择时,会直接将当前行到行尾都选中,而块选择模式下,则是根据鼠标选中的矩形区域来选择。调用:按住Alt,然后拖动鼠标选择。开启/关闭块选择:Menu → Edit → Column Selection Mode快捷键:切换块选择模式:Cmd + Shift + 8(OS X)、Shift + Alt + Insert(Windows/Linux);
<ignore_js_op>
30. 语句补全(Complete Statement)描述:这个方法将会生成缺失的代码来补全语句,常用的使用场景如下:在行末添加一个分号,即使光标不在行末;为if、while、for 语句生成圆括号和大括号;方法声明后,添加大括号;调用:Menu → Edit → Compelete Current Statement快捷键:Cmd + Shift + Enter(OS X)、Ctrl + Shift + Enter(Windows/Linux);更多:如果一个语句已经补全,当你执行该操作时,则会直接跳到下一行,即使光标不在当前行的行末。
<ignore_js_op>
31. 删除行(Delete Line)描述:如果没选中,则删除光标所在行,如果选中,则会删除选中所在的所有行。快捷键:Cmd + Delete(OS X)、Ctrl + Y(Windows/Linux)
<ignore_js_op>
32. 行复制(Duplicate Line)描述:复制当前行,并粘贴到下一行,这个操作不会影响剪贴板的内容。这个命令配合移动行快捷键非常有用。快捷键:Cmd + D(OS X)、Ctrl + D(Windows/Linux)
<ignore_js_op>
33. 编写正则表达式(Edit Regex)描述:使用Java编写正则表达式是一件很困难的事,主要原因是:你必须得避开反斜杠;说实话,正则很难;看第二条。IDE能帮我们干点啥呢?当然是一个舒服的界面来编写和测试正则啦~ - 快捷键:Alt + Enter → check regexp
<ignore_js_op>
34. 使用Enter和Tab进行代码补全的差别(Enter vs Tab for Code Completion)描述:代码补全时,可以使用Enter或Tab来进行补全操作,但是两者是有差别的。使用Enter时:从光标处插入补全的代码,对原来的代码不做任何操作。使用Tab时:从光标处插入补全的代码,并删除后面的代码,直到遇到点号、圆括号、分号或空格为止。
<ignore_js_op>
35. 提取方法(Extract Method)描述:提取一段代码块,生成一个新的方法。当你发现某个方法里面过于复杂,需要将某一段代码提取成单独的方法时,该技巧是很有用的。调用:Menu → Refactor → Extract → Method快捷键:Cmd + Alt + M(OS X)、Ctrl + Alt + M(Windows/Linux);更多:在提取代码的对话框,你可以更改方法的修饰符和参数的变量名。
<ignore_js_op>
36. 提取参数(Extract Parameter)描述:这是一个提取参数的快捷操作。当你觉得可以通过提取参数来优化某个方法的时候,这个技巧将很有用。该操作会将当前值作为一个方法的参数,将旧的值放到方法调用的地方,作为传进来的参数。调用:Menu → Refactor → Extract → Parameter快捷键:Cmd + Alt + P(OS X)、Ctrl + Alt + P(Windows/Linux);更多:通过勾选“delegate”,可以保持旧的方法,重载生成一个新方法。
<ignore_js_op>
37. 提取变量(Extract Variable)描述:这是一个提取变量的快捷操作。当你在没有写变量声明的直接写下值的时候,这是一个很方便生成变量声明的操作,同时还会给出一个建议的变量命名。调用:Menu → Refactor → Extract → Variable快捷键:Cmd + Alt + V(OS X)、Ctrl + Alt + V(Windows/Linux);更多:当你需要改变变量声明的类型,例如使用 List 替代 ArrayList,可以按下Shift + Tab,就会显示所有可用的变量类型。
<ignore_js_op>
38. 内置(Inline)描述:当你开始对提取操作有点兴奋的时候,突然觉得东西太多了,怎么办呢?这是一个和提取相反的操作。该操作对方法、字段、参数和变量均有效。调用:Menu → Refactor → Inline快捷键:Cmd + Alt + N(OS X)、Ctrl + Alt + N(Windows/Linux);
<ignore_js_op>
39. 合并行和文本(Join Lines and Literals)描述:这个操作比起在行末使劲按删除键爽多了!该操作遵守格式化规则,同时:合并两行注释,同时移除多余的//;合并多行字符串,移除+和双引号;合并字段的声明和初始化赋值;快捷键:Ctrl + Shift + J;
<ignore_js_op>
40. 动态模板(Live Templates)描述:动态模板是一种快速插入代码片段的方法,使用动态模板比较有意思的是你可以使用合适的默认值将模板参数化,当你插入代码片段时,这可以指导你完成参数。更多:如果你知道模板的缩写,就可以不必使用快捷键,只需要键入缩写并使用Tab键补全即可。快捷键:Cmd + J(OS X)、Ctrl + J(Windows/Linux);
<ignore_js_op>
41. 上下移动行(Move Lines Up Down)描述:不需要复制粘贴就可以上下移动行了。快捷键:Alt + Shift + Up/Down;
<ignore_js_op>
42. 移动方法(Move Methods)描述:这个操作和移动行操作很类似,不过该操作是应用于整个方法的,在不需要复制、粘贴的情况下,就可以将整个方法块移动到另一个方法的前面或后面。该操作的实际叫做“移动语句”,这意味着你可以移动任何类型的语句,你可以方便地调整字段或内部类的顺序。快捷键:Cmd + Alt + Up/Down(OS X)、Ctrl + Shift + Up/Down(Windows/Linux);
<ignore_js_op>
43. 取反补全(Negation Completion)描述:有时你自动补全一个布尔值,然后回到该值的前面添加一个感叹号来完成取反操作,现在通过使用输入!代替enter完成补全操作,就可以跳过这些繁琐的操作了。快捷键:代码补全的时候,按下!即可(有时需要上下键选中候选项);
<ignore_js_op>
44. 后缀补全(Postfix Completion)描述:你可以认为该操作是一种代码补全,它会在点号之前生成代码,而不是在点号之后。实际上你调用这个操作和正常的代码补全操作一样:在一个表达式之后输入点号。例如对一个列表进行遍历,你可以输入myList.for,然后按下Tab键,就会自动生成for循环代码。调用: 你可以在某个表达式后面输入点号,出现一个候选列表,在常规的代码补全提示就可以看到一系列后缀补全关键字,同样的,你也可以在Editor → Postfix Completion中看到一系列后缀补全关键字。常用的有后缀补全关键字有:.for (补全foreach语句).format (使用String.format()包裹一个字符串).cast (使用类型转化包裹一个表达式)
<ignore_js_op>
45. 重构(Refactor This)描述:该操作可以显示所有对当前选中项可行的重构方法。这个列表可以用数字序号快速选择。快捷键:Ctrl + T(OS X)、Ctrl + Alt + Shift + T(Windows/Linux)
<ignore_js_op>
46. 重命名(Rename)描述:你可以通过该操作重命名变量、字段、方法、类、包。当然了,该操作会确保重命名对上下文有意义,不会无脑替换掉所有文件中的名字;快捷键:Shift + F6更多:如果你忘记了这个快捷键,你可以使用快速修复(Quick Fix)的快捷键,它通常包含重命名选项。
<ignore_js_op>
47. 分号/点 补全(Semicolon Dot Completion)描述:代码补全这个功能太棒啦!我们大概都对以下这种情况很熟悉:开始输入点什么东西,接着从IDE得到一些建议的选项,然后通过Enter或者Tab来选择我们想要的补全代码。其实还有另外一种方法来选择补全的代码:我们可以输入一个点(.)或者一个分号(;)。这样就会完成补全,添加所选字符。这在结束一条语句补全或者快速链式调用方法的时候特别有用。注意点:如果你要代码补全的方法需要参数,这些参数会被略过。快捷键:Autocomplete + “.” 或者 “;”
<ignore_js_op>
48. 包裹代码(Surround With)描述: 该操作可以用特定代码结构包裹住选中的代码块,通常是if语句,循环,try/catch语句或者runnable语句。 如果你没有选中任何东西,该操作会包裹当前一整行。快捷键:Cmd + Alt + T(OS X)、Ctrl + Alt + T(Windows/Linux)
<ignore_js_op>
49. 移除包裹代码(Unwrap Remove)描述:该操作会移除周围的代码,它可能是一条if语句,一个while循环,一个try/catch语句甚至是一个runnable语句。该操作恰恰和包裹代码(Surround With)相反。快捷键:Cmd + Shift + Delete(OS X)、Ctrl + Shift + Delete(Windows/Linux)
<ignore_js_op>
AS技巧合集「编码技巧篇」的更多相关文章
- AS技巧合集「常用技巧篇」
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=254723&extra=page%3D2%26filter%3Dautho ...
- AS技巧合集「调试技巧篇」
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=254726&extra=page%3D2%26filter%3Dautho ...
- Android中的对话框AlertDialog使用技巧合集-转载
Android中的对话框AlertDialog使用技巧合集 文章来自:http://blog.csdn.net/blue6626/article/details/6641105 今天我用自 ...
- 我叫Mongo,收了「查询基础篇」,值得你拥有
这是mongo第二篇「查询基础篇」,后续会连续更新6篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上一篇基础篇的介 ...
- 我叫Mongo,干了「查询终结篇」,值得您拥有
这是mongo第三篇"查终结篇",后续会连续更新5篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通 ...
- 电脑技巧合集 - imsoft.cnblogs
● 如何制作网页● 教你建一个别人打不开的文件夹 ● 只改一个值!马上加快宽带上网速度 ● 在电脑右下角显示你的名字● XP系统如何加快开机速度● 连接宽带时出错表示的意思 ● 恢复丢失数据的方法● ...
- odoo之技巧合集一
罗列一些odoo开发中的简单但有效的方法: 1.重写odoo登录代码 参考链接:odoo10-重写登录方法 from odoo import models, fields, api, SUPERUSE ...
- 「MySQL高级篇」MySQL锁机制 && 事务
大家好,我是melo,一名大三后台练习生,最近赶在春招前整理整理发过的博客~! 引言 锁锁锁,到哪到离不开这桩琐事,并发琐事,redis琐事,如今是MySQL琐事,这其中琐事,还跟MySQL另一个重要 ...
- 「MySQL高级篇」explain分析SQL,索引失效&&常见优化场景
大家好,我是melo,一名大三后台练习生 专栏回顾 索引的原理&&设计原则 欢迎关注本专栏:MySQL高级篇 本篇速览 在我们上一篇文章中,讲到了索引的原理&&设计原则 ...
随机推荐
- C语言:void指针
使用前必须进行强制类型转换 #include <stdio.h> void test(const void *p); int main(){ ; int *p = &i; puts ...
- Centos6.5 设置nfs
安装 rpcbind 和 nfs-utils yum install rpcbind yum install nfs-utils 设置共享目录 [root@bogon ~]# vim /etc/exp ...
- PHP PSR规范
PHP PSR-1 基本代码规范(中文版) http://segmentfault.com/a/1190000002521577PHP PSR-2 代码风格规范 (中文版) http://segm ...
- node基础06:回调函数
1.Node异步编程 Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,No ...
- MvvmLight ToolKit 教程
MvvmLightToolKit MvvmLightToolKit的源代码是托管在CodePlex上的,我们 可以从这里获取最新版本的源代码,不仅源码,版本发布的日志,更改了哪些,修复了哪些,以及一些 ...
- 多态、GC、Java数据类型
多态 一.java中实现多态的机制是什么? 靠的是: 父类定义的引用变量可以指向子类的实例对象,或者接口定义的引用变量可以指向具体实现类的实例对象 而程序调用的方法,在运行期才动态绑定, 它就是引用变 ...
- 对atime、mtime和ctime的研究
前期准备 在实验之前我们在讨论为何会出现两种修改时间,为此我们推测因为修改的不是文件的同一数据,或者说同一地方,那么我们就要先搞清楚文件的结构. linux文件系统是Linux系统的心脏部分,提供了层 ...
- 爱春秋之戏说春秋 Writeup
爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...
- ul、li实现横向导航按钮
好久没写博客了,主要是懒得呼气都不想呼,上周分给我一个新的任务,就是自己新建一个系统,快速极限开发,虽然之前自己也做过小的系统,但毕竟是自己做,随着自己的心意做,没有做其他的限制等,现在呢是给公司做, ...
- .net 估计要死在你手里了
最近不太爽,想换工作,上这些知名的招聘网站,一搜 .net 心凉了一截,很少有大公司用.net,工资也不是很高. 不用我多说什么,想必很多人应该有类似经历,只是打了牙往肚子里咽. 来两副图: 最近用滴 ...