Pular para o conteúdo

Editores

VSCode InstallsOpen VSX Installs

O LikeC4 oferece uma extensão oficial para VS Code, de código aberto e disponível no GitHub.
A extensão oferece:

  • Validação e exibição de erros
  • Realce semântico de sintaxe
  • Pré-visualização e edição em tempo real
  • Autocompletar e navegação pelo código
  • Resolução de referências (como find all references e go to definition)
  • Renomeação segura
  • Informações ao passar o cursor
  • Servidor MCP

A extensão também pode ser executada no navegador.

Experimente o projeto example-cloud-system usando:

Para utilizar outros editores além do VS Code, instale o pacote do servidor de linguagem independente:

Terminal window
npm install -g @likec4/lsp

Isso instala o executável likec4-lsp, um servidor de linguagem autossuficiente, distribuído com todas as dependências incluídas. O transporte é detectado automaticamente pelos argumentos de linha de comando: --stdio, --node-ipc, --socket=<port>, --pipe=<name>.

O LikeC4 possui um plugin para Neovim com realce de sintaxe e integração LSP para navegação e autocompletar código.

O plugin oferece:

  • Inicialização automática do servidor de linguagem LikeC4 para arquivos com extensão .c4
  • Validação e exibição de erros
  • Realce semântico de sintaxe
  • Autocompletar e navegação pelo código
  • Resolução de referências (como find all references e go to definition)
  • Renomeação segura (lembre-se de salvar os buffers)
  • Informações ao passar o cursor
  • Pré-visualização e edição em tempo real

O likec4.nvim está disponível em um repositório separado no GitHub. Instalação:

{
'likec4/likec4.nvim',
build = 'npm install -g @likec4/lsp'
}

Ainda não existe um pacote MELPA, mas é possível configurar o servidor de linguagem independente @likec4/lsp em poucas linhas.

Primeiro, defina um modo principal derivado de prog-mode para que o cliente LSP saiba a quais buffers se conectar:

;; Major mode for .c4 / .likec4 files
(define-derived-mode likec4-mode prog-mode "LikeC4"
"Major mode for LikeC4 architecture diagram files."
(setq-local comment-start "// ")
(setq-local comment-start-skip "//+ *")
(setq-local comment-end ""))
(add-to-list 'auto-mode-alist '("\\.c4\\'" . likec4-mode))
(add-to-list 'auto-mode-alist '("\\.likec4\\'" . likec4-mode))

Em seguida, escolha um dos dois clientes LSP:

(use-package eglot
:ensure t
:hook ((likec4-mode . eglot-ensure)))
(with-eval-after-load 'eglot
(add-to-list 'eglot-server-programs
'(likec4-mode . ("likec4-lsp" "--stdio"))))
(use-package lsp-mode
:ensure t
:commands lsp
:hook ((likec4-mode . lsp))
:init (setq lsp-keymap-prefix "C-c l")
:config (setq lsp-enable-snippet t))
(with-eval-after-load 'lsp-mode
(add-to-list 'lsp-language-id-configuration
'(likec4-mode . "likec4"))
(lsp-register-client
(make-lsp-client
:new-connection (lsp-stdio-connection '("likec4-lsp" "--stdio"))
:activation-fn (lsp-activate-on "likec4")
:server-id 'likec4-lsp)))

Ambas as opções oferecem validação, realce semântico de sintaxe, autocompletar, navegação até definições, documentação contextual e renomeação segura, assim como o plugin do Neovim.

Agradecimentos a @vincent067 pela configuração original apresentada em #2268.

O LikeC4 possui uma extensão comunitária para Zed: zed-likec4.

O LikeC4 possui um plugin para IDEs JetBrains com realce de sintaxe e integração LSP para navegação e autocompletar.

O plugin está disponível no JetBrains Marketplace e no GitHub.