原文 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. asp.net iis URLRewrite 实现方法详解

    原文 asp.net iis URLRewrite 实现方法详解 实现非常简单首先你要在你的项目里引用两个dll:actionlessform.dll.urlrewriter.dll,真正实现重写的是 ...

  2. Windows 7如何建立一个FTP的快捷方式

    原来,使用Windows XP的时候,在IE6的地址栏里输入FTP服务器的地址,就可以打开一个资源管理器的界面来管理文件.但是,随着IE的版本的提升或是装了Windows 7,原来的这种方法就不能用了 ...

  3. hdu 4714 Tree2cycle dp

    用树形dp做的,dp[t][i]表示t及其孩子入度都已经小于等于2并且t这个节点的入度等于i的最优解. 那么转移什么的自己想想就能明白了. 关键在于这个题目会暴栈,所以我用了一次bfs搜索出节点的顺序 ...

  4. Atitit.软件仪表盘(2)--vm子系统--资源占用监測

    Atitit.软件仪表盘(2)--vm子系统--资源占用监測 1.  Jvisualvm.exe 2. jprofile 3. Heap //permgen   monitor 作者::老哇的爪子At ...

  5. Delphi中获取某类的祖先类及其所在单元名称(使用GetTypeData(PClass.ClassInfo)函数,并且该类是从TPersistent类的派生类才可以这么使用)

    前几天在CSDN社区看到一篇<如何得到自身单元名称>的帖子,其中一位名为sdzeng网友给出了答案.受此启发,自己写了一个函数,用来获取指定类的所有祖先类的名称及其所在的单元名称. //参 ...

  6. 14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory

    14.5.5 Creating a File-Per-Table Tablespace Outside the Data Directory 创建一个File-Per-Table Tablespace ...

  7. 编写在浏览器中不弹出警告的ActiveX控件

    我们在编写ActiveX控件时,如果用在浏览器中,经常都会弹出现在运行的脚本不安全的提示, 如果给客户使用,将会带来极大不便.按照MSDN的介绍通常有两种一种是实现IObjectSafe接口,一种是通 ...

  8. md5增加指定的加密规则,进行加密

    import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.securit ...

  9. 11 款最好 CSS 框架 让你的网站独领风骚

    网页设计和发展领域已经成为竞争激烈的虚拟世界.想要在网络的虚拟世界中生存,仅有一堆静止的在线网络应用是远远不够的,网页必须要有很多功能,配以让人无法抗拒的设计.网页编码一定要合适.精确,才能保证不发生 ...

  10. rsync使用指南

    考虑到服务器数据的安全,我考虑增加一台备份服务器,通过数据同步,达到较好的冗余. linux下有非常好的一个命令rsync可以实现差异备份,下面就说说它的用法:ubuntu缺省安装的安装中,rsync ...