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 + / 可以出现代码提示. 默认的只有输入“ .” 以后才会有代码补全提示,可作如 ...
随机推荐
- Android ListView 单条刷新方法实践及原理解析
对于使用listView配合adapter进行刷新的方法大家都不陌生,先刷新adapter里的数据,然后调用notifydatasetchange通知listView刷新界面. 方法虽然简单,但这里面 ...
- Oracle判断指定列是否全部为数字
select nvl2(translate(name,'\1234567890 ', '\'),'is characters ','is number ') from customer_inf ...
- Effective C++_笔记_条款07_为多态基类声明virtual析构函数
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 这个规则只适用于polymorphic(带多态性质的)base ...
- 如何在一个jpg图片上面叠加文字
1.将jpg转为bmp格式 2.在bmp文件上写上所需文字 3.将写入文字的bmp文件重新转为jpg格式 http://dev.csdn.net/develop/article/22/22948.sh ...
- hdu3986Harry Potter and the Final Battle
给你一个无向图,然后找出当中的最短路, 除去最短路中的随意一条边,看最糟糕的情况下, 新的图中,第一个点到末点的最短路长度是多少. 我的做法是: 首先找出最短路,然后记录路径, 再一条一条边的删, 删 ...
- 移动开发的框架(用Firepower,不用listview,超快) good
我是通过http传送xml后台是阿帕奇的http server,后台可以用delphi或php 都可以.用post 刚才试了试自带的TNetHttpClient,感觉还好,代码封装也不算深,收发数据也 ...
- <一年成为Emacs高手>更新到20130706版
这次更新比较多,加了第三方精品插件推荐,添加了我认为不错的Emacs社区. 见 原文
- VK Cup 2012 Qualification Round 1---C. Cd and pwd commands
Cd and pwd commands time limit per test 3 seconds memory limit per test 256 megabytes input standard ...
- 【COCOS2DX-游戏开发之三三】TMX边界控制与小窗体内预览TMX
做一款像素游戏,须要确定地图的边界.保证人物的位置位于屏幕中央.到达地图左边界.地图位置不变.人向左走,到达右边界,地步位置不变,人向右走 如:地图左边.右边,上边空出的边界.还有下方留出操作butt ...
- QT 多线程程序设计(也有不少例子)
QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编 ...