任何netbeansfunction,将使我的一天?
由于XDebug集成,我最近变得非常喜欢netbeans ,因为我的php工作。 它使我几乎忘了textmate (哪些imho仍然击败netbeans为小事)
你认为我应该知道的一个令人敬畏的netbeansfunction是什么,更重要的是为什么以及如何使用它?
我要求这样做是为了优化我在使用IDE方面的技能,并且基于这样的观点,即适合他人的方法可能对我(以及其他人)有用。
直接在IDE和本地历史logging Subversion集成是我的必须使用,最喜欢的function。
我发现了另外一个很棒的天才,我想分享一下:
你可以做自定义代码折叠(不是真的有关的PHP,只是netbeans)
把这个放到一个代码文件中:
// <editor-fold defaultstate="collapsed" desc="getters and setters"> some boring code you don't need to see every time here // </editor-fold>
这将在Visual Studio中执行类似于#region
的操作,或者在xcode中执行pragma mark
。 但与region
不同,它不会破坏你的代码的工作,它只是一个评论!
我发现Netbeans for PHP工作中最重要的一个特性就是它理解PHPDoc (就像它理解Javadoc一样),并将其用于提示types。
在函数定义之前键入/**
,返回并创build一个PHPDoc模板。
/** <-- I typed this one line * @param <type> $otherObj <-- Netbeans added these 3 lines * @return <type> <-- */ <-- public function exampleFunction($otherObj) { $myObj = new MyClass($otherObj); return $myObj; }
用适当的typesreplace<type>
placeMarkkers:
/** * @param OtherClass $otherObj * @return MyClass */ public function exampleFunction($otherObj) { $myObj = new MyClass($otherObj); return $myObj; }
瞧,你会得到types完成(和popup文档)与Ctrl空间。
通过jVi插件真棒Vi绑定。
if ($x instanceof SomeClass) { $x->.... // now it has code completion with SomeClass' methods. }
macros和代码模板与高级input!
参数化的代码模板 (尝试在netbeans中inputfnc,然后立即按下Tab键,然后按Tab键看看会发生什么,它是如何在函数名和函数参数中循环的 – 查看代码模板的内容)。 (选项>编辑器>代码模板)
一些简单的例子(我做的一些,有些来自netbeans):
- [forek]展开为:[foreach($ array为$ key => $ value){}](这个是netbeans,其余的我都是这样做的)
- [arr] + Tab扩展为:[array();]
- [kv] + Tab扩展为:['key'=>“val”,](key和val是我可以循环和编辑的参数,代码模板如下所示:['$ {key}'= > $ {val}“,]其中[$ {something}]是一个模板参数,它打印[something],如果你想要打印[$ something]我认为你必须使用三个] $]字符: $$$ {键}])
编辑:你可以用一个单一的字母(如'米'为前例)的代码模板,但是当你键入代码,你必须把一个空格前的字母,否则它不会识别它。 例如:$ obj m [按Tab键]展开为[$ obj – >]。 中间的空间工作正常,不是一个sintax错误。 /编辑
每次我希望有一个模板的东西,我实际上插入模板,然后立即使用它,并继续其余的PHP编程。
作为迷你代码模板的快捷方式的macros ! (Netbeans>菜单>编辑>开始/停止macros录制)
我为php制作的最好的macros实际上是代码模板(因为'+ Tab不能作为代码模板出于某种原因,只有当模板以它工作的字母开头)([shortcut] inserts [text]):
- 快捷键[Ctrl +;]插入[ – >](没有更多的keybooard体操,没有更多的点sintax在其他语言羡慕:))
- 快捷键[Ctrl + Shift +;]插入[=>]
这个链接有很多键盘快捷键,派上用场。 我有一个副本打印出来,固定到我的电脑旁边的墙上。 可悲的是,我没有看到任何特殊的PHP快捷方式。
更新: http ://netbeans.org/project_downloads/usersguide/shortcuts60.pdf更新2: http ://netbeans.org/project_downloads/www/shortcuts.pdf(7.0)
我会添加任务集成。 没有时间来确定一些东西? 添加一个NetBeans将为您跟踪的简单任务。 您可以自定义在Options -> Miscellaneous -> Tasks
中的任务中被跟踪的内容,但是我发现下面的格式非常有用,因为它与PHPDoc注释完全一致(请参阅本文的评论):
/** * @todo Create public setters and __toString() for this class. */
Ctrl + Space是我用Java编程时最喜欢也是最常用的function,我认为它也适用于PHP。 但是如果你喜欢net beans,那么你很可能已经知道它了,如果不尝试一下就会发现它的function。
另外通过Ctrl +导航到相关的源代码点击variables,方法调用,类引用等等都是很好的function。
此外,右键单击源代码时显示的popup式菜单包含许多有用的工具,从重构到代码生成。
这听起来很荒唐,但我在Netbeans中做的一件事是代码格式化。 它的代码格式(源 – >格式)岩石。
它的SVN整合也很棒,但是已经有人说过了。
快速创buildmacros的能力。
例如,下面是一个将分号放在当前行的末尾,并将光标放回到macros开始之前的位置。
“;” 删除前一个字尾“;” 跳转列表最后编辑跳转列表最后编辑(我知道这是默认情况下在其他语言实现中存在,但它在PHP Netbeans默认情况下不起作用。
作为一个长期坚持使用IDE的人,我喜欢能够自定义一些东西,使我更有效率。
如果你考虑Netbeans 6.7,它有一个像Dreamweaver一样的同步function
通过这种方式,你可以添加一个自定义的ftp,把它导入到项目中,当你在本地保存这些文件的时候,它们也会被上传到服务器上,这样你就有了一个半备份系统。
(相信我比直接在ftp树上工作要好,并且意识到在当前的tmp文件和服务器文件之间传输失败,并且因为closures了文件窗口而丢失了工作:))
NetBeans也允许你完全取消独立的窗口 。
如何:
右键单击要移动的窗口的工具栏,然后select“ Undock window
。 所选的窗口变为浮动窗口,可以将其移到主NetBeans窗口之外。
强调:
- 您可以将浮动窗口固定到屏幕边框或不同的浮动窗口(只是来自NetBeans的窗口)
- 浮动的窗户可以使自己半透明,如果你离开他们(可以通过主要设置杂项/外观)
- 如果您通过任何浮动窗口移动不同的应用程序,那么在您再次开始使用NetBeans之后,它们会再次回到顶端
- 您的工作区布局会被记住,所以所有浮动窗口在各个编码会话之间保持各自的位置(NetBeans重新启动)
如果您有第二台显示器,这个function非常有用,因为它可以让您通过移动主屏幕上的任何补充窗口(文件浏览器,unit testing结果等)来最大化可用于源代码的空间。 好处是,NetBeans围绕着多窗口应用程序(例如,涵盖GIMP中各个工具栏的不同应用程序)中的大多数烦恼工作。
注意:也许这是众所周知的function,但是我在今天才发现它。 这还没有列在名单上,所以我加了一些,尽pipe前一段时间我已经有了一个不同的function。
在未使用的私人class级成员下进行调查。
也许search框,find任何东西在源代码中?
一些function绝对值得关注,包括上面提到的那些:
- 版本控制集成,包括本地历史
- IDE广泛的search框
- 与Tomcat / Apache的集成,GlassFish可以帮助您使用PHP和其他服务器端技术(如JSP)
- 与MySQL非常好的集成 – 对wAMP / LAMP开发至关重要
TextMate是一款非常漂亮的小编辑器,我一直在我的Mac上使用,但不是IDE。 我并不喜欢Mac上的Netbeans非常非本地化,但在Windows或Linux上我更喜欢Eclipse。
- 使用Java的Swing GUIdevise师在快速完成项目方面做出了巨大的贡献。
- 其他人已经说过了,但是Subversion的集成非常棒。 如果我一直在从Linuxterminal的项目工作,它会发现我已经在该目录检出了SVN,并处理它的罚款。
- 我喜欢代码格式(在编辑器中右键单击),特别是当团队成员用nano,xemacs或类似的东西编写间隔很小或缩进的代码时。
其惊人的是,没有人谈过这个很酷的插件。
http://code.google.com/p/zen-coding/
我发现它非常有用的HTML。 PHP开发人员确实需要它。 它增加了很多像这样的模板。
下载netbeans的禅码,并在工具>选项>代码模板>导入中导入zip文件。
我最喜欢这个:phpunit +代码覆盖
几年前,我已经亲自使用Eclipse进行Java开发,自从我知道3.5版本的Netbeans以来,它已经非常适用于TomCat for J2EE应用程序部署,颠覆,uml和大量插件等服务器技术的集成为不同的技术,不只是现在的Java。
- 数据库集成(MySQL,Jdb,SQL编辑器)。
- PHP集成和function的不断进步。
- 颠覆整合…它确实帮助很多!
- 代码缩进,自定义颜色突出显示。
- 如果您是一名PHP开发人员,如果您想扩展您在Web应用程序方面的专业知识,那么Ruby on Rails集成也是有帮助的。
Netbeans一直以支持实验性(尚未发布的)技术而着称,如Java 6 EE预览版,JDK7支持…
而且,Subversion支持开箱即用。 对Eclipse来说,这是一个很大的变化,你必须使用插件。 使用Eclipse我只有在Linux下的问题(JavaHL问题,blabla …)。 我不记得是谁说的,也不记得它是在哪里写的,但是“开箱即用的支持与使用某些插件的能力相比,对用户来说更为重要”。