【任务标记是以注释的方式定义】
一、作用:
- 代码量非常大的项目,在某一行中需要在后续阶段实现一个功能,如果不标注下次再找的时候就非常困难了,可以大大的提高开发效率!
- 在团队合作中,还可以告诉别人某处敏感代码的状态。
二. 以下为常见的两种注释标记:
- // TODO: 表示在此处将要实现的功能,提醒你在后续阶段将会在此处添加代码
- // FIXME: 表示此处的代码逻辑有出入,或者根本不能运行,提醒你在后续阶段将会修改此处代码
自定义
- // SCREEN: 标识可能因项目需求临时更改或者暂时去开发其他功能需要将此处代码隐藏/屏蔽
- // BUGFIX: 根据反馈修复的bug,记录什么原因要做什么事情,进行Bug的修复
- // REFACTOR: 重构代码
配置AS
一、添加正则匹配
通过AS左上角的菜单,进入Settings,Mac command + , 或者点击 File -> Settings -> Editor -> TODO 打开 TODO 设置面板,点击右上方的 + 添加一个正则,如图:
\b(todo|fixme)\b.*
点击OK即可
在 Pattern
中输入正则表达式 \bscreen\b.*
,然后选择一个 Icon
(可选),点击 OK
关闭添加面板,再次点击 OK
应用并关闭设置面板。
※ 这里注意一下,在AS4.0以下可能会出现你配置好正则之后AS都没有智能提示以补全代码,因为TODO 标记和智能提示是两码事。你添加了一个自定义的 TODO 正则,AS匹配后将其视为 TODO,在代码中高亮并显示在 TODO 视图中;而智能提示和自动补齐是 代码模版
的功能。不是一回事
你在代码中纯手敲一个 SCREEN 的 TODO 也不是不可以,只不过这样效率太低了。
// SCREEN: 2017/5/1 需求更改暂时屏蔽
二、添加自定义标记到代码模板
- 通过菜单, File -> Settings -> Editor -> Live Templates 打开代码模版设置页面,找到 AndroidComments 并展开,你会发现熟悉的 fixme 和 todo,我们就仿着它们添加我们的代码模版。
- 在下方出现的面板中填上对应内容,分别是:缩写、描述、模版文本。
- 缩写:我们在代码中敲对应缩写,就会出现智能提示; screen
- 描述:智能提示时的描述;adds // SCREEN
- 模版文本:缩写对应的补齐后的文本(不局限于代码),在这可以声明变量;
- // SCREEN: $author$ $date$ $todo$
此处我填写内容如下:
- 在模版文本中,我们使用 $author$声明了作者,使用$date$ 声明了日期变量,使用 $todo$声明了描述代办的变量,变量是用来占位的。那这两个变量到底如何赋值呢
- 注意右侧的 Edit variables,即编辑变量。点击该按钮,打开 “Edit Template Variables” 面板。表格中,四列分别对应了:变量名称、表达式、默认值、如果已定义则跳过。具体的使用方法,同样可点击右下角的 Help 看一下,这不是本文的重点。看看我最后设置的值:
此处,我将 author 变量的表达式设为 user(),将 date 变量的表达式设为 date(),系统将会使用当前用户和当前日期来填补该变量的占位,并勾选 “跳过” 选项,表示有值的话就不再自己编辑。
同时,对于 todo 变量,是用来添加描述的,无法使用表达式赋值,所以我选择了赋予默认值 “隐藏/屏蔽”,并且没有勾选 " 跳过"。这样的话,系统会默认为我赋值 “待重构”,但我的光标还会定在那儿,我可以继续编辑,或者回车使用默认值。
- 编辑变量后,点击 OK 返回上一页,最后还需要定义该模版运用的上下文,也就是在哪些地方可以通过缩写调出代码模版。
- 在界面下方,有一段文本:No applicable contexs yet. 后面跟着一个 Define,点击就会弹出设置模版运用上下文的列表。我们一般是在 Java 和 XML 代码中添加 SCREEN TODO,所以全选 Java 和 XML,当然你也可以按需选择。
- 最后勾选右侧的
Refactor according to style
,表示自动格式化代码(调整对齐、缩进等),点击右下角 ‘OK’,运用该模版并退出。
三、在代码中使用 SCREEN TODO
- 在需要添加重构标识的地方,输入
screen
,输入过程中,智能提示就出来了,回车确认即可。
※ 如果觉得 "4/14/21" 这样的时间格式不友好可以在上个步骤中的date()函数中做手脚,例如
- 区别于之前的 todo 和 fixme,自动补齐时加上了默认描述"隐藏/屏蔽",你可以继续输入覆盖,或者直接回车确认。和 TODO、FIXME 一样,代码高亮并出现在 TODO 视图中。
四、END
结束了,是不是很简单,快点定义好你们的开发标记规则进行应用吧