tracy-adams-qvsM28o-k3Y-unsplash

Enabling PHP Auto Format on Zed Code Editor

Like VS Code, with plugins and formatter, such as Intelephense or Prettier, you can enable the document format on save. Same goes to Zed code editor , you can also enable auto-format for your PHP documents.

Zed (next generation) code editor is bundled with phpactor and intelephese (freemium), so we can just edit our config on macOS at ~/.config/zed/settings.json.

{
  "languages": {
    "PHP": {
      "format_on_save": "on",
      "enable_language_server": true,
      "language_servers": ["intelephense", "!phpactor"],
      "formatter": "language_server"
    }
  },
}

And, we are good to go. That is all needed to enable the automatic document format for PHP files, on save.

You may also read other configurations I have done.

Below is my full settings.json

// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
  "edit_predictions": {
    "mode": "eager",
    "enabled_in_text_threads": false
  },
  "features": {
    "edit_prediction_provider": "copilot"
  },
  "icon_theme": "Catppuccin Latte",
  "agent": {
    "always_allow_tool_actions": true,
    "default_profile": "write",
    "model_parameters": [],
    "default_model": {
      "provider": "copilot_chat",
      "model": "gpt-5-mini"
    }
  },
  "ui_font_size": 14,
  "buffer_line_height": {
    "custom": 1.6
  },
  "buffer_font_family": "Google Sans Code",
  "buffer_font_size": 12,
  "theme": {
    "mode": "system",
    "light": "One Light",
    "dark": "One Dark Pro"
  },
  "file_scan_inclusions": ["web/app/plugins", "web/app/themes"],
  "soft_wrap": "editor_width",
  "context_servers": {
    "laravel-boost": {
      "enabled": true,
      "source": "custom",
      "command": "php",
      "args": ["artisan", "boost:mcp"],
      "env": {}
    }
  },
  "languages": {
    "CSS": {
      "enable_language_server": true
    },
    "HTML": {
      "enable_language_server": true
    },
    "PHP": {
      "format_on_save": "on",
      "enable_language_server": true,
      "language_servers": ["intelephense", "!phpactor"],
      "formatter": "language_server"
    }
  },
  "lsp": {
    "tailwindcss-language-server": {
      "settings": {
        "tailwindCSS": {
          "validate": true
        }
      }
    }
  }
}

No comments yet