标签:phpstorm

浏览模式: 标准 | 列表 | 图文
phpstorm 4发布啦。。。

phpstorm 4发布啦。。。

PHPSTORM4发布啦。这回的特性感觉不是特别多,不知道为什么当成一个大版本来发布
3和4,更新的也太快了,难道也想学firefox来个版本比赛?jre还是没有升级成1.7,不知道是为什么。只记得以前用netbeans的时候,升级到1.7问题多多。
按照官方的说法:

To keep pace with the times, the new release includes full compliance with PHP 5.4 language features and ECMAScript Harmony support, and killer bug-prevention abilities using PHP Code Sniffer and PHPUnit Code Coverage. This makes PhpStorm 4.0 a must-have IDE for today’s sophisticated PHP developers.

The most important changes in PhpStorm 4.0 include:

  • PHP 5.4 language features support
  • ECMAScript Harmony support
  • Code coverage for PHPUnit
  • Code checking with PHP Code Sniffer
  • Drupal coding style support
  • New PHP code inspections
  • Smarter JavaScript completion

不过只是支持了5.4和代码覆率,其他的都还是一般,居然还支持了drupal的代码风格,看来drupal的风格还是被很多人接受啊。只是那个缩进只有2个空格,好不习惯啊。。。
就这点东西更新就变成了4.0,好不习惯啊。还有,不支持yii,不和谐

phpstorm设置ftp上传的时间问题

在用phpstorm上传文件的时候,发现时差8个小时,用FTP软件都没有问题,于是找了很久没有找到资料
后来到Deployment中的options里发现这个选项:

当打上勾后,时差就8小时了,不打勾立刻正常,采用了本地时间。
于是,把勾去掉。

利用phpstorm将文件上传到软链接目录

利用phpstorm将文件上传到软链接目录

在项目中,有一个目录是通过ln软链接而来,在FTP(filezilla)里也不能上传,在很多软件里都不认这个目录是软链接,这时候真纠结。当然phpstorm在默认情况下也不能上传到该目录中

于是,我在phpstorm的Deployment中配置了一个mapping,将要上传的目录map到线上的实际目录中,这样就不会出现上述问题了。
例如,线上有一个/var/www/upload目录,但我们在项目中的地址是/var/www/xxx.com/upload,实际上是映射到/var/www/upload目录的。这是通过 ln -s来实现。嗯,不能用硬链接,因为硬链接不能跨分区。
在这种情况上很多FTP软件在打开/var/www/xxx.com/upload目录的时候都会报550错误,为了偷懒我在phpstorm里将项目的upload目录直接指向/var/www/upload。而不是xxx.com/upload,一下子世界就清静了。

解决phpstorm 3.0 乱码问题

解决phpstorm 3.0 乱码问题

昨天用phpstorm打开asp程序(需要在phpstorm的插件里开启asp的支持,才有高亮)的时候,发现所有的中文都是乱码。
很明白,ASP,大多是gbk编码的,而phpstorm默认是utf-8。
很方便,在settings里将fileencoding调整为gbk就OK了。但这样,还是看不到效果,再打开任何一个文件,还是乱码
不要紧张,将phpstorm退出一下再进就OK了。

这可能是因为PHPstorm在启动的时候将配置加载到内存导致的吧?退出一下,配置什么的就重新加载了。
看到中文不再是所谓的麻将牌,还是比较欣慰的。

markdown编辑器

markdown编辑器

妖怪在群进而推荐了mou这个APP,才发现,原来markdown文档可以这么写。
我原来都是用phpstorm的插件来处理的

之所以要用markdown,是因为首先,很多人都在用,很多开发人员觉得markdown其实只是写文本文件,可读性不强啊。
但是很多人为什么要用这个呢?

因为它简单。可读性好。且可以使用相关工具换成 TXT、RTF、HTML、PDF、Microsoft Doc等。

而且,今天在群里有人就说了,当你用它来写changelog或者readme的时候就可以很容易diff了,如果你是用doc,你怎么diff呢?

好吧,我走题了,不过markdown看起来真不错,而且也可以尝试以后将博客转为markdown格式(或许真有可能),又不占地方,也不占空间

先上图:applescript-简明基础教程.pdf

再上下载地址:http://mouapp.com/

这里有介绍:http://www.ituring.com.cn/article/details/504

Markdown 的目标是实现「易读易写」。

不过最需要强调的便是它的可读性。一份使用 Markdown 格式撰写的文档应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,然而最大灵感来源其实是纯文本的电子邮件格式。

因此 Markdown 的语法全由标点符号所组成,并经过严谨慎选,是为了让它们看起来就像所要表达的意思。像是在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是列表。假如你用过电子邮件,区块引言看起来就真的像是引用一段文字。

phpstorm 函数提示

其实我一直以为phpstorm的函数提示只能提示参数的,但最近我在把菜单一一看完的时候才发现,原来,它真的可以提示函数的详细信息。
说白了, 就是将phpdoc这一块的内容全部提示出来。具体怎么操作呢?
在macosx上,快捷键是F1或者ctrl+j
其他平台上未知,但没有关系,可以通过keymap来看一下定义的是什么快捷键,也可以看这个:

看那个QuickDocumentation,就知道了。
因为菜单里的提示只是默认的,所以如果有多种快捷键,还是看keymap的定义吧。比如我现在的定义是:

我为什么会选用phpstorm

我为什么会选择PHP的开发IDE是phpstorm,而不是netbeans,zendstudio或者eclipse?
当然是有原因的。或许是我片面,但我还是会介绍一下
1、跨平台
OK,其实我上面说的netbeans,zendstudio,eclipse,甚至 komodo都是跨平台的,但这只是其中的理由之一
2、refactor
nb,zs,eclipse都有Refactor功能,但是对PHP的支持都不太好,目前,phpstorm的支持是最好的。这点也足够了
3、自动生成phpdoc的注释
当你一口气写了几百行代码,中间启有十几个function时,你没有写注释,等后到期再补的时候,是不是觉得很痛苦?没关系,phpstorm会自动帮你生成:

点击Generate可以有选择的生成,除了生成注释,还可以生成getter,setter。
当然,如果你在写一个class是继承上级类的话,还可以通过 override Methods生成覆盖父类的方面。第二个是生成接口方法。超级方便
4、内置支持Zencode:

虽然是小功能,但也极有用
5、生成类的继承关系图:

如果你有一个类,多次继承之后,你可以通过这个功能查看他所有的父级关系,很不错:

6、重构
如果你的方法里出现了数字,最好的方法当然是定义成常量,但代码都写完了,怎么办?

当你这么做后,你可以发现在class的最上面帮你生成了一个const,刚才的数字所在的地方也变成了:self::XXXX

对于一大段代码,也可以:

这样就可以将该段代码生成一个function,也是个超级方便的功能
7、有local history功能
这个,还不够 你牛B的?嗯,其实nb和zs以及eclipse都有啦
8、布署
你可以将代码直接upload到服务器上,也可以直接和线上的代码进行compare。够你牛B没?

有些东西都是细节,还是自己再看看喽?

PhpStorm 3.0 released!

PhpStorm 3.0 released!

一大早就收到这封邮件,灰常开心。
因为在2.x的时候用的就是它,而且,除了代码格式化外(数组这一块的格式化非常不友好),其它我都非常满意。当然也可能是我没有把netbeans的所有能力都发挥出来吧,先看邮件:
PhpStorm 3.0 is now available and introduces the Smart Duplicated Code Detector to help you quickly find similar blocks through your entire code base and securely get rid of them without losing the intended functionality.
Also a new integrated UML tool allows you to quickly get a bird’s-eye-view of your project structure, or even a semantic view of the changes in the recent VCS commits made by your colleagues.
Furthermore, to ensure that your code works fast and doesn’t cause any performance bottlenecks, the IDE now includes a profiler, a new PHPUnit test runner and JSTestDriver.

The new key functionality in PhpStorm 3.0 includes:
- Smart Duplicated Code Detector
- PHP UML roundtrip diagrams
- Profiling results browser for Xdebug and Zend Debugger engines
- PhpUnit 3.6 integration
- CoffeeScript support
- Significant improvements to FTP/SFTP Sync
- TFS support and revision graph for GIT
- Streamlined UI across all operating systems

HOHO,看到没,居然PHP UML roundtrip diagrams,但其实在EAP版的时候,我试过,其实并没有想象中的那么完善,将就着能用用而且。 ftp/sftp 同步还没有试过。。什么时候试用下

Sublime Text 2 简介

Sublime Text 2 简介

之前在vrphperz群里咨询苹果下哪个编辑器稍微好一点。一群装B犯说textmate之类的,还有人说VIM,这些都直接无了。后来有人说了sublimetext2,于是下载了看看。发现是要钱的,但不是付钱也可以使用。于是心安理得的先用了起来。实在是买不起,好贵,比PD都贵上两三倍。。。(过两天介绍一下我用的parallels desktop)
使用sublimetext2的过程中,发现他的响应速度也很快,右边也有一种类似于整页编码缩略图的概念,配色也相对比较容易适应,于是就开始使用了。
经验不足,纯粹是当成editplus之类的工具在用的。于是看到这篇文章的时候,复制了一下(其实我对zencoding不太感兴趣,虽然好象现在很多编辑器都内置 了,比如我用的phpstorm也内置了支持。。。)我对文章最后的三个链接比较感兴趣
原文来自:http://shawphy.com/2011/09/sublime-text-2.html
最近试用了一款新的编辑器 Sublime Text 2,跨平台,据说他是仿TextMate的,没用过TextMate,不知道后者有多厉害。然而 Sublime Text 2 我一用就爱上他了。
ea4dfae6ee21d84e1aad71021d6fcd48
一开始是由于他的迷你地图模式而吸引我的注意力的,这个迷你地图可以概览整个文件。实现快速跳转。这个是个亮点,在其他编辑器中都没有见过此类功能。然而 试用了之后我很快发现,迷你地图功能可能未必好用,但真正让我觉得舒服的是,他的zencoding支持的非常完美,直接有实时预览功能。

此外他的窗口分组、项目管理、扩展工具、代码折叠方面都非常不错。他还直接支持vim模式呢!
我之前在微博上推荐 Sublime Text 2 后,引来好多vimer的鄙视。说比vim差多了。我也无意参与这类争论。一个是现代兵器,一个是上古神器。自己用的爽就行了,何必与人争呢。

总之这个编辑器非常适合我这样喜欢vim的快捷键,又不喜欢vim复杂的配置的人。轻松上手功能强大。

如果你也心动了,可以点下面的地址来下载最新的开发版。Sublime Text 2是收费软件,但目前可以无限期试用。

http://www.sublimetext.com/dev

另外建议依次拜读 Lucifr 的三篇博客
Sublime Text 2 入门及技巧
ZenCoding in Sublime Text 2
Sublime Text 2 实用快捷键[Mac OS X]

--------------
如果你仅仅当成editplus之类的小工具用,那就无所谓了。如果你想当成一些高级编辑器,那就好好学习吧

来自官方:‘Extract Function/Method’ refactoring for PHP

先不说什么功能,只能说这种功能对我们来说太有用了。
refactor,这种重构,其实在ZS和NETBEANS 中效果并没有现在这个软件(phpstorm)那么明显。看看它的功能就知道了。
官方网址(http://blog.jetbrains.com/webide/2011/05/extract-function-method-refactoring-for-php/)说:
We are working hard on new features for PhpStorm 2.1, and the ‘Extract Function/Method’ refactoring for PHP is one of them. This feature has been available since the first PhpStorm 2.1 EAP(106.444), and we are looking forward for your feedback.

Picture 1b: Select an expression

Invoke the refactoring from the menu ‘Refactor -> Extract Method‘ or using a hotkey. The default hotkey is Ctrl+Alt+M for Windows/Linux and Cmd+Opt+M for Mac.
Depending on the context of the selected code fragment, ‘Extract method’ (the code fragment is inside a method) (Picture 2b) or ‘Extract Function’(the code fragment is inside a function or script) (Picture 2a).

Picture 2a: ‘Extract Function’ dialog

Picture 2b: ‘Extract Method’ dialog

Enter the name of the new function/method. Press OK.

Picture 3a: The code fragment is replaced with a function call statement

Picture 3b: The expression is replaced with a method call expression

Picture 4a: Definition of the extracted function

Picture 4b: Definition of the extracted method

Develop with pleasure!
------------
看完上面的内容,你是否觉 得,原来重构也可以这样简单?