首页 > 代码库 > Sublime Text 3设置吊炸天PHP开发环境

Sublime Text 3设置吊炸天PHP开发环境

【转载】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:相关版本管理工具

//...继续添加中

 

Sublime Text 3设置吊炸天PHP开发环境