sublime Text 2支持格式化PHP-安装PhpBeautifier插件过程经历
随风飘扬 php 2016年07月08日16:01 5254
这两天一直纠结两款编辑器——eclipse和sublime Text。eclipse的php插件不支
这两天一直纠结两款编辑器——eclipse和sublime Text。
eclipse的php插件不支持块注释收缩状态下的格式化
eclipse的php插件功能的格式化代码功能如果鸡肋,无法配置PHP格式化模板。而且不支持代码注释在收缩的情况下的格式化功能,这是本人花了几个小时的尝试下,无意间的收获经验。一开始我以为是eclipse的版本问题,换了好几个版本,同时也更换php插件,都无法解决,因为我是格式化我本来项目中的一个文件,而那个文件就有大量的块注释。一按快捷键ctrl+shift+F就会出现假死现象,花了几个小时都无法解决问题,后来尝试写一个简单的PHP代码,却可以格式化代码了,最终将注释块全部展开,这时也可以格式化PHP代码了。o~上帝,然而无法同java一样,PHP插件中无法配置PHP格式化模板,这让我不太满意。当然,这些都不是大问题,问题是,前几天我认识了sublime text 这款软件,功能非常强大。但是....
sublime text的缺点
用了sublime text,总体感觉很棒。只是以下几个内容不太满足要求:
虎h泰z克px新j闻hpt网cj版权所有,请勿未授权转载!!!
1、不支持outline大纲
虎sz泰dnwbm克js_ik新xw闻h网a版权所有,请勿未授权转载!!!
2、函数追踪功能效果不好。而且操作不习惯。我安装的是CTags,配置快捷键,按两下F1进行函数追踪,按一下F1,再按一下F2退回。如果能Ctrl+鼠标左键来实现这个功能的话,将会习惯很多。也比较方便。
虎rpt泰pd克i新lipv闻jf网rcn版权所有,请勿未授权转载!!!
其实PHP格式化功能,可以通过edit->line->Reindent 重缩进功能进行处理。效果也挺不错。但无意在网上看到了这样一款插件:PhpBeautifier ,经过几个小时的研究,最终在sublime text 下成功通过PhpBeautifier插件实现PHP代码格式,效果不错,在此记录一下昨晚解决事情的经历并分享实现PhpBeautifier格式化PHP代码的方法。
修正上面第二点:函数追踪功能 2012-11-11光棍节22:28记录
——sublime text可以实现ctrl+鼠标左键来进行函数追踪
虎enn泰oiina克rf新cj闻rlebo网so_si版权所有,请勿未授权转载!!!
可能是我的ctags.exe版本原故,导致无法通过ctrl+鼠标左键来进行函数追踪效果。今天在“CTags的官方网站”下载了最新版的ctags.exe,放到我的sublime text目录下。注意,要在环境变量增加你的ctags.exe的路径。比如我的路径为:C:\Sublime Text 2.0\ctags.exe,那么我在环境变量path中增加:C:\Sublime Text 2.0,如下图所示:
虎_v_ip泰eo_oe克gnx_m新sov闻muiql网vdmq版权所有,请勿未授权转载!!!
虎cev泰sbfry克ehlks新s闻hm网doob版权所有,请勿未授权转载!!!
重建索引后,尽然可以使用键盘按键与鼠标结合来进行函数追踪功能了,但是要按ctrl+shift后,在按鼠标左键进行函数追踪。可我想直接按ctrl与鼠标左键。通过进一步摸索,发现增加了mouse选项,如下图所示:
虎rhv泰mz_f克r新b闻rm网tdghd版权所有,请勿未授权转载!!!
虎rclu泰rkawo克bbtpi新wu闻_yont网g版权所有,请勿未授权转载!!!
于是在Mouse Bindings-user中复制Mouse Bindings-Default的代码,并去掉shift,实现了ctrl+鼠标左键进行函数追踪功能。同时,定位到目标文件后,按下ctrl+鼠标右键会返回到原文件中。非常方便。
虎jzuq泰_克o新oxe闻zn网z版权所有,请勿未授权转载!!!
2012-11-12 记:似乎不是ctag.exe版本问题。在公司电脑中,ctags.exe仍是以前版本。但是Preferences->Package Settings->CTags->也出现了Mouse Bindings -Default和Mouse Bindings-User这两项。奇怪,为什么以前没有这两项呢?还是我以前没注意?
虎cqkqc泰up克yw新watk闻qus网g_ux版权所有,请勿未授权转载!!!
实现sublime text 支持 PhpBeautifier经历
一、失败
看到PhpBeautifier的介绍,心动不已,立即在sublime text中进行安装,安装后无法使用,根据习惯检查一下 Preferences->package setting中插件内容,并未出现PhpBeautifier;输入ctrl+shift+p,输入format ,显示 format php,执行,无任何效果。为什么会在sublime text中安装的插件不成功?为这问题折腾了一个多小时,仍未解决。
二、失败
百度,无任何资料。google,找到了这样一篇资料:
虎st泰c克n新de闻utyzp网s_gld版权所有,请勿未授权转载!!!
在 Sublime Text 裡的格式化 PHP 代碼
由於某些原因,需要處理一堆比較舊的PHP代碼,
而且編程風格也不統一,所以需要先統一後再處理會比較方便.
不過於由 Pear 的東西有點參差不齊.所以整合到 Editor 內的過程也不太順利.
來記錄一下.
# 更新已有的 Pear 套件
# 之後安裝 PHP_Beautifier
# 再列出使用方法
cd /Applications/XAMPP/xamppfiles/bin
sudo ./pear update-channels
sudo ./pear upgrade-all
sudo ./pear install --alldeps PHP_Beautifier-0.1.15
./php_beautifier --help
# 修正出現 Cannot redeclare class Config 錯誤
# 切進 PHP_Beautifier 的 Filter 目錄
cd /Applications/XAMPP/xamppfiles/lib/php/pear/PHP/Beautifier/Filter
# 打開下面兩個檔案
- Pear.filter.php
- phpBB.filter.php
# 注解掉下句這句
require_once ('PEAR/Config.php');
# 安裝 Sublime Text 2 的 PhpBeautifier 套件
cd ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/
git clone https://github.com/SublimeText/PhpBeautifier.git PhpBeautifier
cd PhpBeautifier/
vim php_beautifier.py
indent = "-t"
cmd = "/Applications/XAMPP/xamppfiles/bin/php_beautifier"
# 最後在需要美化/格式化的代碼編輯界面裡就可以格式化了
Open File > Command+Shift+P > Format PHP > Enter这如同在我绝望 中给了我动力。按上面要求更改插件PhpBeautifier目录下的php_beautifier.py,测试失败。又折腾了好长时间。都无法格式化PHP代码。
虎cc泰rvm克ryf新fw闻m网va版权所有,请勿未授权转载!!!
三、失败
继续google,没找到这方面相关资料。已经晚上11点了,从8点多开始,都搞了快3个小时。绝望、崩溃、泪流满面....
四、phpCodeBeautifier批量php程序代码美化工具
终于又让希望恢复了点,找到了上面这款工具——phpCB.exe,根据参数来对PHP文件进行格式化。
虎lwb泰ko克gdo新fux闻z_hx网uc版权所有,请勿未授权转载!!!
进行测试,可以对指定目录下的PHP文件格式化,效果不错。缺点是需要在命令行下使用非常长的命令参数来美化程序,一次只能美化一个PHP文件。
虎d_c泰vq克qhfsf新luz闻k网nsu版权所有,请勿未授权转载!!!
即使如此,我又把目标放到sublime text上,我感觉,还是可以实现的,是不是我在哪地方有了疏漏。
五、重大发现
我在次转向上面那篇文章。由于着急,只顾着修改php_beautifier.py的文件,而忽视了一个重要内容。安装perl!在sublime text 中安装PhpBeautifier插件的确需要安装perl,请参考:
虎d泰eu克whyk新onwlm闻r网a版权所有,请勿未授权转载!!!
https://github.com/SublimeText/PhpBeautifier#readme
虎au泰g克cj新_xdiz闻bsy网gkm版权所有,请勿未授权转载!!!
相关内容如下:
虎s泰tazh克zs新u_fb闻ofvs网rh版权所有,请勿未授权转载!!!
Installation Install php-pear and php-cli with your package manager : •php-pear & php5-cli with Debian •php-pear & php with Archlinux Install php beautifier from pear channel : sudo pear install --alldeps channel://pear.php.net/php_beautifier-0.1.15 Clone or download the files and copy them to your Packages folder. You can access it via Preferences -> Browse Packages in sublime text
六、失败
安装perl这一问题,也是困难重重。不是安装 ActivePerl for Windows 的版本。网上一些安装办法现在也无法适用。具体安装请看下面链接中的文章。
虎z泰kggtq克kwasa新zr闻ytojb网jh_yu版权所有,请勿未授权转载!!!
安装参考:http://wangye.org/blog/archives/266/
虎u泰rkmbn克t新klfx闻__h网kctwm版权所有,请勿未授权转载!!!
昨晚也不管什么目录配置了,一路回车,安装OK——这样安装的是在默认目录下,我的目录为 d:\php\php5,所以今天在虚拟机重现安装时,我想便于管理,我想安装到d:\php的perl目录下。但是在配置那个菜单,选择1,配置基本目录时,确发现问题:
虎yhcw泰knh克z新zt闻o网ts版权所有,请勿未授权转载!!!
在cmd命令中输入:
虎yl泰a克ulf新umyuz闻r网pscz版权所有,请勿未授权转载!!!
d:\php\php5> php go-pear.phar
虎ztmi泰q克wtn新_isos闻pyrcn网ec版权所有,请勿未授权转载!!!
出现:
虎_hf泰oer克g新utt闻ezv网nfrtj版权所有,请勿未授权转载!!!
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :
虎ns泰yjh克v新orqd闻xq网tgfb版权所有,请勿未授权转载!!!
直接回车,出现以下菜单:
虎s泰np克p_n_新rgc闻jek网_oroy版权所有,请勿未授权转载!!!
虎ohry泰h克n新lwci闻tqkna网wm_版权所有,请勿未授权转载!!!
如果选择1,更改目录,则会出现错误。错误如下所示:
虎sss泰_vtjj克ijzw新ppni闻hzxzn网dugnu版权所有,请勿未授权转载!!!
虎saokf泰b克b新s_闻ekk网nofo版权所有,请勿未授权转载!!!
只有重新输入命令:
虎z泰yfllw克lvn新kxnja闻eso网omzz版权所有,请勿未授权转载!!!
d:\php\php5> php go-pear.phar
虎kgoke泰zzs克qk新dym闻bbd网ypcfy版权所有,请勿未授权转载!!!
虎l泰k克e新spl闻n网quz版权所有,请勿未授权转载!!!
出现:
虎q泰austh克yvv新ehi闻x网rzy_z版权所有,请勿未授权转载!!!
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :
虎ulep泰cgcua克hkewh新av闻n网iy版权所有,请勿未授权转载!!!
回车后出现:
虎ntp泰wy克s新hako闻s网x版权所有,请勿未授权转载!!!
1-12,'all' or Enter to continue:时,直接回车安装到默认目录,或者输入“all”来配置目录。
虎upb泰ac_克pjcsh新gxbkh闻wae网to版权所有,请勿未授权转载!!!
安装perl成功后,要在d:\php\php5 目录下找到 PEAR_ENV.reg文件,执行导入即可。
虎i泰brbxl克zpjy新polb闻m网ktck版权所有,请勿未授权转载!!!
收藏1:http://www.cnblogs.com/heiing/archive/2011/12/07/2279405.html
虎rchpt泰zuo克sjoaz新klmgq闻gdqv网vw_v版权所有,请勿未授权转载!!!
收藏2:http://www.cnblogs.com/heiing/archive/2012/09/07/2674807.html
解决sublime text使用PhpBeautifier插件的问题
终于接近尾声了,perl安装成功。现在安装PHP_Beautifier,即然上面是通过perl安装的。那我在这也通过perl安装吧。
虎dqjz泰wkaax克o新any_l闻nqps网l版权所有,请勿未授权转载!!!
根据http://pear.php.net/package/PHP_Beautifier/download 上面提供的安装方法,在命令中输入:
虎tk_泰a克bcbe新fu闻nik网r版权所有,请勿未授权转载!!!
pear install PHP_Beautifier-0.1.15
安装失败。通过上面文章中介绍的命令:pear install --alldeps PHP_Beautifier-0.1.15,安装失败。如下图所示:
虎us_um泰n克sav新pit闻gl网uznt版权所有,请勿未授权转载!!!
虎n泰j克bp新ys闻p网mex_版权所有,请勿未授权转载!!!
虎wdusn泰h克oojv新ycy闻gqke网vk版权所有,请勿未授权转载!!!
这中间又google,找不到任何有价值的资料。没办法,只有自己研究一下了。根据错误,找到文件,发现错误的一行有个fsockopen函数,如下图所示:
虎svde泰wj克gn新qh闻jge网pk版权所有,请勿未授权转载!!!
虎jmzhn泰wyu克cz新xb闻str_网dyje版权所有,请勿未授权转载!!!
直觉告诉我,也许是我的PHP环境限制了该函数。找到php.ini,找到:disable_functions = escapeshellcmd,escapeshellarg,fsockopen ,果然如此,去掉fsockopen,重启apache,通过官网提供的命令,安装成功。
虎diri泰eh克en_yy新dbtx闻pd网t版权所有,请勿未授权转载!!!
安装sublime text的PhpBeautifier插件
虎syrw泰gv克ie新o闻eopr网slklx版权所有,请勿未授权转载!!!
通过sublime text的package控制器直接安装 或者在https://github.com/SublimeText/PhpBeautifier 下载PhpBeautifier,解压到sublime text/data/package目录下
虎hv泰xg克m_b新vfmmo闻eafch网tgxw版权所有,请勿未授权转载!!!
下面以我安装的路径d:\php\php5为例
虎xkpo泰c_w克bcldh新r闻s_y网nnuxq版权所有,请勿未授权转载!!!
# 修正出現 Cannot redeclare class Config 錯誤
# 切進 PHP_Beautifier 的 Filter 目錄
cd /Applications/XAMPP/xamppfiles/lib/php/pear/PHP/Beautifier/Filter
# 打開下面兩個檔案
- Pear.filter.php
- phpBB.filter.php
# 注解掉下句這句
require_once ('PEAR/Config.php');这个文件路径是在:d:\php\php5/pear/PHP/Beautifier/Filter 目录,根据上面要求修改
虎be泰cpo克goaq_新g闻qvv网dpvzh版权所有,请勿未授权转载!!!
虎ng泰gazoz克j新a闻kzj网pu_版权所有,请勿未授权转载!!!
修改php_beautifier.py文件也费了一点时间,主要是下面这句
虎jupx泰m克hw_新w闻hsro_网i版权所有,请勿未授权转载!!!
cmd = "/Applications/XAMPP/xamppfiles/bin/php_beautifier"
浪费一些时间后,静心研究这个目录。根据这个目录的规律,应该是在我的d:\php\php5这个目录下。所以我改的内容如下:
虎zcpmp泰s克osd新ei_闻vyto网jx版权所有,请勿未授权转载!!!
虎s泰xyi克nmb新lux闻p网gdny版权所有,请勿未授权转载!!!
cmd = 'D:\\php\\PHP5\\php_beautifier'
但是仍无法格式化PHP文件。
虎mnndp泰c克anpd新zsj闻rhpbh网law版权所有,请勿未授权转载!!!
虎ibt泰oqsc克xz新xcvfg闻uybm_网w版权所有,请勿未授权转载!!!
查看一下D:\php\php5这个目录下的php_beautifier是什么东东,进去看了才知道,原来是个批处理文件:php_beautifier.bat。于是我将内容改为:
虎gr_s泰dw克cl新pxltj闻vcpmg网kwht版权所有,请勿未授权转载!!!
cmd = 'D:\\php\\PHP5\\php_beautifier.bat'
奇迹出现了。终于可以通过phpbeautifier插件集成到sublime text中用来格式化PHP代码。
资源下载
本资源包括
虎byy泰k_jf克ti新wze闻xomj_网gztv版权所有,请勿未授权转载!!!
1、go-pear.phar
虎a泰_poaq克qnesc新gfxa闻zr网cx版权所有,请勿未授权转载!!!
2、sublime text 2插件
虎v泰y克uy新r闻r网p版权所有,请勿未授权转载!!!
3、命令行格式化工具及实例
虎kiyg泰funuv克qc新ltpgj闻ov网rn版权所有,请勿未授权转载!!!
下载地址:http://download.csdn.net/detail/zm2714/4652014
总结
早就听说过perl的大名,但是从未接触过并学习perl的相关知识。这次由于将phpbeautifier插件集成到sublime text中,对perl也有了进一步了解。对于PHP开发人员,了解、掌握并熟练运用perl的模块解决问题,也是非常有必要的。对于我本人,掌握php、python、我想还需要掌握perl了。我将简称为3P吧。
虎vue泰ilscq克lpvt新ebqmv闻onm网b版权所有,请勿未授权转载!!!
本篇内容可能有点疏漏,由于是昨晚实践的结果,今天表述上可能有些偏误。我想在以后看此文时,站在用户角度再来完善本篇内容。本人博客每篇内容都不是完成后就是那个样子,在回头看时,对于那些缺陷、或者有更好的解决方案、更好的描述或表达时,我都会时时更新。一起进步吧~
虎ljax泰tfe克iotrn新qw_闻pczms网ezqes版权所有,请勿未授权转载!!!
转自http://blog.csdn.net/zm2714/article/details/8076077
Δήλωση: όλα τα άρθρα / τα σχέδια που αναδημοσιεύονται στον δικτυακό τόπο έχουν ως σκοπό τη διαβίβαση περισσότερων πληροφοριών και τη διευκόλυνση της συζήτησης, πράγμα που δεν σημαίνει ότι ο δικτυακός τόπος, ο οικοδεσπότης και ο διοργανωτής συμφωνούν με τις απόψεις τους ή επιβεβαιώνουν τη γνησιότητα του περιεχομένου τους. Τα περιεχόμενα των άρθρων είναι μόνο για αναφορά. Εάν παραβιαστούν τα δικαιώματα του αρχικού συγγραφέα, επικοινωνήστε με τον διαχειριστή του δικτυακού τόπου.
Λίστα σχολίων
-
Δεν υπάρχουν δεδομένα