原文 Netbeans源代码编辑技巧——使用代码补全和代码生成

使用代码补全生成代码

一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字。截至 NetBeans IDE 6.0,您现在甚至可以用代码补全来生成整个方法。例如,您想生成一个构造器,覆盖方法,或者实现方法,代码补全是很有用的。稍后,我们也将来看看 NetBeans 6.0 代码补全的其它一些有趣的特性,例如使用代码生成对话框生成任意的构造器。

首先我们来看看一个表示电子邮件的 JavaBean 的编写。包含了用来存储数据的私有字段的 bean 框架已经为我们准备好了,我们现在要为它创建一个合理的构造器,如以下过程和演示所示。

使用代码补全来生成一个构造器:

  1. 把光标放置在文件中您想要生成构造器的地方,然后按 Ctrl+Space 键。
  2. 在出现的代码补全窗口中,选择将初始化它的字段的构造器 (例如,Mail(String subject, String body) - 生成)。注意,IDE 给你提供生成默认构造器或者将初始化所有字段的构造器的选项。
  3. 按回车键。 

    IDE 在指定的位置实现您选择的构造器。注意,IDE 同时也可能提供超类方法的覆盖选项或者父接口方法的实现选项。

用代码生成对话框生成代码

IDE 的 Java 编辑器对于生成构造器是很强大的,通常您会自然而然地使用它。在这一节,我们将来看看这个过程。

下一步我们要做的是为字段生成 Getter 和 Setter 方法,并确定我们能将该类用在需要有 equals() 和hashCode() 方法的集合中。通常 IDE 的 Java 编辑器能够自动地生成这种结构。注意,与我们学习的范例过程一样,IDE 的代码生成对话框同样允许您做更多的事,包括创建委托方法,生成初始化任意字段集的构造器,等等。

生成 getter 和 setter 方法:

  1. 按下 Alt+Insert 键呼出代码生成菜单。
  2. 从显示的列表选项中选择您要生成的功能(例如,Getter 和 Setter...)。
  3. 在弹出的对话框中,选择您想要生成 getter 和 setter 方法的字段,点击“确定”按钮。 

    IDE 自动生成 getter 和 setter 方法。

下一步我们要做的是通过 Alt-Insert 键生成一个 Equals 和 Hashcode 方法。

生成 equals 和 hashcode 方法:

  1. 按下 Alt+Insert 键呼出代码生成菜单:
  2. 在弹出的菜单中选择您要生成的项(例如,equals() 和 hashCode()... )。
  3. 在弹出的对话框中,选择您要生成 equals 和 hashCode 方法的字段并点击“确定”按钮。 

    IDE 生成所需的 equals 和 hashcode 方法。

管理 Import 语句

当您点击小灯泡错误标记或者按下适当的组合键时,IDE 的 Java 编辑器提供了几种方法来为一个或多个类添加 import 语句,每种方法都提供了一个可用于导入的类的列表。另外,编辑器也提供了错误提示来帮助您删除源程序中未使用导入语句。

在我们前一节的文件中做了必要的修改后,您会注意到 IDE 在编辑窗的左边显示了一个警告,提示您在我们的文件中存在一个未使用的导入。要修复它,我们可以使用 IDE 中新增的强大的删除未使用的导入命令,我们可以看到它是如何工作的。

删除未使用的导入:

  1. 把光标放在未导入的类所在的行并按下 Alt+Enter 键。您可以在批注条(沿着编辑器的左边缘)上点击警告标志。
  2. 在弹出菜单中选择“删除未使用的导入”。注意,您可以选择从导入段中删除一个或者所有未使用的导入。

    IDE 从文件中删除未使用的导入语句。

IDE 的 Java 编辑器同时提供了管理导入语句的其它几种方法,例如按下 Ctrl+I 键一次性导入多个类型,当光标被放在一个类型上时按下 Alt+I 键可以导入那个具体的类型。

使用编辑器行工具

在此,我们将为用户名和密码创建两个字符型的私有静态字段。使用编辑器的行编辑工具特性,我们快速地复制光标所在的行,并立即复制/粘贴或移动到第一行之下。当要快速地复制或移动拥有大部分相同代码并只有一小部分需要调整的代码行时,例如在初始化一个数组的情况下,这个特性特别有用。这样操作之后,您可以根据需要编辑字段的值。

复制当前行或者多个选定的行:

  1. 将光标放在您要复制的行上或者选择您要复制的多个行。
  2. 按住 Ctrl-Shift 键,然后按“向上”或“向下”键将指定的代码行复制并粘贴到原始行的上方或下方。 

    IDE 将当前行或者多个选定的行复制到了目标位置。

移动当前行或者多个选定的行:

    1. 将光标放在您要移动的行上或者选择您要移动的多个行。
    2. 按住 Alt-Shift 键,然后按“向上”或“向下”键将指定的代码行移动到原始行的上方或下方。 

      IDE 将当前行或者多个选定的行移动到了目标位置。

Netbeans源代码编辑技巧——使用代码补全和代码生成的更多相关文章

  1. Notepad++强大的代码补全和代码提示功能的方法

    最近写项目,经常要打开一些文件去修改一些代码段.那么我的项目都是使用ied大型编辑器去写的,每次修改文件,哪怕是一个标点都要用一分钟时间去打开软件.当然,后来我也考虑到使用记事本,但总感觉不是很爽. ...

  2. [jetbrains系列] 外链第三方库+代码补全设置

    jetbrains系列的IDE真的是太好用了,有种相见恨晚的感觉. 在开发过程中第三方库是必不可少的,在开发的时候如果有一个可以补全的IDE可以节省查文档的时间. 举个例子:给pycharm配pysp ...

  3. vim代码补全-spf13,YouCompleteMe

    vim代码补全 现在的图形界面的IDE(Integrated Development Environment)一般具有语法高亮,语法检查,自动补全功能,大大提高了编程的效率. vim作为文本编辑器其强 ...

  4. Learning Lua Programming (3) iMac下搭建Lua脚本最好的编码环境(代码补全,编译运行)

    这篇文章参考自http://blog.sina.com.cn/s/blog_991afe570101rdgf.html,十分感谢原作者的伟大创造,本人亲测可行. 这篇文章记录一下如何在MAC系统环境下 ...

  5. 在 VsCode 中自定义代码补全

    前言 之前公司的 Vscode 折腾成功过,如今给自己家装一个忘记怎么定义了,故回忆一下写个博文记录 代码补全顾名思义就是输入一两个字母自动提示相关的联想操作,由于VsCode非常精简所以很多联想没有 ...

  6. jupyter notebook安装/代码补全/支持golang 踩坑记

    安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...

  7. vue(element)中使用codemirror实现代码高亮,代码补全,版本差异对比

    vue(element)中使用codemirror实现代码高亮,代码补全,版本差异对比 使用的是vue语言,用element的组件,要做一个在线编辑代码,要求输入代码内容,可以进行高亮展示,可以切换各 ...

  8. vim--golang代码补全

    我想说,我折腾了很久编辑器,试了九种办法 最后我只成功了一种 但我依然想就我混乱的逻辑做下整理 一.一开始,我试图入手ipad编码软件,大概9美金吧,叫Textastic.我试图用它的近亲来试验Tex ...

  9. ADT中的代码补全设置

    设置自动补全代码 刚刚学Android,有很多变量和方法 都不熟悉.需要有提示,才更加方便. 快捷方式:Alt + /    可以出现代码提示. 默认的只有输入“ .” 以后才会有代码补全提示,可作如 ...

随机推荐

  1. 如何将自定义标签封装成一个Jar包

    当我们在一个web应用中开发好一些自定义标签的时候,这些自定义标签通常有标签处理器Java类,和一个描述这些标签tld文件,如果我们想在以后别的web工程中还能用上这些标签,可以将这些自定义标签封装在 ...

  2. 【ASP.NET Web API教程】2.3.6 创建产品和订单控制器

    原文:[ASP.NET Web API教程]2.3.6 创建产品和订单控制器 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 6 ...

  3. Tomcat启动会遇到的问题部分解决方案

    Tomcat的启动不一定会非常的顺利,这可以有多种原因 一.Tomcat是由Java所编写的,因此Tomcat的使用需要JDK的支持,如果没有配置环境变量,Tomcat当然无法启动,最明显的特征就是点 ...

  4. ADODB.Connection 错误 '800a0e7a'

    ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /conn.asp,行 6 因为系统是64位的win7或win8.1所以会出现这个问题,解决方法如 ...

  5. VC添加背景图片 的一种方法

    .如果程序是新建的对话框,要给其添加背景图片的步骤: 1)加入消息函数:afx_msg void OnPaint(); 2)BEGIN_MESSAGE_MAP(QueryDlg, CDialog) O ...

  6. memory引擎的索引失效一例

    memory引擎的索引失效一例 memory引擎的索引失效一例

  7. uva 10581 - Partitioning for fun and profit(记忆化搜索+数论)

    题目链接:uva 10581 - Partitioning for fun and profit 题目大意:给定m,n,k,将m分解成n份,然后依照每份的个数排定字典序,而且划分时要求ai−1≤ai, ...

  8. javascript (四) 改变html样式

    <h1 id="domo"> this is testing test</h1> <script> function changecolor() ...

  9. html怎么引用css

    <head> <title>统一站内风格</title> <link rel="stylesheet" type="text/c ...

  10. Delphi主窗口任务栏菜单的问题(转发WM_SYSCOMMAND到Application)

    Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口为窗口,这就导致创始的主窗口在任务栏的系统菜单只有三项,只要在主窗口的Create事件 ...