Recentemente resolvi migrar do VSCode para o ZED editor e aqui vai o setup para uso e formatação com projetos em CodeIgniter4.
Extensões:
- HTML
- Dockerfile
- Docker Compose
- SQL
- PHP
- XML
- LOG
- CSV
- HTML Snippets
- PHP Snippets
- Git Firefly
- Catppuccin
- Catppuccin Icons
Na raiz do projeto, dentro da pasta .zed, modifico as seguinte diretivas para não conflitar o LSP (Language Server Protocol):
{
"languages": {
"CSS": {
"language_servers": ["!tailwindcss-language-server", "..."],
},
"HTML": {
"language_servers": ["!tailwindcss-language-server", "..."],
},
"PHP": {
"language_servers": [
"intelephense",
"custom-code-folding",
"!phpactor",
"!phptools",
"!phpantom",
"!tailwindcss-language-server",
"...",
],
},
},
}
Nas views, anotar as variáveis no topo:
<?php
/**
* @var string $titulo
* @var App\Entities\Chamado[] $chamados
* @var int $totalPendentes
*/
?>
<h1><?= $titulo ?></h1>Prefiro padronizar o code formatter com o php-cs-fixer. Então vamos declarar o pacote no projeto:
composer require --dev friendsofphp/php-cs-fixerInstalar o binário do php-cs-fixer globalmente:
curl -L https://cs.symfony.com/download/php-cs-fixer-v3.phar -o php-cs-fixer
chmod +x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixerPara o ZED usar o php-cs-fixer, ele tem que usar um wrapper que aplica o fix no arquivo e depois manda o conteúdo já corrigido:
#!/usr/bin/env bash
set -e
FILE="$1"
php-cs-fixer fix --quiet "$FILE" >/dev/null 2>&1
cat "$FILE"Salve esse script como php-cs-fixer-format, executável (chmod +x), em uma pasta no seu perfil, .zed, por exemplo e chame ele no settings.json do ZED:
"formatter": {
"external": {
"command": "/Users/SEU_USUARIO/.zed/php-cs-fixer-format",
"arguments": ["{buffer_path}"]
}
}