NetBeans中的代码清理


83

NetBeans中是否有类似于Eclipse清理规则(“首选项”>“ Java”>“代码样式”>“清理”)的内容?

eclipse中的清理规则将允许您清理诸如组织导入,删除不必要的强制转换,添加缺少的覆盖注释等内容。

您还可以对整个类/包而不是单个类进行操作吗?


3
我增加了赏金,希望有人能知道插件或其他方式。我真的很想念我的Eclipse清理选项。
本·霍金

如下所述,有一些方法可以清理单个源代码文件的某些方面。我怀疑NetBeans是否会引入“修复我的所有文件”功能,因为对每个文件的更改可能取决于对先前文件的更改,因此NetBeans将需要优先确定首先要修复的文件并在修复时编译文件。他们。
丹尼尔(Daniel)

@Daniel:这些“修补程序”的性质通常很小:剥离空格,添加@Override标签,组织导入,删除不必要的强制转换,删除未使用的变量等。即,它们是不具有功能影响的修补程序,因此它不应该不管什么顺序他们的应用。
本·霍金

Answers:


90

Refactor > Inspect and Transform

NetBeans中是否有类似于Eclipse清理规则((首选项> Java>代码样式>清理)的内容?

在NetBeans 8.0中,强大的批处理工具是Refactor> Inspect and Transform。请参阅教程页面,在NetBeans IDE Java编辑器中进行检查和转换重构

也可以使用各个工具:

  • 修复导入
    对于单个文件,名称空间或项目(取决于在“项目”窗口中选择的内容或具有焦点的对象):源>组织导入(以排序和删除未使用的导入)或源>修复导入(以排序,删除未使用的导入,并添加缺少的导入)。或在每次保存期间:工具>选项>编辑器>保存时>组织导入。

  • 删除尾部空格
    对于单个文件(将carret放置在代码文件中):源>删除尾部空格。或在每次保存期间:工具>选项>编辑器>保存时>删除尾随空白。

  • 代码格式
    对于单个文件,名称空间或项目:源>格式。(在中自定义规则Tools > Editor > Formatting)。您还可以安装一个名为Jindent的插件(我自己没有使用过)。或在每次保存期间:Tools > Options > Editor > On Save > Reformat

默认情况下,Netbeans将在有问题的代码行旁边和滚动条中显示提示图标,使您可以根据需要执行自动修复。这些可以通过配置Tools > Options > Editor > Hints。Netbeans可以使用“源代码”>“检查”来搜索项目中的所有问题。或者,重申一下,其中许多问题可以通过批量解决Refactor > Inspect and Transform


凉。谢谢。随着时间的流逝,NetBeans倾向于包括新的工具和实用程序,以加速和促进编码到核心发行版中。好的插件通常会集成到核心中。每个版本都提供新的插件。我相信全自动化功能将提供迟早...
杰罗姆Verstrynge

4
作为对此答案的更新,递归格式是在Netbeans中本地实现的(是!)。只需在包查看器中选择“源包”,然后转到“源”>“格式”。它不会做的唯一的事情就是清理进口
TheLQ

是否有用于检查和转换以及如何设置的快捷方式
shareef 2016年

我花了一点时间才意识到,选择之后Inspect and Transform(在我的8.2 Netbeans中,右键单击该项目后,它直接显示为选项;没有Refactor以前的菜单),我不得不选择Use: Configuration: Organize ImportsManage...如果没有直接出现,请单击按钮。在下拉列表中,有数十种“检查”可应用于您的代码!
Pere

22

NetBeans中Eclipse的“代码清理”等效于“格式”。在“源代码”>“格式”下,键盘快捷键是Alt + Shift + F(在Windows上)。不幸的是,与Eclipse不同,它似乎无法在NetBeans中进行配置。


8
Eclipse具有两个独立的功能:代码格式和代码清除。NetBeans Source-Format仅与Code-Format等效-甚至在这里也没有功能强大。它绝不能与Eclipse Code-Cleanup相提并论。不知道您如何对这个错误的答案进行投票。
马丁2010年

9
在netbeans中用于Code-formate alt + shift + f和import ctrl + shift + i。这适用于单个文件。对于所有文件,没有任何功能。
拉维·帕雷克

即使使用格式代码,您也无法将列宽设置为您想要的代码行扩展长度。我的意思是,如果您有200列宽,netbean将设置为一行,直到您手动进行Enter
拉维·帕雷克

@RaviParekh工具>选项>编辑器>格式设置>换行中的选项在那里,但是我发现它没有生效。虫子?
Aleksandr Dubinsky 2014年



2

工具->选项->选项卡“编辑器”->选项卡“提示”->在JComboBox中选择Java(正在谈论)

然后您会看到黄色的海洋……,从6.9版开始又好又快


这会通知您代码中可能存在的问题(并且非常有用),但是我们正在寻找的是一种自动修复此类问题的选项,可以使用一个命令来修复文件中的所有问题(或者更好的方法是一组文件),或在保存时自动保存。Eclipse具有这两个选项。我经常使用它来自动填写缺少的@Override语句,组织导入并消除尾随空格。
本·霍金

@Ben Hocking :-)我不想做某事...并且自动,因为在某些情况下,(某些情况下)有多个选项来自提示,您可以从Items中选择“更好”,以及如何自动进行可以选择并知道更好的选择...,瞧瞧我开始了FlameWar ...
mKorbel

@mKorbel:自动修复的项目与警告不同,正如您指出的那样,您不希望它们被修复。通常,“自动”是琐碎的事情,例如组织导入并消除尾随空格,以及稍大的事情(例如添加缺少的@Override(如果其他人使用Java 1.5编译,则可能会破坏代码))。关键是,它可以根据您的提示进行单独配置,并且您可以根据自己的喜好进行任意设置。“保存时清除代码”也比按要求进行清除更危险。
本·霍金

@Ben Hocking,但我从未在用Eclipse或Netbeans写得更好还是更舒适之间做出区分
mKorbel

1
可以进行很多区分,但是两个IDE的用户都将从另一个IDE的学习技巧中受益。例如,我真的很喜欢使用Netbeans的cobertura多么容易。尽管也可以从Eclipse进行,但是还需要更多步骤。当然,也存在更重要的差异。
本·霍金

1

我知道netbeans会自动指出这些内容,但我不知道仅仅指出这些内容。


2
6.5版在行内显示一个小灯泡图标,如果您单击它,将建议修复(例如,添加“覆盖”注释,删除未使用的导入等)。
ssakl

0

我不知道如何整体执行此操作,但是如果您从源文件中删除所有导入,然后右键单击源编辑器,则可以选择修复导入。这将按字母顺序为您导入所有类,并询问何时遇到包歧义。

正如Soldier.moth指出的那样,Netbeans将通过使用源左侧的灯泡来指出其他问题,例如强制转换和覆盖注释。



0

如果只想使代码在整个项目中具有适当的缩进,只需单击项目名称,转到“源”,然后单击“格式”。希望这可以帮助!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.