- Configuração do ambiente Emacs no estilo de uma IDE mainstream para que até iniciantes possam usar imediatamente
- Reproduz no Emacs recursos principais como tema do VSCode, explorador, abas, múltiplos cursores e autocompletar
- Suporte padrão a GUI e uso com mouse, com possibilidade de configuração pela interface
custom - Oferece um ambiente de edição completo tanto para desenvolvedores Lisp (Sly/Geiser) quanto para não programadores
- Reduz a barreira de entrada tradicional do Emacs e oferece um ponto de partida fácil para novos usuários se adaptarem
Visão geral do IDEmacs
- O IDEmacs é um conjunto de configurações que permite usar o Emacs como uma IDE com GUI, semelhante ao Visual Studio Code ou Sublime Text
- Mantém os recursos poderosos do Emacs, mas oferece uma interface familiar para iniciantes
- O público principal é dividido em três grupos
- Programadores vindos de outras IDEs ou usuários que estão aprendendo a programar pela primeira vez
- Iniciantes em Common Lisp e Scheme (inclui Sly/Geiser e recursos de edição estrutural)
- Não programadores que querem editar documentos em Org, Markdown e LaTeX
- O objetivo é reduzir a barreira de entrada, oferecendo um ambiente pronto para uso imediato a quem estranha a experiência padrão do Emacs
Principais características
- Suporte a GUI e mouse
- Ao contrário da maioria dos starter kits, não esconde elementos da GUI
- Suporta configuração pela GUI
custom(sem necessidade de editar Elisp diretamente)
- Atalhos no estilo IDE
- Baseado no modo CUA, reproduz amplamente atalhos usados no VSCode e afins
- Diferente de Spacemacs e Doom, que usam o modo
Evil, a interação é centrada na GUI
- Configuração no nível de uma distribuição completa do Emacs
- Ambiente rápido e sem necessidade de ajustes iniciais
- Composto por código Elisp amplamente comentado, que também pode servir como material de estudo
- O nível de objetivo não é uma cópia perfeita, mas sim oferecer uma experiência “parecida o suficiente”
Configuração do VSCode (em andamento)
- Atualmente é a única configuração de IDE disponível
- Elementos incluídos
- Tema VSCode Dark Plus
- Explorador de arquivos lateral Treemacs
- Barra de abas Centaur Tabs
- Exibição de caminho de arquivo com breadcrumb
- Destaque automático de símbolos com idle-highlight-mode
- Implementa a maior parte dos atalhos de “General”, “Basic Editing”, “Rich Languages Editing” e “Multi-cursor” do VSCode
- Principais pacotes
- Edição:
whole-line-or-region,expand-region,multiple-cursors,smartparens - Controle de versão:
vc,magit,diff-hl,blamer - Autocompletar:
Vertico,orderless,Consult,marginalia,company - Desenvolvimento Lisp:
sly,geiser,adjust-parens - Outros:
eat(terminal),org-superstar,pdf-tools,undo-tree,helpful,rainbow-mode - A organização do código é gerenciada com
use-package
- Edição:
Configuração de atalhos
- Mapeia os atalhos do VSCode para comandos do Emacs
- Ex.:
C-S-p→ paleta de comandos (execute-extended-command)C-p→ abrir arquivo (consult-locate)C-S-n→ nova janela (make-frame)C-w→ fechar janela (idemacs-kill-buffer-noprompt)C-,→ configurações do usuário (customize)
- Ex.:
- Define comandos correspondentes por categoria, como edição básica, múltiplos cursores, navegação, gerenciamento de arquivos e controle de exibição
- Alguns atalhos ainda se comportam de forma diferente do VSCode e estão marcados como TODO
Participação e pedido de contribuição
- O projeto pede aos usuários que forneçam feedback após usar o IDEmacs
- Compartilhar observações sobre iniciantes, opiniões via Jabber/XMPP ou pelo issue tracker
- Para desenvolvedores, recomenda-se participar melhorando o código e expandindo recursos
Projeto relacionado
- Mousemacs (GitHub: seamus-brady/mousemacs)
- Uma distribuição que faz o Emacs funcionar como o Sublime Text ou o VSCode
- Foi criada para aprendizado de Lisp e oferece uma interface amigável ao mouse
- Mantém todos os recursos do Emacs com um tema simples
Como instalar e executar
- Dependências obrigatórias
- Emacs 29 ou superior,
git, fonte DejaVu Sans Mono
- Emacs 29 ou superior,
- Dependências opcionais
grep,locateouplocate
- Procedimento de instalação
- Clonar o repositório
git clone https://codeberg.org/IDEmacs/IDEmacs - Executar o Emacs com conexão à internet
emacs --init-directory=/path/to/IDEmacs/vscode
- Na execução, os pacotes necessários do Emacs são baixados automaticamente
- Clonar o repositório
Outros
- No momento, além da configuração do VSCode, não há outros estilos de IDE disponíveis
- Menciona a possibilidade de novas implementações de GUI no futuro, se houver recursos
- Não há informações adicionais no texto original
1 comentários
Comentários do Hacker News
As pessoas que acham o VSCode fácil precisam de um choque de realidade
Na primeira execução, ele dá uma sensação de sobrecarga com pop-ups, barra lateral, tooltips e afins
Também sou usuário de Emacs, mas não vou dizer que o Emacs é intuitivo
Só que o VSCode também não é uma ferramenta magicamente fácil; ele é apenas uma opção popular
Árvore de arquivos, editor, terminal, conclusão com tab e instalação de extensões costumam cobrir quase todo o escopo de interação da maioria dos usuários
Se algo não vem por padrão ou não pode ser adicionado facilmente por extensão, a maioria simplesmente não usa
Mas o nível de complexidade do VSCode não se compara ao do vim ou do Emacs
Com um tutorial curto ou uns 30 minutos mexendo, já dá para se acostumar
Já o neovim exigiu literalmente um livro inteiro
Tentei o RustRover recentemente e foi difícil chegar à configuração que eu queria só clicando
Isso me fez sentir que a suposta “facilidade” das IDEs pode ser mais ilusória do que parece
Há muitas ferramentas que oferecem interfaces comuns, como seletor de arquivos padrão ou atalhos CUA
Por isso hoje estou mais satisfeito usando alternativas como Zim-wiki em vez de Emacs
Já quem trabalhou principalmente com tmux, vi, nano ou emacs pode estranhar bastante
O Emacs não é apenas uma IDE, mas uma ferramenta de filosofia e liberdade
Há muitos projetos focados em casos de uso centrados em programação, mas no VSCode já dá para reproduzir 75% disso com keybindings de Emacs
A essência do Emacs está nessa abordagem de te dar uma “caixa de peças” para você mesmo montar
É como uma “arma elegante para uma era mais civilizada”
A maioria das estruturas de dados é mutável, e há muitas funções imperativas como
setqFico em dúvida se layouts de janela fixos realmente funcionam bem no Emacs
Quando tentei isso no passado, o painel do Treemacs às vezes mostrava buffers de código em vez do visualizador de arquivos
Recentemente ficou bem mais fácil configurar o Emacs como IDE
Graças ao eglot embutido, hoje é preciso muito menos código elisp do que antes, e a configuração de Python pode caber em uma linha
Por isso, projetos assim parecem mais um portal de entrada para iniciantes do que algo voltado a usuários antigos como eu
Dava para integrar REPL de OCaml, emulador 68000 e gdb sem grandes configurações
Depois migrei para vim por causa de ambientes em servidores remotos, mas ao testar Emacs de novo recentemente percebi que o gerenciamento de pacotes ficou muito mais refinado
Ainda assim, as ferramentas de DevOps/SRE continuam deixando a desejar
Gosto de projetos de pacotes empacotados como Spacemacs e Doom
Não uso diretamente, mas eles me ajudam a descobrir pacotes novos e me dão uma desculpa para mexer na configuração de novo
minimapme chamou especialmente a atençãoÉ um nome simples, mas tão certeiro para o propósito que me fez sorrir
Gostaria que existisse um projeto para reconstruir a UI do Emacs de forma moderna
Mantendo o núcleo intacto, mas com uma interface visualmente mais distinta e menos cansativa para os olhos
Também gostava daquele recurso de editores antigos baseados em Lisp em que, ao pressionar Ctrl, apareciam dicas dos atalhos
A UI está ok; o problema mais urgente é a arquitetura de thread única e os travamentos frequentes
A realidade de ter que apertar C-g uma vez por dia precisa melhorar
Ele roda sobre curses/SDL2 e herda o estilo do Emacs
Antes era um pacote externo, mas recentemente foi integrado ao próprio Emacs
Link do commit relacionado
O fato de ela funcionar com a mesma aparência tanto em ambiente gráfico quanto no terminal é uma grande vantagem
Gosto especialmente de como o Treemacs fica igual em qualquer lugar
É uma pena que o OniVim v2 não tenha dado certo
Era uma IDE nativa e ao mesmo tempo oferecia suporte completo ao sistema de plugins do VSCode
Link do arquivo do OniVim v2
Isso teria sido útil também para outros desenvolvedores de frontends GUI
O Neovim se comunica por RPC, mas o desempenho ainda é rápido o suficiente
O plugin de Neovim para VSCode também consegue oferecer uma experiência completa de vim graças a essa arquitetura
Usuários de Vim reclamariam da latência de entrada baseada em Electron e da EULA, enquanto usuários de VSCode não têm interesse em Vim
Uso Emacs há mais de 25 anos, e a primeira coisa que faço numa instalação nova é desativar elementos de GUI
Não uso menus nem barra de ferramentas de jeito nenhum
Mas meu orientador usava o Emacs padrão com o mouse para trabalhar com LaTeX, e isso foi uma experiência bem curiosa
Vou continuar usando Doom Emacs, mas fico feliz com tentativas como esta
O Emacs tem muitos plugins de UI inovadores como o Vertico, mas a experiência padrão ainda deixa a desejar
Se projetos assim tornarem o Emacs mais acessível para mais gente, isso é ótimo
Uso Emacs há mais de 15 anos, e meu único desejo é um modo cliente-servidor que permita edição remota como no VSCode
Seria ótimo ter uma solução que funcione bem mesmo em ambientes com alta latência
Se não existir, estou pensando em fazer eu mesmo
Ainda assim, a integração de Python do VSCode é bem decente
-nw) no servidor remoto