我想說一個受限制的功能集總是語言相關的。例如,許多語言將使用代碼編譯運行 - 調試周期(例如C,C++,Java)進行編程,其他語言則更具交互性,如Python和Common Lisp。因此,例如,在第一組中,我想要一個能夠啓動編譯器(將其輸出消息鏈接到我的代碼)的IDE,運行生成的二進制文件,在代碼上放置斷點並檢查堆棧在休息時間進行跟蹤。 (Eclipse是這種IDE的一個例子)
對於第二組,我寧願使用基於Read-Eval-Print-Loop的IDE,它允許我評估代碼構件本身的代碼位,檢查變量,以及通常保持代碼構件和運行時內存狀態之間的緊密關係 - 動態地。 (Emacs + SLIME就是這種IDE的一個例子)。
這不以任何方式,編程語言組/家庭的全覆蓋;只是爲了說明問題,IDE必須提供與特定PL開發風格的緊密聯繫。其他一些功能,如代碼完成和語法高亮過於籠統,因此他們向那些面向程序員的文本編輯器發展。但是IDE中的'ID'表示集成開發,因此它應該涵蓋所有你需要做的事情,而不需要使用額外的工具,比如終端(或者至少把外部工具集降到最低!)。
關於特定功能,如視覺提到/圖編輯器,如果你用它來開發程序,他們是有意義的。因此,UI編輯器僅適用於IDE的所有編程語言子集。但一旦考慮思維導圖編輯器和「虛擬」白板/素描本,事情就會變得更難定義。很明顯,您可以在任何PL中使用它來開發產品,但對於IDE來說,它不是那麼明顯(至少對我而言),它們應該爲它們提供支持......同樣也適用於協作支持。所以這種功能確實可以豐富IDE - 以及任何生產力工具。也許這是一個標誌,它應該由操作系統提供? :)我相信集成開發的概念涵蓋了從輸入工件(程序員製作的輸入)到最終輸出二進制文件的整個循環。這意味着像sratchpads這樣的東西不會成爲IDE的重要組成部分,但是UML圖編輯器可能會(如果可以從中推斷出代碼)。
還有其他SO線程在IDE的談論最喜歡的功能,例如見this one。
(出於好奇,你將如何去選擇「正確」的答案嗎?這看起來更像是一個討論首發,也許維基,與其說像問答&線程)
這是可能作爲一個社區維基更好。 – FrustratedWithFormsDesigner 2010-08-10 16:41:16
是的......意味着在我提交之前檢查。謝謝! – 2010-08-11 01:46:42
即使這是我自己的問題,我正在投票結束它。這在當時對我來說很有意義,但我真的只是想通過一個概念來思考 - 這不是在網站上存在問題的好理由。 – 2012-05-09 14:52:13