Os servidores de linguagem do Singularity adicionam autocompletar, diagnósticos e navegação no código ao seu editor, com 31 servidores para as principais linguagens. O protocolo LSP separa o editor da ferramenta que entende uma linguagem: você ativa o servidor desejado sem configurar o protocolo.
Quais linguagens são aceitas?
| Área | Servidores |
|---|---|
| Web | TypeScript/JavaScript, JSON, HTML, CSS/SCSS/Less, Vue, Svelte, GraphQL |
| Sistemas | Rust, Go, C/C++, Zig, Swift |
| Aplicações | Python (Pyright e Ruff), Java, Kotlin, C#, PHP, Ruby, Dart, Elixir, Haskell, Lua |
| Infra e formatos | Bash, PowerShell, Dockerfile, Terraform, Ansible, YAML, TOML, Markdown |
Python e YAML têm dois servidores possíveis cada: a ordem de registro determina qual cuida de um arquivo quando as extensões se sobrepõem.
O que isso traz para o editor?
Autocompletar ao digitar ou com Ctrl + Espaço, informações ao passar o cursor, ajuda de assinatura, diagnósticos, ações rápidas, dicas integradas e estrutura de símbolos. O menu de contexto leva à definição, ao tipo ou à implementação, busca referências, renomeia e formata. Cmd + T ou Ctrl + T busca os símbolos do projeto.
Como ativar um servidor no dia a dia?
- Abra as configurações e depois LSP, e verifique se a integração geral está ativa.
- Ative a linguagem desejada e abra um arquivo correspondente.
- Verifique o modo de execução. Uma entrada
npxbaixa a versão fixada se necessário; uma entradaon PATHexige que você instale o servidor. - Atualize todos quando o painel indicar novas versões.

Quais são os limites?
Um servidor não executa seu programa: valide sempre com as ferramentas do projeto. Imports automáticos, formatação de seleção, tokens semânticos e pré-visualização integrada de uma definição não estão disponíveis atualmente. Servidores do PATH são atualizados pelo gerenciador habitual.
Perguntas frequentes
Os servidores de linguagem são pagos?
Não. Os 31 plugins de servidores de linguagem são gratuitos.
Por que um servidor não inicia?
Verifique o comando no PATH para uma entrada on PATH, ou Node.js, npm e o acesso ao registro para uma entrada npx. Os logs com escopo lsp indicam o erro.
Posso usar Pyright e Ruff juntos?
O Python tem os dois servidores, mas a ordem de registro determina qual cuida de um arquivo quando as extensões se sobrepõem.