Які особливості IDE роблять його більш корисним, ніж редактор загального призначення


10

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

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

Чи є "додаток-вбивця", щоб сказати про IDE, який зробив би його "обов'язковим"?

Це можна вважати зворотним

Більшість корисних функцій VIM, які не є стандартними для IDE

Я не буду посилатися на свій IDE, якщо хтось не запитає - але ви можете майже просто моє ім’я Google і знайти його.

EDIT: Мій IDE насправді є мовним плагіном для існуючої IDE, тому я успадковую багато функцій від IDE хоста - на певному рівні, хоча моя мовна підтримка є IDE сама по собі - принаймні, що стосується конкретних мовних аспектів зацікавлений.

Відповіді:


19
  1. Засоби рефакторингу (перейменування впливає на залежності / метод вилучення / інтерфейс вилучення тощо)
  2. Intellisense (або будь-яка інша функція доповнення коду)
  3. Помилка перевірки (IDE насправді знає її символи)
  4. Немає проблем із налаштуваннями
  5. Інтегрований компілятор
  6. Вбудований налагоджувач
  7. Краща навігація до та від посилань / декларацій
  8. Шаблони проектів / шаблони файлів
  9. GUI-будівельники
  10. Може автогенерувати код котла
  11. Це інтуїтивно зрозуміло і його можна використовувати, не знаючи всіх магічних клавіш (ей, саме тому графічні інтерфейси стали в першу чергу успішними)

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


3
В цілому, я б сказав, інтеграція інструментів в цілому - інтеграція з контролем версій, сервером безперервної інтеграції, трекером помилок, компілятором, налагоджувачем, профілером, статичним аналізом тощо. Я б сказав, що компілятор та відладчик інтегровані - велика справа, але корисно мати все в одному приємному, акуратному маленькому пакеті.
Thomas Owens

@Thomas Owens: Дуже вірно, але я не перелічував джерело управління, наприклад, так як ви можете легко інтегрувати управління джерелом у vim, тому це не велика справа, адже це лише виклик командного рядка, і я, наприклад, як Tortoise краще ніж AnkhSVN Я б перерахував профілі, але не всі IDE приходять з одним (наприклад, VS не має жодної). Метрики - це приємний момент, але знову ж таки, лише новітні VS пропонують це afaik.
Сокіл

У Eclipse та NetBeans багато з того, що я згадував, базується на плагінах, хоча є багато плагінів (або модулів або розширень) для vim та emacs теж з різними можливостями. Я думаю, що це приємно у всіх інструментах - легко вибрати те, що ти хочеш, щоб ти був продуктивним.
Томас Оуенс

Я думаю, що я маю більшість цього списку в тій чи іншій мірі. Також форматування коду. і навіть підтримка інтегрованої допомоги для користувацьких API та бібліотек. Ваш список досить вичерпний. Можливо, це зрештою зводиться до особистих уподобань, і я не можу зробити багато іншого. (Мій IDE - плагін IntelliJ - можливо, для деяких це занадто)
sylvanaar

2
Я б уточнив, що такі речі, як Refactor / Rename, є багатофайловими (проектними) - коли я перейменую метод чи змінну, PyCharm (наприклад) застосує перейменування для кожного файлу в проекті, а не лише до редагуваного в даний час як це зробив редактор. В іншому випадку я безумовно згоден з цим списком. Нещодавно я придбав і почав користуватися PyCharm, і чим більше я його вчу, тим більше мені подобається (незважаючи на випадкові збої :)
Cyclops

8

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

Але я думаю, що VIM може зробити більше, ніж загальний текстовий редактор, можливо, ви можете бачити це як IDE в деяких випадках.


2
+1 за "розуміння мови". З іншого боку, з цього випливає більшість всього іншого.
Дін Гардінг

так - моя мовна підтримка реалізується як синтаксично, так і семантично.
sylvanaar

4

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

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

Щонайменше можна сказати, що більшість IDE мають корисну функціональність, яку має emacs, вона просто закопана в якусь довільну комбінацію обведення ключів.


2

Приємно мати функції IDE, які не зустрічаються в текстовому редакторі: 1. Intellisense (автоматичне доповнення та пропозиції)

  1. Інтеграція з компілятором

  2. Інтеграція із системою налагодження

  3. Інтеграція з контролем версій

  4. Інтеграція з системою баз даних

  5. Перевірка синтаксису та допомога

  6. Забарвлення синтаксису

  7. Обробляє проекти не лише файлів коду

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

  9. Реєструє компоненти (залежно від вашої мови)

  10. Інтеграція з редакторами GUI

  11. Сегменти коду закладок

  12. Безпека джерел і обмін між розробниками

  13. Відновлення проекту до попередніх версій

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

  15. Функції IDE можна налаштувати

  16. Інтелектуальне порівняння вихідного коду

  17. Автоматичне перейменування вар, методів тощо.

Я не думаю, що створення нового IDE є корисним.


Я повинен був згадати, що це плагін до існуючої IDE. Я відредагую своє запитання.
sylvanaar

2

Я хотів би мати IDE з повністю настроюваним редактором, як Emacs. Я не хочу писати плагіни, а потім перезавантажте IDE, щоб перевірити їх. Я хочу визначити дії в мові сценаріїв (наприклад, python, ruby) і мати можливість їх негайно використовувати, прив’язувати до ключових послідовностей тощо. Мова повинна мати можливість маніпулювати всією робочою областю.


1

3 речі завжди вирішують, чи буду я використовувати конкретний IDE:

  • Автозаповнення
  • Візуальний конструктор графічного інтерфейсу
  • Інструменти даних для якоїсь інтегрованої ORM

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


Я б класифікував інструменти рефакторингу набагато вище, ніж будівельники GUI. Не всі програми мають графічний інтерфейс, але всі вони можуть бути предметом рефакторингу в якийсь момент.
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner - Гадаю, кожен. Я рідко використовую інструменти рефакторингу. Я насправді нічого не маю проти них; Я просто віддаю перевагу рефактор вручну, щоб переконатися, що я нічого не зламаю.
Морган Херлокер

Раніше я це робив, напевно, спочатку я ставився до таких інструментів недовірливо. І це правда, що якщо вони погано реалізовані, часто краще робити рефактор вручну, але коли ці інструменти зроблені правильно, вони ДУМОВІ !
FrustratedWithFormsDesigner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.