精华内容
下载资源
问答
  • 前言有时,您需要标记部分代码以供将来参考,比如: 优化,改进,可能的更改,要讨论的问题等。通常我们会在代码中加入如下的标记表示待办://TODO 我...IntelliJ IDEA允许我们添加特殊类型的注释,使得这些注释在编...
    6acc1c9931b8e33d3f39401f382277b5.gif

    前言

    有时,您需要标记部分代码以供将来参考,比如: 优化,改进,可能的更改,要讨论的问题等。通常我们会在代码中加入如下的标记表示待办:

    //TODO 我将要在这里做 xxx

    你这样做,别人也会这样做。一时间,项目中可能会存在大量的 TODO,当你搜寻你的 TODO 时也就变得非常麻烦,如同石沉大海,也就失去了这个标记的意义。

    IntelliJ IDEA允许我们添加特殊类型的注释,使得这些注释在编辑器中突出显示,它们被索引,并在 TODO 工具窗口 中列出。这样,我们就容易追踪自己的 TODO 了。

    5be2f4f990362c67c232385f1b7c04de.png

    默认的 TODO

    默认情况下,IntelliJ IDEA识别两种模式:小写和大写的 TODOFIXME 这些模式可在任何受支持文件类型的行注释和块注释内部使用。我们可以根据需要修改默认模式或添加自己的模式

    如上图,我们可以创建多行的 TODO (类似 Spring Boot 中的 YAML 配置多个值),需要缩进第一行之后的注释行。如果没有缩进,则将行视为常规注释行

    要禁用多行 TODO 项目,使用快捷键 ⌘ + , 打开 Preferences, 搜索 TODO (Editor | TODO), 你会看到如下界面

    2236298b3334040352086b1b6f475e8a.png

    要查看系统中的所有 TODO,请打开 TODO 工具窗口 (快捷键 ⌘ + 6 )。切换选项查看 TODO 范围:

    • 从当前项目中的所有文件
    • 仅基于当前文件的范围
    • 指定范围的文件
    • 活动的变更列表
    ab43e1cfb53357381911600b8a96225b.png

    到这里 Intellij IDEA 默认提供的 TODO 就介绍完了,为了能更快的找到我们自己的 TODO,我们就需要进行自定义

    自定义 TODO

    重新打开 TODO 位置,新增 TODO item,这里新增 optimize,用于标识待优化内容

    14d2809a4d568a0a088f047242c9a4ef.png

    添加个过滤器,用于 TODO 的分组f4a2fa8cbd00f3ba1ef776dce6fc974e.png

    随便添加一个优化备注,通过以上介绍的功能,快速定位到我们自己的 TODO

    8f279f516914e6efee6dcb1512007b87.png

    如果你的待办事项通常是相对固定的描述,你也可以配合 Live Template 快速生成 TODO 内容

    高清大图,请查看原文

    总结

    当团队规模很大,你又同时有很多待办的时候,TODO 特性可以帮助我们做标识,自定义 TODO 可以帮我们快速定位,我们可以充分利用这个特性,但是

    定期清理 TODO

    8c9c4958fed2a0d2d9f03cfccdbcf301.png

    灵魂追问

    1. 你觉得项目中代码有哪些不规范/不够整洁的地方?(欢迎到博客下方留言讨论)

    a386f3f2376932f2f5a19db1df822997.gif
    • 一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式
    • 在SpringBoot内如何使用ApplicationEvent&Listener完成业务解耦?
    • Java equals 和 hashCode 的这几个问题可以说明白吗?
    • SpringBoot如何优雅的校验参数
    • 如何妙用Spring 数据绑定机制?
    bef51f6960d7bfe8eb656f8a61dbe128.gif
    3ba3d8c0bff7e120e6c73985feccc562.png
    展开全文
  • idea 将代码块抽取为方法 快捷键

    万次阅读 2018-07-27 17:20:49
    这个时候很多代码可以抽成一个方法,从而使业务逻辑很复杂的方法得易读。当然,你必须要在关键的地方写上注释,方便后面的人维护。 Idea提供了一个抽取功能,可以将变量、代码块等抽取出来,减少重复代码,提高...

    前言

    遇到业务逻辑很复杂的模块,有时候一个方法一写就好几百行。这个时候很多代码可以抽成一个方法,从而使业务逻辑很复杂的方法变得易读。当然,你必须要在关键的地方写上注释,方便后面的人维护。
    Idea提供了一个抽取功能,可以将变量、代码块等抽取出来,减少重复代码,提高代码可读性。
    用来重构代码,非常方便快捷。开发效率也会提高!!

    具体操作

    抽取方法的快捷键是 Ctrl + Alt + M,其中 M 代表 Method,即方法。
    以下代码分别演示了抽取前,抽取后的变化,可以看出抽取后的代码结构更清晰简单,阅读性更好。

    提取前:

    // 大转盘 设置某用户下次必中某商品
    public void updateTurntableNextAward(Integer userId, Integer awardId, HttpServletRequest request) {
        //验证奖品
        BsTurntableAward award = turntableAwardMapper.selectByPrimaryKey(awardId);
        if (award == null) {
            throw new BusiException(E.INVALID_PARAMETER, "奖品不存在");
        }
        if (award.getState() != 1) {
            throw new BusiException(E.INVALID_PARAMETER, "奖品已停售");
        }
    
        Jedis jedis = RedisPool.getJedis();
        SysUser sysUser = (SysUser) request.getSession().getAttribute(R.LOGIN_USER);
        try {
            if (jedis.hexists(Rkey.USER_INFO, userId.toString())) {
                String hget = jedis.hget(Rkey.TURNTALE_NEXT_AWARD, userId.toString());
                if (StringUtils.isEmpty(hget)) {
                    //第一次设置
                    BsTurntableNextAward record = new BsTurntableNextAward();
                    record.setAwardId(awardId);
                    record.setState(0);
                    record.setUserId(userId);
                    record.setSysUser(sysUser.getUserName());
                    turntableNextAwardMapper.insert(record);
    
                    //修改必中商品的已抽取库存总量:extractAmount + 1
                    turntableAwardMapper.updateExtractAmountAddOneByAwardId(awardId);
    
                    //新增操作,redis 对应商品总投放量加一
                    jedis.hincrBy(Rkey.BRANCH_AWARD_ACTIVE_STOCK, awardId.toString(), 1);
                    //操作数据库 商品对应投放库存加一 
                    //下面这部分可以抽取为1个方法,选中这部分,按下快捷键 Ctrl + Alt + M,填写方法名称即可抽取
                    Date now = new Date();
                    String formatDate = DateUtil.formatDate(now, "yyyy-MM-dd HH:mm");
                    BsTurntableActivity nowPeriodActivity = turntableActivityMapper.queryNowPeriodActivity(formatDate);
                    String curActivityId = nowPeriodActivity.getId().toString();
                    BsTurntableActivity turntableActivity = new BsTurntableActivity();
                    turntableActivity.setId(curActivityId;
                    if (nowPeriodActivity.getAwardId1().equals(awardId)) {
                        turntableActivity.setAmount1(nowPeriodActivity.getAmount1() + 1);
                    } else if (nowPeriodActivity.getAwardId2().equals(awardId)) {
                        turntableActivity.setAmount2(nowPeriodActivity.getAmount2() + 1);
                    } else if (nowPeriodActivity.getAwardId3().equals(awardId)) {
                        turntableActivity.setAmount3(nowPeriodActivity.getAmount3() + 1);
                    } else if (nowPeriodActivity.getAwardId4().equals(awardId)) {
                        turntableActivity.setAmount4(nowPeriodActivity.getAmount4() + 1);
                    } else if (nowPeriodActivity.getAwardId5().equals(awardId)) {
                        turntableActivity.setAmount5(nowPeriodActivity.getAmount5() + 1);
                    } else if (nowPeriodActivity.getAwardId6().equals(awardId)) {
                        turntableActivity.setAmount6(nowPeriodActivity.getAmount6() + 1);
                    }
    
                } else {
                    //替换操作
                    Integer oldAwardId = Integer.valueOf(hget);
                    // 查询用户是否有 没有抽取的必中记录
                    BsTurntableNextAward record = turntableNextAwardMapper.queryDataByUserAndState(userId, 0);
                    if (record != null) {
                        record.setAwardId(awardId);
                        record.setSysUser(sysUser.getUserName());
                        turntableNextAwardMapper.updateByPrimaryKeySelective(record);
    
                        //修改之前设置的必中商品已抽取库存总量:extractAmount - 1
                        turntableAwardMapper.updateExtractAmountReduceOneByAwardId(oldAwardId);
                        //修改必中商品的已抽取库存总量:extractAmount + 1
                        turntableAwardMapper.updateExtractAmountAddOneByAwardId(awardId);
                    }
    
                    //更新替换操作,原有商品总投放量减一
                    jedis.hincrBy(Rkey.BRANCH_AWARD_ACTIVE_STOCK, oldAwardId.toString(), -1);
                    //更新替换操作,替换商品总投放量加一
                    jedis.hincrBy(Rkey.BRANCH_AWARD_ACTIVE_STOCK, awardId.toString(), 1);
    
    
                }
                jedis.hset(Rkey.TURNTALE_NEXT_AWARD, userId.toString(), awardId.toString());
                //数据库
            } else {
                throw new BusiException(E.CUSTOM_ERROR_MSG, "用户不存在");
            }
        } finally {
            RedisPool.returnJedis(jedis);
        }
    }
    

    抽取之后,代码如下:

    public void updateTurntableNextAward(Integer userId, Integer awardId, HttpServletRequest request) {
        //验证奖品
        BsTurntableAward award = turntableAwardMapper.selectByPrimaryKey(awardId);
        if (award == null) {
            throw new BusiException(E.INVALID_PARAMETER, "奖品不存在");
        }
        if (award.getState() != 1) {
            throw new BusiException(E.INVALID_PARAMETER, "奖品已停售");
        }
    
        Jedis jedis = RedisPool.getJedis();
        SysUser sysUser = (SysUser) request.getSession().getAttribute(R.LOGIN_USER);
        try {
            if (jedis.hexists(Rkey.USER_INFO, userId.toString())) {
                String hget = jedis.hget(Rkey.TURNTALE_NEXT_AWARD, userId.toString());
                if (StringUtils.isEmpty(hget)) {
                    //第一次设置
                    BsTurntableNextAward record = new BsTurntableNextAward();
                    record.setAwardId(awardId);
                    record.setState(0);
                    record.setUserId(userId);
                    record.setSysUser(sysUser.getUserName());
                    turntableNextAwardMapper.insert(record);
    
                    //修改必中商品的已抽取库存总量:extractAmount + 1
                    turntableAwardMapper.updateExtractAmountAddOneByAwardId(awardId);
    
                    //新增操作,redis 对应商品总投放量加一
                    jedis.hincrBy(Rkey.BRANCH_AWARD_ACTIVE_STOCK, awardId.toString(), 1);
                    //操作数据库 商品对应投放库存加一
                    //下面这部分可以抽取为1个方法,选中这部分,按下快捷键 Ctrl + Alt + M,填写方法名称即可抽取
                    updateAmountAddOneWhenSettingBizhong(awardId);
    
                } else {
                    //替换操作
                    Integer oldAwardId = Integer.valueOf(hget);
                    // 查询用户是否有 没有抽取的必中记录
                    BsTurntableNextAward record = turntableNextAwardMapper.queryDataByUserAndState(userId, 0);
                    if (record != null) {
                        record.setAwardId(awardId);
                        record.setSysUser(sysUser.getUserName());
                        turntableNextAwardMapper.updateByPrimaryKeySelective(record);
    
                        //修改之前设置的必中商品已抽取库存总量:extractAmount - 1
                        turntableAwardMapper.updateExtractAmountReduceOneByAwardId(oldAwardId);
                        //修改必中商品的已抽取库存总量:extractAmount + 1
                        turntableAwardMapper.updateExtractAmountAddOneByAwardId(awardId);
                    }
    
                    //更新替换操作,原有商品总投放量减一
                    jedis.hincrBy(Rkey.BRANCH_AWARD_ACTIVE_STOCK, oldAwardId.toString(), -1);
                    //更新替换操作,替换商品总投放量加一
                    jedis.hincrBy(Rkey.BRANCH_AWARD_ACTIVE_STOCK, awardId.toString(), 1);
    
    
                }
                jedis.hset(Rkey.TURNTALE_NEXT_AWARD, userId.toString(), awardId.toString());
                //数据库
            } else {
                throw new BusiException(E.CUSTOM_ERROR_MSG, "用户不存在");
            }
        } finally {
            RedisPool.returnJedis(jedis);
        }
    }
    
    // 操作数据库 设置必中 对应商品库存加一
    private void updateAmountAddOneWhenSettingBizhong(Integer awardId) {
        Date now = new Date();
        String formatDate = DateUtil.formatDate(now, "yyyy-MM-dd HH:mm");
        BsTurntableActivity nowPeriodActivity = turntableActivityMapper.queryNowPeriodActivity(formatDate);
        String curActivityId = nowPeriodActivity.getId().toString();
        BsTurntableActivity turntableActivity = new BsTurntableActivity();
        turntableActivity.setId(curActivityId);
        if (nowPeriodActivity.getAwardId1().equals(awardId)) {
            turntableActivity.setAmount1(nowPeriodActivity.getAmount1() + 1);
        } else if (nowPeriodActivity.getAwardId2().equals(awardId)) {
            turntableActivity.setAmount2(nowPeriodActivity.getAmount2() + 1);
        } else if (nowPeriodActivity.getAwardId3().equals(awardId)) {
            turntableActivity.setAmount3(nowPeriodActivity.getAmount3() + 1);
        } else if (nowPeriodActivity.getAwardId4().equals(awardId)) {
            turntableActivity.setAmount4(nowPeriodActivity.getAmount4() + 1);
        } else if (nowPeriodActivity.getAwardId5().equals(awardId)) {
            turntableActivity.setAmount5(nowPeriodActivity.getAmount5() + 1);
        } else if (nowPeriodActivity.getAwardId6().equals(awardId)) {
            turntableActivity.setAmount6(nowPeriodActivity.getAmount6() + 1);
        }
        turntableActivityMapper.updateByPrimaryKeySelective(turntableActivity);
    }
    

    ps:
    1.选中要提取的部分,按下快捷键 Ctrl + Alt + M,填写方法名称即可抽取
    2.有可能提取的时候,提取的参数不够(不满足我们的期望),可以等提取结束后手动修改,加入需要的参数。

    展开全文
  • AS快捷键代码模板

    2017-03-20 04:08:30
    快捷键: 单行注释:Ctrl + / 多行注释:Ctrl + Shift+ /   格式化当前行:Ctrl +Alt + I 格式化所有:CtrlAlt + L   上、下移动代码:Ctrl+ Shift + ↑↓ Alt + Shift + ↑↓ 类继承关系:Ctrl +H   ...

    一.快捷键:

    单行注释:Ctrl + /

    多行注释:Ctrl + Shift+ /

     

    格式化当前行:Ctrl +Alt + I

    格式化所有:CtrlAlt + L

     

    上、下移动代码:Ctrl+ Shift + ↑↓   Alt + Shift + ↑↓

    类继承关系:Ctrl +H

     

    抽取方法:Ctrl + Alt+ M       

    抽取变成员:Ctrl +Alt + F

    抽取局部变量:Ctrl +Alt + V

    抽取常量:Ctrl +Alt + C

    大小写转换:Ctrl +Shift + U

     

    复制文件:F5

    重命名:Shift + F6

     

    实现抽象方法:Ctrl +I (Implements)

    覆盖方法:Ctrl + O(Override)

     

    查看方法参数提示:Ctrl+ P

    查看文档说明:Ctrl +Q

    查看方法代码:Ctrl +Shift + I

    查看方法在哪被使用了:alt+ F7

    查看方法的层次调用:Ctrl+ Alt + H (Hierarchy Callers of requestData)

    查看子类:Ctrl +Alt + B

    高亮选择的代码块:Ctrl+ Shift + F7    取消高亮:按两下Esc

    查看当前Activity对应的布局,或者当前布局对应的Activity:Ctrl + Alt + Home

    折叠代码:

    l  Ctrl + +/-,折叠光标当前

    l  Ctrl + Shift + +/-,折叠整个类

     

    代码提示:Ctrl + Shift + 空格

     

    在当前光标下面插入一行空行:Sift + Enter

    在当前光标上面插入一行空行:Ctrl + Alt + Enter

     

    语句补全:Ctrl + Shift +Enter,如输入if后按这个快捷键,得到如下:

    if () {
    }

     

    代码补全:Enter和Tab区别:


    区别:

     按Enter的效果


    按Tab的效果,直接把之前的toString给覆盖了

     

    全屏代码窗口:Shift+ F12

     

    打开类:Ctrl + N

    Ctrl + F12,快速定位方法或者变量,在输入方法时可以使用单词首字母,如oCr查找到onCreate方法

    打开资源文件:双击Shift

    在布局预览中,选择控件按下Ctrl + B进入到该控件的xml位置

    在使用Alt+Insert  常用:(Gsonformat的使用)


    打开最近编辑过的文件:Ctrl+ Shift + E (Recently Edited Files)

    打开最近访问过的文件:Ctrl+ E (Recent Files)

    例如: Activity中打开清单文件


    findViewById快捷输入


    第二:代码模板

    1、空判断

    模板1:


     结果:


    模板2:(if null)


    结果:


    2、非空判断

    模板1:(not null)

     

    结果:


    模板2:(if not null)

     

    结果:



    3、抛出一个异常生成常量

            

            


    4、查找控件

     

    结果效果:


    5、设置为gone、visible




    6、运行到UI线程

            



    7、显示Toast

            

    8、给View添加构造方法

       




    9、TODO

            

    结果展示:


    10、FIXME

            

    结果展示:


    11、Log

            

    结果展示:

    输出方法名:

    结果展示:


     

    12、xml命名空间

            

    结果展示:


    13、xml控件的宽高

         

    14、循环

             创建迭代循环

            

    结果展示:



    迭代数组元素(itaterate array)



    结果展示:



    迭代集合元素(itaterate collection)


     

    结果展示:


    迭代List元素(itaterate list)


     

    结果展示:


    增强for循环(迭代可迭代 iterate iterable)



    结果展示:


     

     

    迭代一个迭代器(iterate iterable)


     

    结果展示:


     

    反过来迭代数组(reverse iterate array)


     

    结果展示:


    15、获取单例方法

            

    结果展示:


    16、类型判断(instanceof)

            

    结果展示:


    17、main方法(public static void main)

         

    结果展示:

       

    18、变量声明

           

    结果展示:

    19、快速生成get/set方法

    get结果展示:

    set结果展示:




    展开全文
  • 刚才在Eclipse3.2上写东西,我写好的注释,整整齐齐的,我一格式化代码,就得七七八八的了. 试着在Perferences里搜索了一下commnet,找到了一个Formatter的配置项, Java->Code Style->...
    eclipse不格式化注释 - [自写]
    2007-08-15

    刚才在Eclipse3.2上写东西,我写好的注释,整整齐齐的,我一格式化代码,就变得七七八八的了.

    试着在Perferences里搜索了一下commnet,找到了一个Formatter的配置项,

    Java->Code Style->Formatter 点击Edit 后在Tab上选择Comments,将General settings中的"Enable comment formatting"前面的勾去掉就可以了.

    说起来很惭愧,这个问题困扰我有段时间了,总是懒得去找,今天勤快了一下,呵呵.





    1. Ctrl+O

    查看一个类的纲要,列出其方法和成员变量。提示:再多按一次Ctrl+O,可以列出该类继承的方法和变量。

    助记:"O"--->"Outline"--->"纲要"

    2. Ctrl+T

    查看一个类的继承关系树,是自顶向下的,再多按一次Ctrl+T, 会换成自底向上的显示结构。

    提示:选中一个方法名,按Ctrl+T,可以查看到有这个同名方法的父类、子类、接口。

    助记:"T"------->"Tree"----->"层次树"


    3.Ctrl+Alt+H

    如果你想知道一个类的方法到底被那些其他的类调用,那么请选中这个方法名,然后按“Ctrl+Alt+H”,Eclipse就会显示出这个方法被哪些方法调用,最终产生一个调用关系树。

    助记:"H"--->"Hierarchy"--->"调用层次"

    4.Ctrl+D
    删除当前行


    下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

    Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)

    Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)

    Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

    Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)

    Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)

    Alt+Shift+I 合并变量(可能这样说有点不妥Inline)
    Alt+Shift+V 移动函数和变量(不怎么常用)
    Alt+Shift+Z 重构的后悔药(Undo)

    ------------------------------------------------------------------------------------------------------------------------------------------------

    F2: 类或者方法,查看注释。
    F3: 类或者方法,查看源码(同:Ctrl+鼠标左键)
    F4: 类,查看在类库中的继承层次。
    F5:调试时单步跳入。
    F6:调试时单步跳过。
    F8:调到下一个断点,如果没有,则执行完毕。
    F11:快速运行最新运行过的程序(调试状态)。
    F12:激活编辑器。
    Ctrl + Shift + G: 类或者方法,查看在其它地方的用法。
    Ctrl + Shift + T: 打开按名称查找类的对话框。
    Ctrl + Shift + R:打开资源对话框。
    Ctrl + Shift + F: 代码格式化。
    Ctrl + Shift + O: 快速导入import的包。
    Ctrl + Shift + L:显示当前平台的全部快捷键。
    Shift + Alt + R: 类或方法、变量,重命名
    Ctrl + T: 方法,查看实现该方法的类及其父类。
    Ctrl + O: 查看当前编辑器中打开的类中定义的方法。
    Ctrl + J: 在编辑器中查找某个字符串,然后"Ctrl + K",查找下一个。

    Ctrl + D: 删除当前光标所在的一行。
    Ctrl + F:打开"Find/Replace"对话框。
    Ctrl + H:打开“Search”对话框。
    Ctrl + L:打开“Go to Line”对话框。
    Ctrl + N:打开New Wizard对话框。
    Ctrl + Q: 回到最后一次编辑的地方。
    Ctrl + M:最大化/最小化编辑器窗口。
    Ctrl + /:注释/取消注释
    Ctrl + 1:显示快速重构方案。
    Alt + /: 补足类名或者方法名
    Shift + Alt + Q,  Q: 打开视图框。
    Shift + Alt + Q, L: 打开"Error Log"视图。
    Shift + Alt + Q,P:打开“Package Explorer"视图。
    Alt +S,V: 打开Override对话框。
    双击左括号:选中括号中的全部内容。

    ------------------------------------------------------------------------------------------------

    编辑相关快捷键

    Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。

    • 【ALT+/】:为用户提供内容的辅助,当你记不全类、方法和属性的名字时可以用
    • 【Ctrl+O】:显示类中方法和属性的大纲,并能快速定位类的方法和属性
    • 【Ctrl+/】:快速添加、取消注释
    • 【Ctrl+D】:删除当前行
    • 【Ctrl+M】:窗口最大化和还原

    查看和定位快捷键

    在程序中,迅速定位代码的位置,快速找到Bug的所在,是非常不容易的事,Eclipse提供了强大的查找功能,可以利用如下的快捷键帮助完成查找定位的工作。

    • 【Ctrl+K】、【Ctrl++Shift+K】:快速向下和向上查找选定的内容,从此不再需要用鼠标单击查找对话框了
    • 【Ctrl+Shift+T】:查找工作空间(Workspace)构建路径中的可找到Java类文件,不要为找不到类而痛苦,而且可以使用“*”、“?”等通配符
    • 【Ctrl+Shift+R】:查找工作空间(Workspace)中的所有文件(包括Java文件),也可以使用通配符
    • 【Ctrl+Shift+G】:查找类、方法和属性的引用
    • 【Ctrl+Shift+O】:快速生成import,当从网上拷贝一段程序后,不知道如何import进所调用的类,可以使用这个功能
    • 【Ctrl+Shift+F】:格式化代码
    • 【ALT+Shift+W】:查找当前文件所在项目中的路径,可以快速定位浏览器视图的位置,如果想查找某个文件所在的包时,此快捷键非常有用(特别在比较大的项目中)
    • 【Ctrl+L】:定位到当前编辑器的某一行,对非Java文件也有效
    • 【Alt+←】、【Alt+→】:后退历史记录和前进历史记录,在跟踪代码时非常有用,用户可能查找了几个有关联的地方,但可能记不清楚了,可以通过这两个快捷键定位查找的顺序
    • 【F3】:快速定位光标位置的某个类、方法和属性
    • 【F4】:显示类的继承关系,并打开类继承视图

    调试快捷键

    Eclipse中有如下一些和运行调试相关的快捷键。

    • 【Ctrl+Shift+B】:在当前行设置断点或取消设置的断点
    • 【F11】:调试最后一次执行的程序
    • 【Ctrl+F11】:运行最后一次执行的程序
    • 【F5】:跟踪到方法中,当程序执行到某方法时,可以按【F5】键跟踪到方法中
    • 【F6】:单步执行程序
    • 【F7】:执行完方法,返回到调用此方法的后一条语句
    • 【F8】:继续执行,到下一个断点或程序结束

    其他快捷键  

    Eclipse中还有很多快捷键,无法一一列举,用户可以通过帮助文档找到它们的使用方式,另外还有几个常用的快捷键如下。

    • 【Ctrl+F6】:切换到下一个编辑器
    • 【Ctrl+Shift+F6】:切换到上一个编辑器
    • 【Ctrl+F7】:切换到下一个视图
    • 【Ctrl+Shift+F7】:切换到上一个视图
    • 【Ctrl+F8】:切换到下一个透视图
    • 【Ctrl+Shift+F8】:切换到上一个透视图
    展开全文
  • 刚才在Eclipse3.2上写东西,我写好的注释,整整齐齐的,我一格式化代码,就得七七八八的了. 试着在Perferences里搜索了一下commnet,找到了一个Formatter的配置项, Java->Code Style->Formatter 点击...
  • QT常用快捷键

    2019-02-27 21:43:23
    一、常用快捷键 1、帮助文件:F1 (光标在函数名字或类名上,按 F1 即可跳转到对应帮助文档,查看其详细...5、代码注释取消注释:Ctrl + / (选中代码再按快捷键) 6、字体小:Ctrl + 鼠标滚轮向上向...
  • Myeclipse快捷键

    2015-09-06 14:50:49
    Myeclipse快捷键 在调试程序的时候,我们经常需要注释一些代码,在用Myeclipse编程时,就可以用 Ctrl+/ 为选中的一段代码...这样的快捷键确实让我们编程得容易多了。  诸于此类的快捷方式,是利用Myeclipse
  • qt creator 快捷键

    2020-09-29 11:38:01
    qt creator 快捷键 Qt Creator如何进行高级查找(或全工程查找) 高级查找位置:edit - find/replace - advanced find - open advanced find ...5)代码注释取消注释:Ctrl + / (选中代码再按快捷键) 6)字体
  • Ctrl + /ctrl+/: 用来注释本行注:当年老师写代码,直接一行代码变注释,给我看的热血沸腾,怎么键盘就响了一声代码变注释了,后来知道这是快捷键,嘿嘿,我也要出去嘚瑟了2. Ctrl + FCtrl+F:查找替换工具注:主要...
  • Qt常用快捷键

    2020-06-01 00:42:50
    代码注释取消注释:Ctrl + /(选中代码再按快捷键) 字体小:Ctrl + 鼠标滚轮向上向下 移动代码:选中所要移动的代码 -> 按住 ctrl + shift -> 键盘方向键 查找替换关键字:ctrl
  • myeclipse 代码格式化快捷键是:ctrl+shift+F,bing输入法简体、繁体切换也是,于是蛋疼的事情出现了,当我写一坨代码,再格式化,再写注释繁体了,我百思不得其解,最近刚发现。。。使用这个输入法的,留心下。...
  • Eclipse快捷键

    2018-12-25 21:34:00
    eclipse快捷键 alt + / 内容助理 ctrl+1 快速修复 万能建 ctrl + shift + o 快速导包 ctrl + shift + F 格式化代码 alt + 方向键 主要是用来查看源码用的 ctrl + shift + / 注释 ctrl + shift + X ...
  • myeclipse快捷键

    2016-03-15 07:10:11
    在调试程序的时候,我们...这样的快捷键确实让我们编程得容易多了。  诸于此类的快捷方式,是利用Myeclipse进行Java开发程序的必备武器,可以让同学们在使用Myeclipse进行编程的时候灵活自如,充分享受编程的乐趣
  • phpstorm快捷键

    2016-08-19 18:27:00
    phpstorm常用快捷键:ctrl+shift+n 查找文件ctrl+j 插入活动代码提示//ctrl+alt+t 当前位置插入环绕代码alt+insert 生成代码菜单ctrl+q 查看代码注释//ctrl+d 复制当前行ctrl+y 删除当前行//shift+F6 重命名ctrl+...
  • MyEclipse快捷键

    2015-01-22 21:11:08
    在调试程序的时候,我们...这样的快捷键确实让我们编程得容易多了。  诸于此类的快捷方式,是利用Myeclipse进行Java开发程序的必备武器,可以让同学们在使用Myeclipse进行编程的时候灵活自如,充分享受编程的乐趣。
  • Myeclipse 快捷键

    2014-08-18 22:01:56
    在调试程序的时候,我们...这样的快捷键确实让我们编程得容易多了。 诸于此类的快捷方式,是利用Myeclipse进行Java开发程序的必备武器,可以让同学们在使用Myeclipse进行编程的时候灵活自如,充分享受编程的乐趣。
  • QtCreator常用快捷键

    2019-04-28 14:46:28
    1)帮助文件:F1 (光标在函数名字或类名上,按 F1 即可跳转到对应帮助...5)代码注释取消注释:Ctrl + / (选中代码再按快捷键) 6)字体小:Ctrl + 鼠标滚轮向上向下 7)移动代码:选中所要移动的代码 -...
  • 常用qt快捷键及其更改

    千次阅读 2016-11-20 23:12:24
    常用qt快捷键及其更改 Qt工具使用,要熟练使用,加以熟悉和练习就会喜爱上这些快捷键. 1)帮助文件:F1 (光标在函数名字或类名上,按 F1 即可跳转到对应帮助文档,查看...Ctrl + / (选中代码再按快捷键) 6)字体
  • Java快捷键

    2017-08-05 16:34:52
    注释代码 Ctrl+/ 取消注释 Ctrl+(Eclipse3已经都合并到Ctrl+/了) 代码辅助 Alt+/ 快速修复 Ctrl+1 代码格式化 Ctrl+Shift+f 整理导入 Ctrl+Shift+o 切换窗口 Ctrl+f6 ctrl+shift+M 导入未引用的包 ...
  • WebStorm快捷键

    2018-06-10 08:33:00
    在一句代码前面用 ctrl+/ 可以自动注释和撤销注释,js,html都可以,很好的省去了敲注释符的时间 (mac下为command+/,下同) 2 自动补全html标签 我们知道在使用linux命令的时候按tab键有自动补全的功能,在很多...
  • CodeBlock快捷键

    2016-10-16 20:42:46
    • 按住Ctrl滚滚轮,代码的字体会随你心意小。 • 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦;相关设置:Mouse Drag Scrolling。 • Ctrl+D可复制当前行或选中块。 • Ctrl+Shift+C...
  • codeblocks快捷键

    2016-05-26 21:45:07
    • 按住Ctrl滚滚轮,代码的字体会随你心意小。 • 在编辑区按住右键可拖动代码,省去拉(尤其是横向)滚动条之麻烦;相关设置:Mouse Drag Scrolling。 • Ctrl+D可复制当前行或选中块。 • Ctrl+Shift+C...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 248
精华内容 99
关键字:

代码变注释快捷键