1.增加自定义TODO标记

Preferences -> Editor -> TODO,然后点击左下角的加号,输入想要自定义的TODO的正则
输入\bX\b.*(X为TODO标签的名字),这里以to_complete为例,输入\bto_complete\b.*


把defaultcolor的勾选去掉,可以自定义直观的配色:
两步你就可以手动输入并使用自定义的todo了,但输入不太方便,为了方便使用,就要用动态模板了

2.增加动态模板

Preferences -> Editor -> Live Templates,添加新的模板:

  1. 在下方的面板中填上对应内容,分别是:缩写、描述、模版文本。
  2. 模板文本是// TO_COMPLETE: $date$ $tocomplete$,前面是匹配我们的todo标记的,后边使用 data 声明了日期变量,使用 tocomplete 声明了描述代办的变量,变量是用来占位的,下面进行赋值
  3. 注意右侧的 Edit variables,即编辑变量。点击该按钮,打开 “Edit Template Variables” 面板。表格中,四列分别对应为:变量名称、表达式、默认值、如果已定义则跳过。
    1. 将 date 变量的表达式设为 date(),系统将会使用当前日期来填补该变量的占位,并勾选 “跳过” 选项,表示有值的话就不再自己编辑。
    2. 同时,对于 todo 变量,是用来添加描述的,无法使用固定表达式赋值,所以我选择了赋予默认值 “此处等待完成”,并且没有勾选 “ 跳过”。这样的话,系统会默认为我赋值 “此处等待完成”,但我的光标还会定在那儿:我可以选择继续编辑,或者回车使用默认值
  4. 还需要定义该模版运用的上下文,也就是在哪些地方可以通过缩写调出代码模版。
    1. 在界面下方,有一段文本:No applicable contexs yet. 后面跟着一个 Define,点击就会弹出模版运用上下文的列表。我们一般是在 Java 代码中添加 REFACTOR TODO,所以全选 Java,当然你也可以按需选择。
  5. 最后可以勾选右侧的 Refactor according to style,表示添加完自动格式化代码(调整对齐、缩进等),点击OK完成并退出

这样就可以在需要添加重构标识的地方,输入 comp...,输入过程中,智能提示就出来了,回车确认即可

3.添加过滤器

当项目中 自定义TODO 较多且混在一起时,找起来可就比较费劲了,此时我们可以使用 “过滤” 功能来快速分类浏览不同的自定义TODO。
首先添加过滤条件,点击 TODO 窗口左侧的漏斗,选择 Edit Filters,按照图示添加过滤条件:

添加完毕后,再次点击漏斗,选择刚才添加的过滤条件,在 TODO 视图中将只会看到对应的自定义 TODO 事项

经过了这三步,你就可以愉快地面向TODO编程了 XD

AndroidStudio自定义TODO的更多相关文章

  1. IDEA自定义TODO

    配置自己的TODO标签 , 避免跟其他人产生错乱 打开TODO页签 , 有三种方式打开 菜单栏打开 View -> Tool Windows -> TODO 快捷键打开 Alt + 6 快 ...

  2. 在Jetbrain IDE中自定义TODO功能

    好的IDE能为开发以及学习源码带来效率的提升,今天要介绍的就是Jetbrain家族中IDE自带的TODO功能,我认为利用好它,能够大大的提升阅读源码的效率. 假设我现在需要去阅读源代码,看了半天我终于 ...

  3. android 自定义TODO

    1.找到setting -> editor -> TODO 2. 正则的写法参考以前的就可以 这样我们就可以自己写一个todo了 3.TODO过滤: 4. 然后选择要展示的TODO 这里就 ...

  4. idea 添加自定义的todo标签

    背景:idea添加自定义的todo标签可以提高开发效率,搞之 在idea定义个人风格的todo IDEA自定义TODO注释 主要分为如下两步 自定义todo标签 settings>Editor& ...

  5. 小小TODO标识,你用对了吗?

    前言 有时,您需要标记部分代码以供将来参考,比如: 优化,改进,可能的更改,要讨论的问题等. 通常我们会在代码中加入如下的标记表示待办: //TODO 我将要在这里做 xxx 你这样做,别人也会这样做 ...

  6. @interface java注解

    @Documented,@Retention,@Target,@Inherited 1. 编写自定义@Todo注解经常我们在写程序时,有时候有些功能在当前的版本中并不提供,或由于某些其它原因,有些方法 ...

  7. ArrayList内元素按照字典排序

    package day08; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; ...

  8. Android Studio 之 在活动中使用 Toast

    •简介 Toast 是 Android 系统提供的一种非常好的提醒方式: 在程序中可以使用它将一些短小的信息通知给用户: 这些信息会在一段时间内自动消失,并且不会占用任何屏幕空间 •Toast.mak ...

  9. Eclipse默认标签TODO,XXX,FIXME和自定义标签[转]

    http://www.blogjava.net/Guides/archive/2011/11/14/363686.html   Eclipse中的一些特殊的注释技术包括:    1.    // TO ...

随机推荐

  1. iOS开发--UILineBreakModeWordWrap deprecated

    在iOS6中UILineBreakModelWordWrap deprecated 现在推荐使用 [label setLineBreakMode:NSLineBreakByWordWrapping];

  2. Ansible Playbook 使用循环语句

    如下,with_items 是循环的对象,with_items 是 python list 数据结构,task 会循环读取 list 里面的值,key 的名称是 item [root@localhos ...

  3. 中文解码Unicode

    package com.j1.search.utils; import java.io.UnsupportedEncodingException; import java.net.URLDecoder ...

  4. flask获取传入参数的两种方式

    #coding=utf-8 from flask import Flask from flask import request app = Flask(__name__) @app.route(&qu ...

  5. 【EF框架】EF DBFirst 快速生成数据库实体类 Database1.tt

    现有如下需求,数据库表快速映射到数据库实体类 VS给出的两个选择都有问题,并不能实现,都是坑啊 EF .x DbContext 生成器 EF .x DbContext 生成器 测试结果如下 生成文件 ...

  6. C++构造函数、new、delete

    1. c++在调用构造函数时,才会把最开始的虚表指针指向虚表. 2.在构造函数或者析构函数中调用虚函数. 编译上没有问题. 运行时,调用虚函数不会发生多态行为,会调用正在构造的类的虚函数. 详细可见c ...

  7. VC++生成不同的随机数

    其用法是先调用srand函数,如 srand( (unsigned)time( NULL ) ) 这样可以使得每次产生的随机数序列不同.假如计算伪随机序列的初始数值(称为种子)相同,则计算出来的伪随机 ...

  8. Mycat的简易安装及测试

    1.环境 OS版本 CentOS release 6.5 (Final) 64bit DB版本 Mysql 5.6.37 Mycat 1.6 jdk1.7及以上版本 2.实战部署 1.创建用户及用户组 ...

  9. ftp主动与被动模式详解

    FTP是仅基于TCP的服务,不支持UDP.与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口).通常来说这两个端口是21(命令端口)和20(数据端口).但FTP工作方式的不同 ...

  10. Java虚拟机七 虚拟机监控

    jstack 用于导出Java应用程序的线程堆栈:jstack [-l] <pid> -l 选项用于打印锁的附加信息 jstack -l 2348 > /data/deadlock. ...