Какие особенности среды IDE сделают ее более полезной, чем редактор общего назначения

10

Я пишу IDE для языка Lua. Я считаю, что многие программисты не любят использовать IDE и предпочитают VIM (который сейчас в моде), SCiTE или.

Пытаясь добиться некоторой доли ума, я заинтересован в том, какие функции может обеспечить среда IDE, которая сделает ее привлекательной альтернативой редактору общего назначения.

Есть ли «приложение-убийца», так сказать, для IDE, которое сделало бы его «обязательным»?

Это можно рассматривать как обратную

Самые полезные функции VIM, которые не являются стандартными в IDE

Я не буду ссылаться на мою IDE, пока кто-нибудь не спросит, но вы можете просто найти в Google мое имя и найти его.

РЕДАКТИРОВАТЬ: Моя IDE на самом деле является языковым плагином для существующей IDE, поэтому я наследую многие функции от IDE хоста - на некотором уровне, хотя моя языковая поддержка сама по себе является IDE - по крайней мере, насколько специфичны языковые аспекты. обеспокоен.

Сильванаар
источник

Ответы:

19
  1. Средства рефакторинга (переименование влияет на зависимости / метод извлечения / интерфейс извлечения и т. Д.)
  2. Intellisense (или любая другая функция завершения кода)
  3. Проверка ошибок (IDE на самом деле знает свои символы)
  4. Нет проблем с настройкой
  5. Интегрированный компилятор
  6. Интегрированный отладчик
  7. Лучшая навигация к / из ссылок / объявлений
  8. Шаблоны проектов / шаблоны файлов
  9. GUI строители
  10. Может автоматически генерировать шаблонный код
  11. Он интуитивно понятен и может использоваться, не зная всех магических ключей (эй, именно поэтому GUI стал успешным с самого начала)

В целом, как сказал @Thomas Owens, самое большое преимущество IDE - это интеграция инструментов с их синергетическими эффектами в целом, хотя она все еще интуитивно понятна и проста в использовании.

сокол
источник
3
В целом, я бы сказал, интеграция инструментов в целом - интеграция с контролем версий, сервером непрерывной интеграции, системой отслеживания ошибок, компилятором, отладчиком, профилировщиком, статическим анализом и так далее. Я бы сказал, что интегрированные компилятор и отладчик - это большое дело, но полезно иметь все в одном хорошем, аккуратном маленьком пакете.
Томас Оуэнс
@Thomas Owens: Совершенно верно, но я не перечислял, например, управление исходным кодом, так как вы можете легко интегрировать управление исходным кодом в vim, так что это не имеет большого значения, в конце концов, это всего лишь вызов из командной строки, и мне, например, лучше нравится Tortoise чем анхсвн. Я бы перечислил профилировщики, но не все IDE поставляются с одним (например, VS не имеет ничего из коробки afaik). Метрики - это хорошая точка зрения, но опять же, только новейшая VS предлагает это на самом деле.
Сокол
В Eclipse и NetBeans многое из того, что я упомянул, основано на плагинах, хотя есть много плагинов (или модулей или расширений) для vim и emacs, также с различными возможностями. Я думаю, что это хорошо во всех инструментах - легко выбрать то, что вы хотите, чтобы вы были продуктивными.
Томас Оуэнс
Я думаю, что у меня есть большая часть этого списка в той или иной степени. Также форматирование кода. и даже поддержка встроенной справки для пользовательских API и библиотек. Ваш список довольно полный, хотя. Возможно, в конечном итоге все сводится к личным предпочтениям, и я ничего не могу поделать. (Моя IDE - это плагин IntelliJ - возможно, это слишком много для некоторых)
sylvanaar
2
Я хотел бы уточнить, что такие вещи, как Refactor / Rename, являются многофайловыми (для всего проекта) - когда я переименовываю метод или переменную, PyCharm (например) применяет переименование ко всем файлам в проекте, а не только к текущему редактированию. как сделал бы редактор. В противном случае я, безусловно, согласен с этим списком. Я недавно купил и начал использовать PyCharm, и чем больше я его изучаю, тем больше он мне нравится (несмотря на случайные глюки :)
Cyclops
8

Большая разница между IDE и обычным текстовым редактором заключается в том, что IDE понимают язык программирования, с которым вы работаете, и могут автоматически завершать функции / методы, проверять ошибки, такие как неправильный тип и неправильная грамматика. В IDE также встроены такие инструменты, как компилятор, так что вы можете компилировать и запускать программу с помощью команд в вашей IDE.

Но я думаю, что VIM может сделать больше, чем обычный текстовый редактор, может быть, в некоторых случаях вы можете увидеть его как IDE.

Jonas
источник
2
+1 за "понимание языка". Думаю, из всего этого вытекает все остальное.
Дин Хардинг
да - моя поддержка языковой поддержки синтаксически и семантически осведомлена.
Сильванаар
4

Инструменты рефакторинга

Единственная причина, почему я не использую мой любимый текстовый редактор общего назначения для кодирования. Потому что, если вам нужно макрокомандировать обычные рефакторинги кода в ваших любимых общих целях, то вы также можете использовать IDE, в которой установлены эти инструменты.

Легко сказать, что большинство IDE имеют полезную функциональность, которая есть в emacs, это просто скрыто в некоторой произвольной комбинации нажатий клавиш.

Spoike
источник
2

Приятно иметь функции IDE, которых нет в текстовом редакторе: 1. Intellisense (автозаполнение и предложения)

  1. Интеграция с компилятором

  2. Интеграция с отладочной системой

  3. Интеграция с контролем версий

  4. Интеграция с системой баз данных

  5. Проверка синтаксиса на лету и помощь

  6. Синтаксическая раскраска

  7. Управляет проектами не только файлы кода

  8. Находит, где используется метод, и рисует диаграмму (не встречается в большинстве IDE на сегодняшний день)

  9. Регистрирует компоненты (в зависимости от вашего языка)

  10. Интеграция с GUI Editor (s)

  11. Закладки кодовых сегментов

  12. Безопасность источника и обмен информацией между разработчиками

  13. Восстановление проекта до предыдущих версий

  14. Конфигурации нескольких проектов (тестирование, разработка, производство)

  15. Возможности IDE могут быть настроены

  16. Интеллектуальное сравнение исходного кода

  17. Автоматическое переименование переменных, методов и т. Д.

Я не думаю, что создание новой IDE полезно.

Без шансов
источник
Я должен был упомянуть, что это плагин для существующей IDE. Я отредактирую свой вопрос.
Сильванаар
2

Я хотел бы иметь IDE с полностью настраиваемым редактором, таким как Emacs. Я не хочу писать плагины, а затем перезапустить IDE, чтобы проверить их. Я хочу определить действия на языке сценариев (например, python, ruby) и иметь возможность использовать их немедленно, связать их с последовательностями клавиш и т. Д. Язык должен иметь возможность манипулировать всем рабочим пространством.

Кевин Клайн
источник
1

3 вещи всегда решают, буду ли я использовать конкретную IDE:

  • Автозаполнение
  • Визуальный конструктор GUI
  • Инструменты данных для своего рода интегрированного ORM

Я обычно использую среду разработки, которая обладает большинством этих функций или работает лучше всего. Это три вещи, которые, как правило, увеличивают производительность больше всего за счет сокращения стандартного кодирования (GUI и DAL) и за счет сокращения времени на обдумывание (автозаполнение позволяет мне пропустить много ошибок API).

Морган Херлокер
источник
Я бы оценил инструменты рефакторинга гораздо выше, чем у разработчиков GUI. Не все программы имеют графический интерфейс, но все они могут быть предметом рефакторинга в какой-то момент.
FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner - я думаю, каждому свое. Я редко использую инструменты рефакторинга. Я не имею ничего против них; Я просто часто предпочитаю рефакторинг вручную, чтобы ничего не сломать.
Морган Херлокер
Я тоже так делал, наверное, сначала я не доверял таким инструментам. И это правда, что, если они плохо реализованы, часто лучше выполнить рефакторинг вручную, но когда эти инструменты сделаны правильно, они ИЗУМИТЕЛЬНЫ !
FrustratedWithFormsDesigner