zoukankan      html  css  js  c++  java
  • java插入代码块

    • 粘贴1:

    当代码写到一定程度之后,就会发现很多代码都被重复地敲了N多遍,甚至毫不夸张地说:闭着眼睛都能敲出来。大量地敲这些重复地代码,除了锻炼敲键盘的速度,基本上没有其他益处,但是长期下来会浪费很多时间,降低了软件开发的效率。例如:为了在程序执行过程中输出logger信息,需要在每个class中都添加这么一段代码:

    [java] view plain copy
     
    1. import org.slf4j.Logger;  
    2. import org.slf4j.LoggerFactory;  
    3.   
    4. public class XXXClass {  
    5.     /** 
    6.      * Logging mechanism. 
    7.      */  
    8.     private static Logger logger = LoggerFactory.getLogger(XXXClass.class);  
    9.       
    10. }  

            这段代码在不同class文件中唯一不同的就是class的名称:XXXClass。一般的人可能会一个字母一个字母地敲一遍;懒一点的人会Ctrl + C和Ctrl + V,然后把XXXClass改一下;聪明人通过几个字母加上一个快捷键就可以搞定。本文就以上面的logger为例,介绍聪明人使用Java Code Template实现的一种更方便快捷的方式。

    1. Template设置

            Eclipse工具栏上选择Window -> Preferences -> Java -> Editor -> Templates,进入如下界面:

            列表中是Eclipse自带的Code Template,最后一栏是“on”的表示有效,没有的表示无效。如果要使自带的Code Template生效,可以选择需要的Code Template,点击“Edit...”,在打开的Edit Template对话框中,选择“Automatically insert”复选框,点击“OK”保存设置就行了。使用这些有效的自带Code Template的方法,与后面演示的logger的使用方法一样。

            点击“New...”可以创建一个新的模板,Template的详细设置如下:

            在需要声明logger的地方,输入模板名称logger,然后按Ctrl + Space快捷键,显示模板logger的提示框如下图所示:

            选择需要添加的模板logger,则模板中的代码会被自动添加,包括import的packages,注释以及logger声明。

    2. Ctrl + Space失效

            在有些情况下,按了Ctrl + Space快捷键之后,没有反应,也不显示提示框。可能存在两种情况:

    • Case 1:没有设置Content Assist快捷键

            Eclipse工具栏上选择Window -> Preferences -> General -> Keys,进入如下快捷键设置界面:

            在编辑框中输入“content assist”,就会自动搜索到“Content Assist”命令,选择它之后,在下面的“Binding”编辑框中输入“Ctrl+Space”,或者直接按Ctrl + Space快捷键,然后点击“OK”。

    • Case 2:Ctrl + Space快捷键冲突

            如果Ctrl + Space已经设置为Content Assist快捷键,但是还是没有效果,可能的原因是Eclipse的Ctrl + Space快捷键与Windows系统中输入法切换的快捷键冲突。将输入法切换的快捷键修改成其他,如下图所示:

    3. Ctrl + Space提示框中没有模板

            如果按了Ctrl + Space之后,提示框中却没有显示模板logger,如下图所示:

            这是因为内容提示(Content Assist)中没有选择模板提示(Template Proposals)。Eclipse工具栏上选择Window -> Preferences -> Java -> Editor -> Content Assist -> Advanced,可以进行如下设置:

            选择两个方框中“Template Proposals”前面的复选框。如果下面方框中的“Template Proposals”不是第一个,可以选择它,然后点击“Up”按钮直到它处于第一的位置,这样每次提示框中第一个就是需要的Code Template。

    • 粘贴2:

    某天在调试代码的时候,虽然是android的project还是习惯的输入syso,然后在ALT+/一下。旁边的同事就问了一下,这个log打印输出的tag是什么。接着又问了为什么syso能够智能联想出这个。第一个问题很好回答,不过对于第二个问题还真答不上来。大学里面第一次见某个学长使用这个技能之后,就默默的记住了,也没有多想是什么回事。这两天留意了一下,原来是类似java代码模版的一个东东。在一想为什么不自己定义android的联想词呢。。。
            步骤一:打开preference,搜索editor,选择java的editor,这个时候找到 sysout就可以看到它的定义了

            
            步骤二:这次我们自定义android的log打印,选择新建,输入如图所示的字符串,注意中间那段类似正则表达式的是模仿sysout的,想来应该是光标移动到这里的意思

             
            步骤三:验证一下,输入loe,按住alt+/,自动生成了如下所示的代码,并且光标还在那里

            
            很快捷有木有,再也不用调试时候输出一句log弄半天了,而且还带有调用栈的功能哦。

    • 我的实践:

     如下代码,

    ${:import(java.util.Scanner)}可以在开头导入包
    "${word_selection}${}"可以定位光标。
     
    ${:import(java.util.Scanner)}
    Scanner scan=new Scanner(System.in);//generate input flu
    System.out.print("${word_selection}${}");//input reminder
    =scan.nextInt();//assignment
    scan.close();

    也可以不加开头一行,直接在开头处按Ctrl+Shift+O 就可以导入缺失的包。

  • 相关阅读:
    XML认识
    servlet清晰理解
    JDBC基本知识
    JSP中的路径
    JavaBean基础
    JSP执行过程详解
    JDBC连接mysql
    JSP简易留言板
    Jmeter性能测试之基础知识(一)
    linux下安装redis并开机自启动
  • 原文地址:https://www.cnblogs.com/TQCAI/p/7620098.html
Copyright © 2011-2022 走看看