用于MAC OSX的基于非Java虚拟机的PHP/JS IDE?

用于MAC OSX的基于非Java虚拟机的PHP/JS IDE?,php,Php,我是一名PHP开发人员,我在Mac上使用Eclipse(通过Java VM),但是,在处理大型源文件时,它的响应速度似乎非常慢(有时编辑此类文件是不可避免的) 这迫使我在一些编辑器(如TextMate或TextWrangler)中打开主题文件,因为这两个编辑器比Eclipse更好地处理大型文件 我假设这是因为Eclipse是在Java虚拟机上驱动的,而TextMate和TextWrangler可能不是(尽管不确定) 因此,我想知道是否有人可以为MAC OSX推荐一些好的PHP/JS IDE,而不

我是一名PHP开发人员,我在Mac上使用Eclipse(通过Java VM),但是,在处理大型源文件时,它的响应速度似乎非常慢(有时编辑此类文件是不可避免的)

这迫使我在一些编辑器(如TextMate或TextWrangler)中打开主题文件,因为这两个编辑器比Eclipse更好地处理大型文件

我假设这是因为Eclipse是在Java虚拟机上驱动的,而TextMate和TextWrangler可能不是(尽管不确定)

因此,我想知道是否有人可以为MAC OSX推荐一些好的PHP/JS IDE,而不是基于Java VM(TextMate和/或TextWrangler太窄,不能用作IDE)?这种IDE是免费的并不重要,只要它不太昂贵

提前感谢,,
Radovan不要低估TextMate的力量。Emacs风格的宏可以非常快地完成很多工作。尽管如此,除了直观的快捷方式和宏之外,这个程序还是相当“愚蠢”

恐慌的尾声是朝着正确方向迈出的一大步。我通常会根据我的工作内容在两者之间交替

Dreamweaver中实际上有很多对PHP相关任务的支持,但是。。。它是Dreamweaver,因此,它与大多数基于Java的应用程序有着相同的“脂肪”问题

我相信macrabbit有一个叫Espresso的程序,它和Coda很相似,但在我给它的短短时间里,它更倾向于Coda

XCode可以处理PHP项目,但它显然不是适合这项工作的工具。不过,它附带的文件合并程序非常有用


OSX确实缺少一个干净、直观、基于cocoa的PHP/JS/CSS编辑器,其中包括代码感知、宏、代码折叠、项目管理、版本控制集成等内容。Coda是最好的起点,但仍然不是一个本垒打。

我不知道非JVM PHP IDE,但加载大文件不是Java VM的“固有”问题(VM可以像处理本机应用程序一样处理大文件,所以问题不在那里。IDE如何呈现编辑器可能是另一个原因)

如果您找不到一个好的非Java虚拟机替代方案,那么可以通过更改Eclipse使用的JVM启动参数(您可以对其他基于Java的IDE执行类似的操作)来改进大型文件的性能

  • 显示Eclipse.app的包内容并编辑contents/MacOS/Eclipse.ini

  • 在该文件的末尾,您有JVM启动参数,您可以查看

  • 影响大文件性能的一个参数是-Xmx,它指示Java应用程序可用的最大内存,如果该值较低或不存在(IDE需要的默认值较低),您的IDE将很慢,因为它花费大量时间进行垃圾收集(在Eclipse中,您可以通过激活Eclipse->Preferences…->General/Show heap status或类似的东西来检查这是否是问题)

下面是我在Eclipse中使用的启动参数示例(我使用的是4Gb内存的MacBook):

-Xverify:none关闭JVM字节码验证,并使Eclipse的加载速度加快一点

-Xms20m(是初始堆大小)较低。JVM将根据需要分配更多,对于其他类型的应用程序,一个较大的值可能更好,但在这种情况下,它会使Eclipse加载速度变慢


-Xmx1024m使用1gb作为最大堆(我在大型Java项目中工作,堆从未超过600m)

我发现我的Mac Air电池在Netbeans中消失了,通常8-10小时的使用率下降到1-2小时左右,背景扫描被禁用,如果你旅行的话,这不太好


TextMate。非常轻量级,消费时不易察觉,但具有所有正常语法功能和GIT集成。当我不在桌面上时,这就是答案。

查看对几十个其他“PHP IDE”问题的回答,以获得非JVM的答案是的,但该线程更像是“您喜欢的编辑器”,而不是“基于非Java的IDE”.Java虚拟机有内存限制,因此加载大文件是“固有的”基于java的IDE存在问题。当您试图打开太大的文件时,许多基于java的IDE会向您发出警告,警告您该文件将填满VM的内存并导致性能停止。您提到的内存限制是堆大小限制,所有基于GC的VM都有这种限制,因此它们可以控制堆的增长方式和时间不同的GC算法会被触发。但是,只要内存可用,您可以将该限制设置为任何大小。此外,如果IDE在内存中加载AST以提供重构/语法突出显示,则IDE处理该文件的方式也取决于每个IDE实现。您可以达到相同的限制,而不考虑该文件所在的编程语言IDE已经实现。JVM没有施加任何内在的限制。例如JVM应用程序:Apache Solr处理内存中的大索引文件(我的意思是按GBs的顺序,比任何源代码都大),任何虚拟机的性能都比本机运行的语言差。这是内在的。
-XX:PermSize=32m
-XX:MaxPermSize=384m
-Xms20m
-Xmx1024m
-Xss2m
-Xverify:none
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled