Netbeans源代码编辑技巧——使用代码补全和代码生成
原文 Netbeans源代码编辑技巧——使用代码补全和代码生成
使用代码补全生成代码
一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字。截至 NetBeans IDE 6.0,您现在甚至可以用代码补全来生成整个方法。例如,您想生成一个构造器,覆盖方法,或者实现方法,代码补全是很有用的。稍后,我们也将来看看 NetBeans 6.0 代码补全的其它一些有趣的特性,例如使用代码生成对话框生成任意的构造器。
首先我们来看看一个表示电子邮件的 JavaBean 的编写。包含了用来存储数据的私有字段的 bean 框架已经为我们准备好了,我们现在要为它创建一个合理的构造器,如以下过程和演示所示。
使用代码补全来生成一个构造器:
- 把光标放置在文件中您想要生成构造器的地方,然后按 Ctrl+Space 键。
- 在出现的代码补全窗口中,选择将初始化它的字段的构造器 (例如,
Mail(String subject, String body) - 生成)。注意,IDE 给你提供生成默认构造器或者将初始化所有字段的构造器的选项。 - 按回车键。
IDE 在指定的位置实现您选择的构造器。注意,IDE 同时也可能提供超类方法的覆盖选项或者父接口方法的实现选项。
用代码生成对话框生成代码
IDE 的 Java 编辑器对于生成构造器是很强大的,通常您会自然而然地使用它。在这一节,我们将来看看这个过程。
下一步我们要做的是为字段生成 Getter 和 Setter 方法,并确定我们能将该类用在需要有 equals() 和hashCode() 方法的集合中。通常 IDE 的 Java 编辑器能够自动地生成这种结构。注意,与我们学习的范例过程一样,IDE 的代码生成对话框同样允许您做更多的事,包括创建委托方法,生成初始化任意字段集的构造器,等等。
生成 getter 和 setter 方法:
- 按下 Alt+Insert 键呼出代码生成菜单。
- 从显示的列表选项中选择您要生成的功能(例如,
Getter 和 Setter...)。 - 在弹出的对话框中,选择您想要生成 getter 和 setter 方法的字段,点击“确定”按钮。
IDE 自动生成 getter 和 setter 方法。
下一步我们要做的是通过 Alt-Insert 键生成一个 Equals 和 Hashcode 方法。
生成 equals 和 hashcode 方法:
- 按下 Alt+Insert 键呼出代码生成菜单:
- 在弹出的菜单中选择您要生成的项(例如,
equals() 和 hashCode()...)。 - 在弹出的对话框中,选择您要生成 equals 和 hashCode 方法的字段并点击“确定”按钮。
IDE 生成所需的 equals 和 hashcode 方法。
管理 Import 语句
当您点击小灯泡错误标记或者按下适当的组合键时,IDE 的 Java 编辑器提供了几种方法来为一个或多个类添加 import 语句,每种方法都提供了一个可用于导入的类的列表。另外,编辑器也提供了错误提示来帮助您删除源程序中未使用导入语句。
在我们前一节的文件中做了必要的修改后,您会注意到 IDE 在编辑窗的左边显示了一个警告,提示您在我们的文件中存在一个未使用的导入。要修复它,我们可以使用 IDE 中新增的强大的删除未使用的导入命令,我们可以看到它是如何工作的。
删除未使用的导入:
- 把光标放在未导入的类所在的行并按下 Alt+Enter 键。您可以在批注条(沿着编辑器的左边缘)上点击警告标志。
- 在弹出菜单中选择“删除未使用的导入”。注意,您可以选择从导入段中删除一个或者所有未使用的导入。
IDE 从文件中删除未使用的导入语句。
IDE 的 Java 编辑器同时提供了管理导入语句的其它几种方法,例如按下 Ctrl+I 键一次性导入多个类型,当光标被放在一个类型上时按下 Alt+I 键可以导入那个具体的类型。
使用编辑器行工具
在此,我们将为用户名和密码创建两个字符型的私有静态字段。使用编辑器的行编辑工具特性,我们快速地复制光标所在的行,并立即复制/粘贴或移动到第一行之下。当要快速地复制或移动拥有大部分相同代码并只有一小部分需要调整的代码行时,例如在初始化一个数组的情况下,这个特性特别有用。这样操作之后,您可以根据需要编辑字段的值。
复制当前行或者多个选定的行:
- 将光标放在您要复制的行上或者选择您要复制的多个行。
- 按住 Ctrl-Shift 键,然后按“向上”或“向下”键将指定的代码行复制并粘贴到原始行的上方或下方。
IDE 将当前行或者多个选定的行复制到了目标位置。
移动当前行或者多个选定的行:
- 将光标放在您要移动的行上或者选择您要移动的多个行。
- 按住 Alt-Shift 键,然后按“向上”或“向下”键将指定的代码行移动到原始行的上方或下方。
IDE 将当前行或者多个选定的行移动到了目标位置。
Netbeans源代码编辑技巧——使用代码补全和代码生成的更多相关文章
- Notepad++强大的代码补全和代码提示功能的方法
最近写项目,经常要打开一些文件去修改一些代码段.那么我的项目都是使用ied大型编辑器去写的,每次修改文件,哪怕是一个标点都要用一分钟时间去打开软件.当然,后来我也考虑到使用记事本,但总感觉不是很爽. ...
- [jetbrains系列] 外链第三方库+代码补全设置
jetbrains系列的IDE真的是太好用了,有种相见恨晚的感觉. 在开发过程中第三方库是必不可少的,在开发的时候如果有一个可以补全的IDE可以节省查文档的时间. 举个例子:给pycharm配pysp ...
- vim代码补全-spf13,YouCompleteMe
vim代码补全 现在的图形界面的IDE(Integrated Development Environment)一般具有语法高亮,语法检查,自动补全功能,大大提高了编程的效率. vim作为文本编辑器其强 ...
- Learning Lua Programming (3) iMac下搭建Lua脚本最好的编码环境(代码补全,编译运行)
这篇文章参考自http://blog.sina.com.cn/s/blog_991afe570101rdgf.html,十分感谢原作者的伟大创造,本人亲测可行. 这篇文章记录一下如何在MAC系统环境下 ...
- 在 VsCode 中自定义代码补全
前言 之前公司的 Vscode 折腾成功过,如今给自己家装一个忘记怎么定义了,故回忆一下写个博文记录 代码补全顾名思义就是输入一两个字母自动提示相关的联想操作,由于VsCode非常精简所以很多联想没有 ...
- jupyter notebook安装/代码补全/支持golang 踩坑记
安装(不要用root) 安装anaconda3,然后ln -s bin目录下的jupyter命令到/usr/bin目录下 生成密码备用 敲ipython进入交互终端 In [1]: from note ...
- vue(element)中使用codemirror实现代码高亮,代码补全,版本差异对比
vue(element)中使用codemirror实现代码高亮,代码补全,版本差异对比 使用的是vue语言,用element的组件,要做一个在线编辑代码,要求输入代码内容,可以进行高亮展示,可以切换各 ...
- vim--golang代码补全
我想说,我折腾了很久编辑器,试了九种办法 最后我只成功了一种 但我依然想就我混乱的逻辑做下整理 一.一开始,我试图入手ipad编码软件,大概9美金吧,叫Textastic.我试图用它的近亲来试验Tex ...
- ADT中的代码补全设置
设置自动补全代码 刚刚学Android,有很多变量和方法 都不熟悉.需要有提示,才更加方便. 快捷方式:Alt + / 可以出现代码提示. 默认的只有输入“ .” 以后才会有代码补全提示,可作如 ...
随机推荐
- WebService 之 WSDL文件 解说
恩,我想说的是,是不是常常有人在开发的时候,特别是和第三方有接口的时候,走的是SOAP协议,然后用户给你一个WSDL文件,说依照上面的进行适配,嘿嘿,这个时候,要是你曾经没有开发过,肯定会傻眼,那假设 ...
- Android 保存用户偏好设置
很多情况下都允许用户根据自己的习惯和爱好去设置软件,而我们需要保存这些设置,可以用一个专业保存用户偏好的类:SharedPreferences. 这个类是实现方法其实也就是创建和修改 XML 文件, ...
- C#递归复制文件夹
/// <param name="sources">原路徑</param> /// <param name="dest">目 ...
- 显示出eclipse文件层次
看到图片中右边那个倒三角型符号没, 点一下,弹出个菜单,选package presentation->hierarachial 文件目录结构 flat 是包结构
- 别动我的奶酪:CSV文件数据丢零现象及对策
CSV文件在读入EXCEL时,对于前面有零的数据项,比如电话号码,会自作聪明地丢掉那个零. 比如,我有一个北京客户,其号码为01059178888,如果这是通过CSV文件来的数据,在EXCEL中打开时 ...
- 其他主机连接本地主机Tomcat会出现的防火墙问题
当我在A机上开启Tomcat后,B机上打开浏览器不能访问到Tomcat的服务器,这是由于Windows防火墙的原因 可以由以下两种做法: 关闭Windows防火墙: 如果不想关闭Windows防火墙, ...
- Jexus + Kestrel 部署 asp.net core
结合Jexus + Kestrel 部署 asp.net core 生产环境 ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依 ...
- 控制台程序的参数解析类库 CommandLine
C#控制台程序的参数解析类库 CommandLine简单使用说明 前言 C#开发的控制台程序,默认接收string[] args参数.如果有多个参数需要输入时,可以按照顺序依次输入:但如果有些参数不是 ...
- Delphi/C#之父首次访华:55岁了 每天都写代码
Delphi.C#之父Anders Hejlsberg 近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流.本文就为读 ...
- iOS - NSLog的使用方法
NSLog的定义 NSLog定义在NSObjCRuntime.h中,如下所示: void NSLog(NSString *format, …); 基本上,NSLog很像printf,同样会在conso ...