Home >Backend Development >PHP Tutorial >Sublime Text Config for Laravel

Sublime Text Config for Laravel

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-01 03:23:09699browse

Sublime Text Config for Laravel

The Original Post is here

Below is the configuration I use when developing Laravel applications with Sublime Text editor.

PLUGINS

  • git
  • git blame
  • git gutter
  • sidebar menu advanced
  • syncedsidebar
  • lsp
  • lsp intelephense
  • lsp bash
  • lsp dockerfile
  • lsp eslint
  • lsp volar
  • vue syntax highlight
  • lsp svelte
  • lsp tailwindcss
  • terminus
  • fileicons
  • a file icon
  • codeium
  • shell exec

To install plugins, open the Command Palette with cmd shift p / alt shift p and select "Install Plugin."

LSP

The LSP plugins require Node.js, so the first step is to install Node.js.

Installation guide: https://github.com/nvm-sh/nvm#installing-and-updating

Usage guide: https://github.com/nvm-sh/nvm#usage

Intelephense

After installation, run the following command:

npm -g i intelephense

Open the menu LSP > Servers > LSP-intelephense under "Package Settings" and configure as follows:

{
    "enabled": true,
    "command": [
        "intelephense",
        "--stdio",
    ],
    "scopes": ["source.php", "embedding.php"],
    "syntaxes": ["Packages/PHP/PHP.sublime-syntax"],
    "languageId": "php",
    "initializationOptions": {
        "clearCache": false,
        "licenceKey": "",
    },
}

Open the Command Palette and select Enable LSP: Enable Language Server.

Preferences Settings

Open with cmd , / alt ,:

{
    "ignored_packages":
    [
        "Git",
        "Git blame",
        "GitGutter",
        "Vintage",
    ],
    "save_on_focus_lost": true,
    "shell_exec_executable": "/bin/zsh",
    "shell_exec_output": "panel",
    "shell_exec_output_word_wrap": false
}

Key Bindings

[
    {
        "command": "lsp_symbol_definition",
        "args": {
            "side_by_side": false
        },
        "keys": [
            "super+enter"
        ],
        "context": [
            {
                "key": "lsp.session_with_capability",
                "operator": "equal",
                "operand": "definitionProvider"
            },
            {
                "key": "auto_complete_visible",
                "operator": "equal",
                "operand": false
            }
        ]
    },

    {
        "command": "lsp_format_document",
        "keys": [
            "super+shift+'"
        ],
        "context": [
            {
                "key": "lsp.session_with_capability",
                "operator": "equal",
                "operand": "documentFormattingProvider | documentRangeFormattingProvider"
            }
        ]
    },
    { "keys": ["super+b"], "command": "toggle_side_bar" },
    { "keys": ["super+t"], "command": "toggle_terminus_panel" },
    { "keys": ["super+shift+o"], "command": "close_all" },
    {
        "keys": ["super+shift+t"],
        "caption": "Terminus: Open Default Shell in Split Tab",
        "command": "terminus_open",
        "args": {
            "post_window_hooks": [
                ["carry_file_to_pane", {"direction": "down"}]
            ]
        }
    },
    {
      "keys": ["super+shift+;"],
      "command": "shell_exec_run",
      "args": {
        "format": "./vendor/bin/pint"
      }
    }
]

Mouse Bindings

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["super"],
        "press_command": "drag_select",
        "command": "lsp_symbol_definition"
    },
    {
        "button": "button1", "count": 1, "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "press_args": {"additive": true}
    }
]

Canonical URL
For more detailed information, visit the original post on my blog.

The above is the detailed content of Sublime Text Config for Laravel. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn