2008-10-13 26 views
5

我已經看到了幾個關於要求提供文本編輯器的IDE的問題的反應,反之亦然。這讓我覺得人們把他們當作同樣的東西,在那裏我明確區分。您是否在文本編輯器和IDE之間劃分了區別?

  1. 如何定義「文本編輯器」和「IDE」?
  2. 您是否看到這兩種工具有所不同?

請注意,我接受了一個我認爲最好的解決「文本編輯器」和「IDE」概念的答案。然而,這只是我個人對最佳解決問題的看法,我會不時就這個問題進行檢查,看看是否有更好的答案,我會接受這個答案。

回答

2

我使用兩者,我建議你也這樣做。有時IDE可以使開發更快 - 就像代碼完成和重構支持一樣。快速查找項目中的文件和符號,功能,類,更不用說項目管理功能。有時他們會爲你管理構建。也許它有一個內置的調試器(一個好的內置調試器是值得的)。代碼片段和文件模板如何?有時IDE將幫助您構建GUI界面和數據存儲。我見過幫助你構建正則表達式並運行SQL查詢的人。

這些(IMO)都是糖。我還使用純文本編輯器(儘管我現在非常欣賞代碼語法着色),並自己編輯大部分其他內容。一些較新的文本編輯器正在進入IDE領域(例如TextMate),因爲它們的可擴展性足以滿足上述大部分段落的細節。

在90%的案例中,我使用了我所得到的或者大多數團隊使用的(我是承包商)。這樣可以減少如果您決定自行開發時可能出現的構建衝突。通過學習使用IDE,文本編輯器以及其中的所有內容,您將保持靈活性並能夠應付所引發的任何問題。

3

混淆源於文本編輯器是每個IDE的核心組件。但是,IDE不僅僅是一個文本編輯器,它還具有編譯器,調試器,分析器,參考資料等的接口。

許多文本編輯器都有插件或其他靈活的擴展機制,通常包括像上面提到的那樣「包裝」外部工具的能力。關鍵的區別,恕我直言,是集成在IDE中的「我」。 IDE(又是IMHO)是專門設計用於支持一組特定工具的工具,其中一個工具是文本編輯器。

+0

文本編輯器也可以具有這些功能。它們中的許多都具有cmd行支持,允許執行任意數量的任務。 – 2008-10-13 22:27:51

+0

我認爲重點在於雖然文本編輯器支持cmd行插件,但他們實際上並不知道這些插件的任何內容,只是「按照您告訴他們的做法」 - IDE實際上會有一些內置的知識關於如何處理各種場景 – 2008-10-13 23:45:13

2

明顯的區別在於IDE中的「I」。 IDE是一個集成平臺,不僅可以進行編輯,還可以進行調試,項目的文件管理以及語法突出顯示和代碼完成等常用功能。哦,是的,工具和編譯器的集成,以及源代碼控制。

3

我這樣做,但它的使用方式多於軟件本身的差異。有些軟件被某些軟件用作IDE,但被別人僅僅用作文本編輯器。某些軟件只能是文本編輯器,有些軟件只能用作文本​​編輯器,有些軟件可以很容易地用作兩者。

我會說像Vi(m)和Emacs這樣的stalwarts被一些人用作文本編輯器,一些用作IDE。像日食,視覺工作室等事情只有真正有意義,因爲IDE和像記事本這樣的東西幾乎不可能是文本編輯器。

我會說,如果你留在你的文本編輯器做其他事情 - 編譯,調試等 - 然後你更像一個IDE使用它。相當我在哪裏畫線,我不確定。

1

對我來說,文本編輯器是一個輕量級工具,用於編輯基於文本的文檔。除了定義編輯器的「系統」字體之外,沒有標記或格式化文本。有用的工具仍然可以是文本編輯器的一部分,如文件夾樹,語法高亮顯示,甚至編譯器的cmd行執行。但最終,它可以讓你編輯文檔中的文本。它不會以不同的方式顯示給你。即:查看XML文檔時它不會顯示網格

IDE更健壯,通常特定於語言或框架。

你知道,在我開始寫這個答案之前,我在文本編輯器和IDE之間有一條清晰的界限。但現在,我認爲他們是一個相同的人。我的意思是,像VS這樣的IDE只是一個美化的文本編輯器。像Textpad這樣的文本編輯器是一款IDE,其開發功能的預算要小得多。

我想真正的答案是,一個IDE由一個大公司或小組支持,擴展了它在許多不同方向的功能。但是一個文本編輯器是由一小部分人創建的,只有足夠的功能可以通過。

0

如果您看Kate,文本編輯器和Kdevelop,IDE的主要區別是Kdevelop支持項目管理(CVS/Subversion)和構建腳本,而Kate則不支持。

0

就我個人而言,我認爲在IDE和文本編輯器之間繪製「線條」是對最終程序的瞭解,而不僅僅是對源代碼的瞭解。

作爲例子:

  • 它能否代碼編譯爲二進制?這是一個IDE
  • 它有一個集成的調試器嗎?這是一個IDE
    • 爲了有一個集成的調試器,它需要知道二進制編譯程序,或者在腳本語言的情況下,運行時程序的內存中的解釋。

注:像智能感知的東西不依賴於你的代碼被編譯成任何東西,所以我不會說,智能感知意味着IDE

注2:許多文本編輯器類似的TextMate有插件系統可以擴展到建立你的項目。這不會讓他們成爲一個IDE,因爲他們只是向一個插件發送消息,他們對這個建築本身並不瞭解。

相關問題