【转载】Sublime Text 3设置吊炸天PHP开发环境
2016-11-04 10:20 | 黑夜路人
@heiyeluren
@created: 2016/5/31
@last modify: 2016/7/8
1. 下载安装Sublime Text 3
http://www.sublimetext.com/3
2. 安装Sublime包管理器pci - Package Control
本来Subl3安装Package Control很麻烦,现在简单的方法来了
(1)、简单的安装方法
使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码:
import urllib.request,os; pf = ‘Package Control.sublime-package‘; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), ‘wb‘).write(urllib.request.urlopen( ‘http://sublime.wbond.net/‘ + pf.replace(‘ ‘,‘%20‘)).read())
如果顺利的话,此时就可以在Preferences菜单下看到Package Settings和Package Control两个菜单了。
顺便贴下Sublime Text2 的代码:
import urllib2,os; pf=‘Package Control.sublime-package‘; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), ‘wb‘ ).write( urllib2.urlopen( ‘http://sublime.wbond.net/‘ +pf.replace( ‘ ‘,‘%20‘ )).read()); print( ‘Please restart Sublime Text to finish installation‘)
注意:如果安装报错,比如连接远程服务器失败之类的,请设置wbond.net的host,相关host如下:
50.116.33.29 sublime.wbond.net
(2)、手动安装
可能由于各种原因,无法使用代码安装,那可以通过以下步骤手动安装Package Control:
1.点击Preferences > Browse Packages菜单
2.进入打开的目录的上层目录,然后再进入Installed Packages/目录
3.下载Package Control.sublime-package并复制到Installed Packages/目录
4.重启Sublime Text。
* 说明:每次唤醒包管理配置都可以使用 Ctrl + Shift + P 方式唤醒命令行,然后输入 pic 缓存 Package Control: install package 组件 *
3. PHP代码语法正确性验证插件 SublimeLinter
(1) Windows环境安装配置好php运行环境(安装PHP执行引擎),或者使用 xampp 等集成环境。
我安装的xampp环境,相关PHP.exe路径是:C:\xampp\php\php.exe ,然后设置相关环境变量 PATH ,然后设置该变量最后增加:c:\xampp\php 路径。
(2) 安装 SublimeLinter 和 SublimeLinter-php 组件
Ctrl + Shift + P 唤醒后输入:pic,打开包管理文件,然后输入 sublimelinter,选择选装;然后再pic唤醒输入:sublimelinter-php
安装完插件以后去配置一下插件相关配置,在 Sublime Text 3菜单打开:Preferences -> Package Setting -> SublimeLinter -> Setting User,把如下内容填充进去:
{
"user": {
"debug": false,
"delay": 0.25,
"error_color": "D02000",
"gutter_theme": "Packages/SublimeLinter/gutter-themes/Default/Default.gutter-theme",
"gutter_theme_excludes": [],
"lint_mode": "background",
"linters": {
"annotations": {
"@disable": false,
"args": [],
"errors": [
"FIXME"
],
"excludes": [],
"warnings": [
"NOTE",
"README",
"TODO",
"XXX",
"@todo"
]
},
"php": {
"@disable": false,
"args": [],
"excludes": []
},
"summitlinter": {
"@disable": false,
"args": [],
"excludes": [],
"globals": "",
"ignore": "channel",
"limit": null,
"only": ""
}
},
"mark_style": "outline",
"no_column_highlights_line": false,
"passive_warnings": false,
"paths": {
"linux": [],
"osx": [],
"windows": [
"c:\\xampp\\php"
]
},
"python_paths": {
"linux": [],
"osx": [],
"windows": []
},
"rc_search_limit": 3,
"shell_timeout": 10,
"show_errors_on_save": false,
"show_marks_in_minimap": true,
"sublimelinter": "save-only",
"sublimelinter_executable_map": {
"php": "c:\\xampp\\php\\php.exe"
},
"syntax_map": {
"html (django)": "html",
"html (rails)": "html",
"html 5": "html",
"javascript (babel)": "javascript",
"magicpython": "python",
"php": "php",
"python django": "python",
"pythonimproved": "python"
},
"warning_color": "DDB700",
"wrap_find": true
}
}
说明:注意里面的两个php路径必须跟我们实际php脚本引擎路径一致。
(3) 保存配置文件后重启Sublime编辑器,然后编辑任何php代码文件,如果代码语法有错误都会及时提醒啦。
4. 安装自动代码提醒+当前文件内函数定义等跳转插件:SublimeCodeIntel
说明:插件 SublimeCodeIntel 是能够在当前文件内的代码互相跳转,同时支持当前所有项目目录下面代码的自动识别跳转。(跳转是自动的)
Ctrl + P 唤醒 输入 pic 进入包管理工具,输入 SublimeCodeIntel,安装该包管理工具,安装完以后就可以使用了。
说明:
(1) 文件内代码跳转
在碰到相关要跳转的函数、类等,按 Alt + 鼠标左键 就可以跳转了。
(2) 代码提示
把整个相关要编辑的工程目录拖入到Sublime编辑器中,然后就会自动进行相关的代码生成提醒工作,你在整个目录下面做任何代码编辑情况下,都会自动下拉提醒相关代码。
5. 跨文件代码跳转插件:Ctags
Ctags 是一个经典的代码跳转插件,在很多编辑器中都可以使用。
主要步骤:安装ctags程序 -> 对应项目代码生成ctags所以 -> 给sublime安装ctags插件 -> 打开相关生产好ctags索引文件的项目目录导入到sublime -> 进行相关代码跳转
(1) 下载ctag生成程序
从 http://ctags.sourceforge.net/ 下载ctags索引生成程序,把ctags.exe放入到环境变量,方便在任何cmd环境下都可以运行ctags索引生成程序
(2) 生成ctags索引
cmd下进入对应的项目代码目录,然后执行:
ctags -R -f .tags --fields=+aimSl --language=php
或者:
ctags -R -f .tags --fields=+aimSl --language-force=php
生成后会发现当前目录下有一个 .tag 文件,就是我们生成好的索引文件。
(3) 在 Sublime Text 中安装插件:Ctags
Ctrl + P 唤醒输入pic进入包管理工具,输入 Ctags ,安装该插件。
(4) 使用相关代码跳转功能
把我们上面生成了 .tag 索引文件的目录整个拖入到Sublime编辑器中,然后打开任意代码文件,在看到调用其他类库函数的地方,按 Ctrl + Shift + 鼠标左键,就可以跳转到相关代码文件,再按 Ctrl + Shift + 鼠标右键,就能够跳转回来源的代码文件,非常方便。
6. 代码实时同步到测试服务器插件:Sftp
一般情况,我们编写完成代码以后,需要上传到调试服务器进行调试,最好每个操作都是实时的,不用单独用scp/ftp/samba等方式拷贝文件到服务器端,比较麻烦,所以需要再编辑器完成后直接把代码上传到服务器的操作。
sftp 插件就能够干这个事儿,会利用 sftp方式利用ssh服务把代码传到服务器。
(1) 安装插件:sftp
Ctrl + P 唤醒输入pic进入包管理工具,输入 sftp ,安装该插件。
(2) 配置该插件
把相关项目目录拖入到 Sublime 编辑器,然后找到代码路径根节点,右键 选择 SFTP -> Map to Remote...
然后进行相关配置:
{
// The tab key will cycle through the settings when first created
// Visit http://wbond.net/sublime_packages/sftp/settings for help
// sftp, ftp or ftps
"type": "sftp",
"save_before_upload": false,
"upload_on_save": true,
"sync_down_on_open": false,
"sync_skip_deletes": false,
"sync_same_age": true,
"confirm_downloads": false,
"confirm_sync": true,
"confirm_overwrite_newer": false,
"host": "远程SSH服务器地址",
"user": "用户名",
"password": "登陆密码",
"port": "22",
"remote_path": "远程服务器代码存放目录",
"ignore_regexes": [
"\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
"sftp-settings\\.json", "/venv/", "\\.svn/", "\\.hg/", "\\.git/",
"\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
],
//"file_permissions": "664",
//"dir_permissions": "775",
//"extra_list_connections": 0,
"connect_timeout": 30,
//"keepalive": 120,
//"ftp_passive_mode": true,
//"ftp_obey_passive_host": false,
//"ssh_key_file": "~/.ssh/id_rsa",
//"sftp_flags": ["-F", "/path/to/ssh_config"],
//"preserve_modification_times": false,
//"remote_time_offset_in_hours": 0,
//"remote_encoding": "utf-8",
//"remote_locale": "C",
//"allow_config_upload": false,
}
配置完成后保存配置,重启 Sublime。
(3) 使用该插件
第一次使用的时候,需要把所有代码都同步到 远程SSH服务器,选择 Sublime 编辑器左侧需要同步文件夹的根目录,右键,选择 SFTP -> Upload Folder,然后就开始传输了,等传输完成,ssh服务器代码就跟本地一样了。
然后每次修改代码后,再 Ctrl + S 保存的时候,都会自动同步代码到ssh服务器了,完全自动,不需要人工干预。
7. 其他相关好用插件
DocBlockr:自动给函数变量增加注释功能,可以修改配置设置哪些需要那些不需要,一般建议修改配置都是修改 Setting User 级别的配置
Encoding Helpr: 编码助手,再安装完插件后,右下角会显示当前文件的编码,非常方便,特别是识别UTF8、GBK、UTF8 with BOM 等编码非常好用
PHP Code Beautifier:PHP代码美化插件
Compare Side-by-Side:对比两个代码文件的差异
SVN/Git:相关版本管理工具
//...继续添加中