ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

Phpactor

tkotosz ST3

Sublime phpactor 插件

详细信息

  • 1.0.0
  • github.​com
  • github.​com
  • 4年前
  • 10分钟前
  • 4年前

安装次数

  • 总计 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

阅读

源代码
raw.​githubusercontent.​com

sublime-phpactor-plugin

Sublime 集成到通过其 PhpactorRPC 协议进行通信。

一般信息

在命令面板 (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

现在您可以开始了,但请注意以下两点

  1. 默认情况下,“查找引用”命令使用 git 模式,但您可以切换到 composer 模式(警告:速度较慢)——后者将在 vendor 中发现引用。您可以通过如下方式在包设置中更改模式:
{
    "phpactor_bin": "/absolute/path/to/bin/phpactor",
    "command_settings": {
        "references": {
            "filesystem": "git"
        }
    }
}

其中 filesystem 可以是“git”或“composer”。

  1. “转到实现”命令需要索引,如果您想使用此命令,请确保按如下方式启动 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。