关键词

SublimeText3配置PHP函数追踪定位插件

下面是SublimeText3配置PHP函数追踪定位插件的完整攻略:

准备工作

首先你需要安装SublimeText3和插件控制器Package Control,安装方法可以访问官网进行查看。

安装插件

打开SublimeText3,使用快捷键Ctrl+Shift+P打开命令面板,输入“Install Package”,等待列表加载完毕之后输入“PhpFunctionCall”进行插件搜索。找到对应插件PhpFunctionCall并安装即可。

配置插件

在SublimeText3下,使用快捷键Ctrl+Shift+P打开命令面板,输入“Preferences:Browse Packages”打开插件目录,找到PhpFunctionCall文件夹下的phpcall.py文件,编辑如下代码:

import sublime, sublime_plugin, os, re

class PhpcallCommand(sublime_plugin.TextCommand):

    def run(self, edit):
        word = self.view.substr(self.view.word(self.view.sel()[0]))
        fullPath = self.view.file_name()

        root, ext = os.path.splitext(fullPath)
        path, name = os.path.split(root)

        pattern = '({0}\..*\.php)'.format(name)
        self.files = [os.path.join(dp,f) for dp, dn, filenames in os.walk(path) 
                                    for f in filenames if os.path.splitext(f)[1]=='.php' and re.match(pattern, f)]

        funcs = []
        for f in self.files:
            fn = os.path.basename(f)
            with open(f, encoding="utf-8") as source:
                    for line in source:
                        if re.match(".*function[ \t]+{0}".format(word), line):
                            funcs.append("{0}:{1}".format(fn, line.strip()))
        if not funcs:
            sublime.status_message('Function not found in project files')
        else:
            self.view.window().show_quick_panel(funcs, self.on_done)

    def on_done(self, idx):
        if idx >= 0:
            file, line = self.funcs[idx].split(':')
            self.view.window().open_file("{0}:{1}".format(file, line), sublime.ENCODED_POSITION)

该代码片段的作用是在项目文件中查询指定函数的调用情况,并在SublimeText3中进行打开跳转。

使用示例

假设现有如下代码片段:

<?php
class Test {
    public function demo() {
        echo "Hello World!";
    }
}

$t = new Test();
$t->demo();
?>

我们想要查找关于Test类中的demo()方法的调用情况,则可以使用快捷键Ctrl+Shift+P打开命令面板,输入“Phpcall”,在下方输入框中输入“demo”并回车,插件会在项目文件中查找demo方法的调用情况,并在使用SublimeText3打开的项目文件中进行跳转。

另外一个示例,假设现有如下代码片段:

<?php
function test(){
    echo "Hello World!";
}
test();
?>

我们想要查找关于test()方法的调用情况,则可以使用快捷键Ctrl+Shift+P打开命令面板,输入“Phpcall”,在下方输入框中输入“test”并回车,插件会在项目文件中查找test方法的调用情况,并在使用SublimeText3打开的项目文件中进行跳转。

以上就是SublimeText3配置PHP函数追踪定位插件的完整攻略。

本文链接:http://task.lmcjl.com/news/6110.html

展开阅读全文