【转载】Sublime Text 3设置吊炸天PHP开发环境

@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/](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/](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:相关版本管理工具

//...继续添加中

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容