下面是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