Phpactor
Sublime phpactor 插件
详细信息
安装次数
- 总计 15K
- Win 12K
- Mac 1K
- Linux 2K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | 6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 3 | 2 | 0 | 0 | 3 | 3 | 3 | 2 | 0 | 0 | 1 | 4 | 1 | 5 | 4 | 1 | 1 | 2 | 0 | 1 | 5 | 0 | 0 | 1 | 3 | 5 | 3 | 1 | 1 | 0 | 2 | 1 | 1 | 2 | 1 | 1 | 1 | 0 | 0 | 4 | 2 | 0 | 3 | 2 | 3 | 2 |
Mac | 1 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 3 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 3 | 0 | 0 | 1 | 4 | 1 | 2 | 1 | 0 | 2 | 0 | 0 | 0 | 4 | 3 | 1 | 1 | 1 | 2 | 0 | 1 | 0 | 1 | 1 |
阅读
sublime-phpactor-plugin
Sublime 集成到通过其 Phpactor 的 RPC 协议进行通信。
一般信息
在命令面板 (CTRL+P) 中可用的命令
[
{ "caption": "Phpactor: Status", "command": "phpactor_echo", "args": { "message": "Phpactor Status: OK" } },
{ "caption": "Phpactor: Offset Info", "command": "phpactor_offset_info" },
{ "caption": "Phpactor: Context Menu", "command": "phpactor_context_menu" },
{ "caption": "Phpactor: Navigate", "command": "phpactor_navigate" },
{ "caption": "Phpactor: Goto Definition", "command": "phpactor_goto_definition" },
{ "caption": "Phpactor: Goto Type", "command": "phpactor_goto_type" },
{ "caption": "Phpactor: Goto Implementation", "command": "phpactor_goto_implementation" },
{ "caption": "Phpactor: Find References", "command": "phpactor_references" },
{ "caption": "Phpactor: Transform", "command": "phpactor_transform" },
{ "caption": "Phpactor: Transform - Complete Constructor", "command": "phpactor_transform", "args": { "transform": "complete_constructor" } },
{ "caption": "Phpactor: Transform - Add Missing Properties", "command": "phpactor_transform", "args": { "transform": "add_missing_properties" } },
{ "caption": "Phpactor: Transform - Fix Namespace & Class Name", "command": "phpactor_transform", "args": { "transform": "fix_namespace_class_name" } },
{ "caption": "Phpactor: Transform - Implement Contracts", "command": "phpactor_transform", "args": { "transform": "implement_contracts" } },
{ "caption": "Phpactor: Generate Accessor", "command": "phpactor_generate_accessor" },
{ "caption": "Phpactor: Generate Method", "command": "phpactor_generate_method" },
{ "caption": "Phpactor: Extract Constant", "command": "phpactor_extract_constant" },
{ "caption": "Phpactor: Extract Expression", "command": "phpactor_extract_expression" },
{ "caption": "Phpactor: Extract Method", "command": "phpactor_extract_method" },
{ "caption": "Phpactor: Override Method", "command": "phpactor_override_method" },
{ "caption": "Phpactor: Change Visibility", "command": "phpactor_change_visibility" },
{ "caption": "Phpactor: Rename Variable", "command": "phpactor_rename_variable" },
{ "caption": "Phpactor: Import Class", "command": "phpactor_import_class" },
{ "caption": "Phpactor: Import Missing Classes", "command": "phpactor_import_missing_classes" },
{ "caption": "Phpactor: Copy Class", "command": "phpactor_copy_class" },
{ "caption": "Phpactor: Move Class", "command": "phpactor_move_class" },
{ "caption": "Phpactor: Class New", "command": "phpactor_class_new" },
{ "caption": "Phpactor: Class Inflect", "command": "phpactor_class_inflect" },
]
您可以将这些命令中的任意一个绑定到 sublime-keymap 配置中的键组合(首选项 > 键绑定)。例如,要在“alt+enter”时显示 phpactor 的上下文菜单
{ "keys": ["alt+enter"], "command": "phpactor_context_menu" }
另一个示例是在“F12”时运行 phpactor 的“转到定义”
{ "keys": ["f12"], "command": "phpactor_goto_definition" }
您还可以在 sublime-mousemap 配置中将命令绑定到鼠标动作(不在菜单中,需要手动创建“Default (Linux).sublime-mousemap”文件)。例如,在“ctrl+leftmousebuttonclick”时运行 phpactor 的“转到定义”命令
[
{
"button": "button1",
"count": 1,
"modifiers": ["ctrl"],
"press_command": "drag_select",
"command": "phpactor_goto_definition"
}
]
如何安装插件?
由于尚未在 sublime 扩展包控制存储库中发布,您可以通过以下方式安装它:1. 打开命令面板(CTRL+P)并运行“Package Control: Add Repository”命令,并提供此信息:https://github.com/tkOTOSZ/sublime-phpactor-plugin 2. 应该在状态栏(左下角)看到消息,说明已成功添加存储库 3. 打开命令面板(CTRL+P)并运行“Package Control: Install Package”命令,选择 sublime-phpactor-plugin(由于默认使用存储库名称,因此显示该名称 - 一旦在包控制存储库中发布,它将具有正确的名称) 4. 完成,已安装插件
安装后:插件默认使用 /usr/local/bin/phpactor 来查找 phpactor,如果您的 phpactor 安装在其他位置,则可以在包配置中指定该位置:在“首选项 > 包设置 > Phpactor > 设置 - 用户”中:您可以在“首选项 > 包设置 > Phpactor > 设置 - 默认”中找到默认配置。您的用户配置应如下所示
{
"phpactor_bin": "/absolute/path/to/bin/phpactor"
}
命令面板中可用的所有 phpactor 命令也可以绑定到按键,有关说明,请参阅此处:https://github.com/tkOTOSZ/sublime-phpactor-plugin
现在您可以开始了,但请注意以下两点
- 默认情况下,“查找引用”命令使用 git 模式,但您可以切换到 composer 模式(警告:速度较慢)——后者将在 vendor 中发现引用。您可以通过如下方式在包设置中更改模式:
{
"phpactor_bin": "/absolute/path/to/bin/phpactor",
"command_settings": {
"references": {
"filesystem": "git"
}
}
}
其中 filesystem 可以是“git”或“composer”。
- “转到实现”命令需要索引,如果您想使用此命令,请确保按如下方式启动 phpactor 索引器:
bin/phpactor index:build --watch --working-dir=/绝对路径/to/你的/project/目录
自动完成
对于自动完成,您可以使用 RPC 命令或使用语言服务器实现。由于语言服务器实现提供了更好的集成,所以我推荐配置语言服务器。1. 安装 Sublime LSP 插件:https://github.com/sublimelsp/LSP 2. 配置它使用 Phpactor:https://phpactor.readthedocs.io/en/develop/lsp/sublime.html
另一方面,如果您想使用基于 RPC 的完成,可以在 首选项 > 包设置 > Phpactor > 设置 - 用户
开启。
{
"command_settings": {
"complete": {
"enabled": true
}
}
}
请注意,它可以提供自动完成,但该插件可能无法完美处理,我不会花太多时间来改进,因为我将使用 LSP。