由于XDebug的集成,我最近对我的php工作非常喜欢netbeans.它让我几乎忘掉了textmate(这个小东西仍然打败了netbeans)
您认为我应该了解的一个很棒的netbeans功能,更重要的是为什么以及如何使用它?
我要求这样做是为了优化我在使用IDE方面的技能,并基于对其他人有效的想法可能对我有用(并希望其他人).
我发现了另一个我想分享的天才:
你可以做自定义代码折叠(与php无关,只是netbeans)
把它放到一个代码文件中:
//some boring code you don't need to see every time here //
这个行为与#region
visual studio中的pragma mark
s 或xcode中的s 类似.但不像region
s,它不会搞砸你的代码的工作,它只是一个评论!
在Subversion集成直接在IDE和地方史是我必须使用的,最喜欢的功能.
我发现Netbeans for PHP工作中最有用的一个特性是它理解PHPDoc(与它理解Javadoc的方式相同),并将其用于类型提示.
/**
在函数定义之前键入,点击返回,它将创建一个PHPDoc模板.
/** <-- I typed this one line * @param$otherObj <-- Netbeans added these 3 lines * @return <-- */ <-- public function exampleFunction($otherObj) { $myObj = new MyClass($otherObj); return $myObj; }
用
适当的类型替换placemarkers:
/** * @param OtherClass $otherObj * @return MyClass */ public function exampleFunction($otherObj) { $myObj = new MyClass($otherObj); return $myObj; }
瞧,您将使用Ctrl-space获得类型完成(和弹出文档).
通过jVi插件实现令人敬畏的Vi绑定.
if ($x instanceof SomeClass) { $x->.... // now it has code completion with SomeClass' methods. }
宏和具有高级输入的代码模板!
参数化代码模板(尝试在netbeans中键入fnc,然后立即按Tab键,然后继续按Tab键查看发生了什么,如何循环访问函数名称和函数参数 - 查看代码模板内部以了解如何完成此操作).(选项>编辑器>代码模板)
一些简单的例子(我做了一些,有些带有netbeans):
[forek]扩展为:[foreach($ array as $ key => $ value){}](这个带有netbeans,其余的我做了)
[arr] + Tab扩展为:[array();]
[kv] + Tab扩展为:['key'=>"val",](key和val是我可以循环浏览并使用tab编辑的参数.代码模板如下所示:['$ {key}'= >"$ {val}",]其中[$ {something}]是模板参数,它打印[something].如果你想要它打印[$ something]我认为你必须使用三个] $]字符:[ $$$ {键}])
编辑:您可以使用单个字母为箭头创建代码模板(例如"m"代表),但是当您输入代码时,您必须在字母前面放置一个空格,否则它不会识别它.例如:$ obj m [按Tab键],展开到[$ obj - >].中间的空间工作正常,不是sintax错误. /编辑
每次我希望有一个模板的东西,我实际插入模板,然后立即使用它继续与PHP编程的其余部分.
带有快捷方式的宏作为迷你代码模板!(Netbeans>菜单>编辑>开始/停止宏录制)
我为php制作的最好的宏实际上是代码模板(因为'+ Tab由于某种原因不能用作代码模板,只有当模板以它起作用的字母开头时)([快捷方式]插入[文本]):
快捷方式[Ctrl +;]插入[ - >](没有更多的keybooard体操,没有更多的dot sintax羡慕其他语言:))
快捷方式[Ctrl + Shift +;]插入[=>]
这个链接有很多键盘快捷键,派上用场.我打印出来的副本并固定在我电脑旁边的墙上.遗憾的是,我没有看到任何特殊的PHP快捷方式.
UPDATE:http://netbeans.org/project_downloads/usersguide/shortcuts60.pdf UPDATE2:http://netbeans.org/project_downloads/www/shortcuts.pdf(7.0)
我会添加任务集成.没时间敲定一些东西?添加NetBeans将为您跟踪的简单任务.您可以自定义在Tasks中跟踪的内容Options -> Miscellaneous -> Tasks
,但我发现下面的格式最有用,因为它与PHPDoc注释很好地对齐(参见wherehere的评论):
/** * @todo Create public setters and __toString() for this class. */
在java中编程时,Ctrl + Space是我最喜欢和最常用的功能,我认为它也是为PHP启用的.但是,如果你喜欢net beans,你很可能已经知道它,如果没有尝试,请发现它的作用.
还可以通过Ctrl +导航到相关的源代码.点击从变量,方法调用到类引用的任何内容都是一个很好的功能.
此外,右键单击源代码时显示的弹出菜单包含许多有用的工具,可用于从重构到代码生成的所有内容.
这听起来很荒谬,但我在Netbeans做的一件事就是代码格式化.它的代码格式(源 - >格式)摇滚.
它的SVN集成也很棒,但已经说过了.
能够快速创建快速宏.
例如,这是一个在当前行的末尾放置一个分号并将光标放回宏开始之前的位置.
";" delete-previous caret-end-line";" jump-list-last-edit jump-list-last-edit(我知道默认情况下它存在于其他语言实现中.但它在PHP Netbeans中默认不起作用.)
作为一个长期坚持使用IDE的人,我喜欢能够自定义小东西以提高我的效率.
如果你考虑Netbeans 6.7它有一个像Dreamweaver一样的同步功能
在您可以添加自定义ftp的方式中,将其导入到项目中,当您在本地保存文件时,它们也会上载到服务器,因此您可以使用半备份系统.
(相信我这比直接在ftp树上工作并且意识到当前tmp文件和服务器文件之间的转移失败更好,因为你关闭了文件窗口而丢失了你的工作:))