Vitor Bellini
Todos os posts

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.

1.00

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+clique em authorize('view', $model) abre a Policy; em route('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() e it(): 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 f roda 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

1 curtida