Quais recursos de um IDE o tornariam mais útil que um editor de uso geral

10

Estou criando um IDE para a linguagem Lua. Acho que muitos programadores não gostam de usar o IDE e preferem o VIM (que está em voga no momento), SCiTE ou.

Ao tentar ganhar um pouco de atenção, estou interessado em quais recursos um IDE poderia fornecer que o tornaria uma alternativa atraente a um editor de propósito geral.

Existe um "aplicativo matador", por assim dizer, para um IDE que o tornaria um "must-have"?

Isso poderia ser pensado como o reverso de

Recursos mais úteis do VIM que não são padrão em um IDE

Não vou vincular ao meu IDE a menos que alguém pergunte - mas você pode pesquisar no Google apenas o meu nome e encontrá-lo.

EDIT: Meu IDE é na verdade um plug-in de idioma para um IDE existente, portanto, herdo muitos recursos do IDE do host - em algum nível, embora meu suporte ao idioma seja um IDE por si só - pelo menos na medida em que aspectos específicos da linguagem sejam em causa.

sylvanaar
fonte

Respostas:

19
  1. Recursos de refatoração (Renomear afeta dependências / Método de extração / Interface de extração etc.)
  2. Intellisense (ou qualquer outra funcionalidade de conclusão de código)
  3. Verificação de erro (o IDE realmente conhece seus símbolos)
  4. Sem problemas de configuração
  5. Compilador integrado
  6. Depurador integrado
  7. Melhor navegação de e para referências / declarações
  8. Modelos de projeto / modelos de arquivo
  9. Construtores de GUI
  10. Pode gerar automaticamente o código padrão
  11. É intuitivo e pode ser usado sem conhecer todas as chaves mágicas (ei, é por isso que as GUIs se tornaram bem-sucedidas em primeiro lugar)

No geral, como @Thomas Owens afirmou, a maior vantagem do IDE é a integração de ferramentas com seus efeitos de sinergia como um todo, enquanto ainda é intuitivo e fácil de usar.

Falcão
fonte
3
No geral, eu diria a integração de ferramentas como um todo - integração com controle de versão, servidor de integração contínua, rastreador de erros, compilador, depurador, criador de perfil, análise estática e assim por diante. Eu diria que o compilador e o depurador integrados são um grande negócio, mas ter tudo em um pequeno e agradável pacote é útil.
Thomas Owens
@ Thomas Owens: É verdade, mas eu não listei o controle de origem, por exemplo, como você pode integrar o controle de fonte facilmente no vim, então isso não é grande coisa, afinal é apenas uma chamada de linha de comando e, por exemplo, eu gosto mais de Tortoise que AnkhSVN. Eu listaria os criadores de perfil, mas nem todos os IDEs vêm com um (o VS, por exemplo, não tem nenhum fora da caixa). As métricas são um ponto interessante, mas, novamente, apenas o mais novo VS oferece um novo modelo.
Falcon
No Eclipse e no NetBeans, muito do que eu mencionei é baseado em plug-ins, embora existam muitos plug-ins (ou módulos ou extensões) para vim e emacs, também, com recursos diferentes. Eu acho que isso é legal em todas as ferramentas - é fácil escolher o que você quer que seja produtivo.
Thomas Owens
Eu acho que tenho a maior parte dessa lista em um grau ou outro. Além disso, formatação de código. e até suporte para ajuda integrada para APIs e bibliotecas personalizadas. Sua lista é bastante abrangente. Talvez tudo se resume a preferência pessoal no final, e não há muito mais que eu possa fazer. (My IDE é um plugin IntelliJ - talvez seja demais para alguns)
Sylvanaar
2
Gostaria de esclarecer que coisas como Refatorar / Renomear são vários arquivos (em todo o projeto) - quando renomear um método ou variável, PyCharm (por exemplo) aplicará a renomeação em todos os arquivos do projeto, não apenas no atualmente editado como um editor faria. Caso contrário, certamente concordo com esta lista. Eu comprei e começou a usar PyCharm recentemente, e quanto mais eu aprender, mais eu gosto dele (apesar de falhas ocasionais :)
Cyclops
8

A grande diferença entre um IDE e um editor de texto geral é que os IDE entendem a linguagem de programação com a qual você está trabalhando e podem completar funções / métodos automaticamente, verificar erros como tipo errado e gramática incorreta. Um IDE também possui ferramentas como um compilador integrado para que você possa compilar e executar seu programa com comandos no seu IDE.

Mas acho que o VIM pode fazer mais do que um editor de texto geral; talvez você possa vê-lo como um IDE em alguns casos.

Jonas
fonte
2
+1 para "entender o idioma". Quase tudo o resto se segue disso, eu acho.
Dean Harding
sim - minha implementação de suporte ao idioma é sensível sintática e semanticamente.
Sylvanaar
4

Ferramentas de refatoração

A única razão pela qual não estou usando meu editor de texto de uso geral favorito para codificação. Como se você precisar fazer macro-refatorações de código comum em seu objetivo geral favorito, também poderá estar usando um IDE que tenha essas ferramentas instaladas.

Menos que dizer que a maioria dos IDEs tem a funcionalidade útil que o emacs possui, ele está apenas escondido em alguma combinação arbitrária de pressionamento de tecla.

Spoike
fonte
2

É bom ter recursos de um IDE que não é encontrado no editor de texto: 1. Intellisense (preenchimento automático e sugestões)

  1. Integração com compilador

  2. Integração com sistema de depuração

  3. Integração com controle de versão

  4. Integração com sistema de banco de dados

  5. Verificação de sintaxe dinâmica e ajuda

  6. Coloração de sintaxe

  7. Lida com projetos, não apenas arquivos de código

  8. Localiza onde um método é usado e desenha um gráfico (atualmente não encontrado na maioria dos IDEs)

  9. Registra componentes (dependendo do seu idioma)

  10. Integração com editor (es) da GUI

  11. Segmentos de código de indicadores

  12. Segurança e compartilhamento de fontes entre os desenvolvedores

  13. Restauração do projeto para versões anteriores

  14. Várias configurações de projeto (teste, desenvolvimento, produção)

  15. Os recursos do IDE podem ser configurados

  16. Comparação inteligente de código-fonte

  17. Renomeação automática de vars, métodos, etc.

Eu não acho que criar um novo IDE seja útil.

NoChance
fonte
Eu deveria ter mencionado que é um plugin para um IDE existente. Vou editar minha pergunta.
Sylvanaar
2

Eu adoraria ter um IDE com um editor totalmente personalizável como o Emacs. Não quero escrever plugins e, em seguida, reiniciar o IDE para testá-los. Quero definir ações em uma linguagem de script (por exemplo, python, ruby) e poder usá-las imediatamente, vinculá-las a sequências de chaves etc. A linguagem deve poder manipular todo o espaço de trabalho.

Kevin Cline
fonte
1

Três coisas sempre decidem se vou ou não usar um IDE específico:

  • autocompletar
  • Um construtor de GUI visual
  • Ferramentas de dados para algum tipo de ORM integrado

Geralmente, uso o IDE que possui o máximo desses recursos ou que os faz melhor. Essas são as três coisas que tendem a aumentar mais a produtividade, reduzindo a codificação padrão (GUI e DAL) e reduzindo o tempo de reflexão (o preenchimento automático permite que eu pule muitas falhas na API).

Morgan Herlocker
fonte
Eu teria classificado as ferramentas de refatoração muito mais altas que os construtores de GUI. Nem todos os programas têm GUIs, mas todos podem ser objeto de refatoração em algum momento.
FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner - cada um na sua, eu acho. Eu raramente uso ferramentas de refatoração. Eu realmente não tenho nada contra eles; Geralmente, prefiro refatorar manualmente para garantir que não quebre nada.
Morgan Herlocker
Eu costumava fazer isso também, acho que desconfiava dessas ferramentas no começo. E é verdade que, se elas são mal implementadas, geralmente é melhor refatorar manualmente, mas quando essas ferramentas são executadas corretamente, são INCRÍVEIS !
FrustratedWithFormsDesigner