sublime text3安装phpfmt插件格式化php 技术文章
sublime text3也支持php格式化的插件了,在这里向作者致敬,感谢他开发出这个插件,如果你不知道sublime就不要往下看了,免得浪费你的时间,
首先是你的sublime安装了package control(插件管理包),如果没有安装,请自行百度搜索安装,一大堆教程,在你安装了package control之后,引用原作者的话就是:
Install this plugin through Package Manager.
-
In Sublime Text press
ctrl+shift+P
-
Choose
Package Control: Install Package
-
Choose
phpfmt
- 打开sublime,在sublime界面 按 Ctrl+shift+P 组合键,
- 输入 install package,找到Install Package,并回车打开,
- 输入 phpfmt 找到并回车安装,等待安装结束,
做完上面的工作,还不能使用phpfmt插件的,还需要配置插件所需要的php环境,最新版的phpfmt插件需要php5.6或者更高版本,这里,博主离线了两个在百度网盘,分别是php5.6和php7.0的非安全线程压缩包(都是64位的),直接解压到你想放的目录即可,如果需要其他版本或者是32位的请自行前往php官网下载,百度网盘地址:http://pan.baidu.com/s/1kUn5zxl 官方下载页面:http://www.php.net/downloads.php
将自己需要的安装包下载下载后,解压到你想放的地方,比如博主,防止wampserver的php目录里面,这是方便我的wampserver使用,你们可以根据自己的需要放置;接下来就是打开phpfmt配置:
Preferences > Package Settings > phpfmt > Settings - User
我将我的配置贴出来,供大家参考:
{ "enable_auto_align":true,//自动调整对齐 "indent_with_space": true,//自动空格 "psr1": true, "psr2": true, "version": 4, "php_bin":"D:/wamp/bin/php/php5.6.16/php.exe",//php路径 "format_on_save":true,//保存的时候自动格式化 "option": "value" }
其中的php_bin 很重要,就是你存放php的路径,其中的有些配置我在百度没有搜搜到,在国外的网站上看到的,试了一下还不错,原地址:http://stackoverflow.com/questions/29350807/sublime-text-3-php-fmt-wont-work 有兴趣的童鞋可以去看看。
配置完之后,重启sublime text3,打开你需要格式化的php文件,快捷键:Ctrl+F11 或则是在按下组合键Ctrl+shift+P后输入phpfmt 即可选择想要执行的操作,下面是一些常用命令:
The following features are available through command palette (ctrl+shift+P or cmd+shift+P) : phpfmt: format now //立即格式化 ctrl+F11 phpfmt: indentation with spaces phpfmt: toggle additional transformations phpfmt: toggle excluded transformations phpfmt: toggle skip execution when .php.tools.ini is missing phpfmt: toggle auto align phpfmt: toggle autocomplete phpfmt: toggle dependency autoimport phpfmt: toggle format on save phpfmt: toggle PSR1 - Class and Methods names phpfmt: toggle PSR1 phpfmt: toggle PSR2 phpfmt: toggle smart linebreak after open curly phpfmt: toggle visibility order phpfmt: toggle yoda mode phpfmt: analyse this //Ctrl+F10 phpfmt: build autocomplete database phpfmt: getter and setter (camelCase) phpfmt: getter and setter (Go) phpfmt: getter and setter (snake_case) phpfmt: generate PHPDoc block phpfmt: look for .php.tools.ini phpfmt: reorganize content of class phpfmt: refactor phpfmt: toggle PHP 5.5 compatibility mode phpfmt: enable/disable additional transformations phpfmt: troubleshoot information
phpfmt插件作者项目在github的主页:https://github.com/phpfmt/sublime-phpfmt
实际效果看下面是我的亲测的code:
<?php for($i = 0; $i < 10; $i++) { if($i%2==0) echo "Flipflop"; } // 格式化之后的样子 <?php for ($i = 0; $i < 10; $i++) { if ($i % 2 == 0) { echo "Flipflop"; } } ?> <?php $a = 10; $otherVar = 20; $third = 30; // 格式化之后的样子 <?php $a = 10; $otherVar = 20; $third = 30; <?php namespace NS\Something; use \OtherNS\C; use \OtherNS\B; use \OtherNS\A; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D(); // 格式化之后的样子 <?php namespace NS\Something; use \OtherNS\A; use \OtherNS\C; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D(); // PSR version <?php for($i = 0; $i < 10; $i++) { if($i%2==0) echo "Flipflop"; } // 格式化之后的样子 <?php for ($i = 0; $i < 10; $i++) { if ($i % 2 == 0) { echo "Flipflop"; } } <?php class A { function a(){ return 10; } } // 格式化之后的样子 <?php class A { public function a() { return 10; } } <?php namespace NS\Something; use \OtherNS\C; use \OtherNS\B; use \OtherNS\A; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D(); // 格式化之后的样子 <?php namespace NS\Something; use \OtherNS\A; use \OtherNS\C; use \OtherNS\D; $a = new A(); $b = new C(); $d = new D();
如果需要下载使用新版sublime text3 并且免费注册,请查看这篇文章:
(Mrxn分享)Sublime Text 3 Build 3065 安装版注册+汉化