Fiz um PhpStorm no Neovim.
3 min de leitura #meus-projetos #inteligencia-artificial
O nome é neostorm. Tem os atalhos do PhpStorm no Mac (Cmd+B, Shift+F6, Alt+Enter, Cmd+9). É feito para Laravel e Vue e roda no Ghostty e no Neovide.

Interface
- Ilhas: cada coluna de arquivo e cada painel é um bloco sobre um fundo escuro, separados por um vão de uns 3px.
- Barra de ferramentas na direita: Projeto, Commit e Structure em cima; Problems, Run, Terminal, Claude e Git embaixo. O ícone do Run fica verde enquanto algo está rodando. Me acostumei assim e preferi manter.
- Abas de arquivo em cards, com ● no arquivo não salvo.
- Breadcrumb clicável no topo do editor e barra de status como a do PhpStorm, com a branch clicável.
- Dashboard ao abrir, com os arquivos recentes e a sessão do projeto por branch.
- Fonte Monaspace Argon.
Editor
- Contagem de usos acima de classes e métodos (
3 usos,sem usos). Em controllers, conta também as rotas (7 rotas). - Refactor This (
Ctrl+T): Rename, Extract Method, Introduce Variable, Introduce Constant, getters e setters, completar construtor, implementar métodos e mais, pelo Phpactor. - Optimize Imports, Reformat Code e ações de código no
Alt+Enter. - Imports do PHP dobrados ao abrir o arquivo.
- Autocomplete com views, rotas, componentes e configs do Laravel.
Laravel
- Endpoints (
Cmd+Option+R): todas as rotas numa lista com busca. O Enter abre o método do controller. - Rotas no fim da linha: em
routes/*.php, cada rota mostra o destino (→ AirlineController@store). - Exemplo de requisição (
Cmd+Option+E): URL completa, método e payload montado das regras de validação. Cmd+cliqueemauthorize('view', $model)abre a Policy; emroute('nome'), abre o controller.- Tinker na seleção (
Cmd+Option+T), com confirmação para código que altera dados. - PHP do projeto: terminal, testes e Claude usam o PHP que o Herd usa para aquele site.
Testes
- ▶ na margem de cada
test()eit(): um clique roda o teste, e a linha ganha ✓ ou ✗. - Árvore de resultados ao lado da saída: falhas primeiro, tempo de cada teste, e o Enter leva para onde o teste quebrou. O
froda de novo só os que falharam. - Cobertura: os números das linhas ficam verdes ou vermelhos, com a porcentagem total.
Git
- Janela de Git (
Cmd+9): painel embaixo com as branches, o log com grafo colorido e os arquivos de cada commit. O botão direito no commit faz cherry-pick, revert, reset e cria uma branch. - Conflitos de merge: cada bloco ganha cor e atalhos para escolher o lado. Uma janela lista os arquivos e deixa continuar ou abortar o merge.
Deixei open em https://github.com/bellinivitor/neostorm