คุณลักษณะใดของ IDE ที่จะทำให้มีประโยชน์มากกว่าตัวแก้ไขวัตถุประสงค์ทั่วไป


10

ฉันกำลังเขียน IDE สำหรับภาษา Lua ฉันพบว่าโปรแกรมเมอร์หลายคนไม่ชอบใช้ IDE และชอบ VIM (ซึ่งอยู่ใน vogue ในขณะนี้), SCiTE หรือ

ในการพยายามที่จะเอาชนะความคิดบางอย่างฉันสนใจในสิ่งที่คุณสมบัติของ IDE สามารถให้ซึ่งจะทำให้เป็นทางเลือกที่น่าสนใจสำหรับตัวแก้ไขวัตถุประสงค์ทั่วไป

มี "killer-app" หรือเปล่าที่จะพูดถึง IDE ที่จะทำให้มันเป็น "ต้องมี"?

นี่อาจเป็นสิ่งที่ตรงกันข้าม

ฟีเจอร์ที่มีประโยชน์ที่สุดของ VIM ที่ไม่ได้เป็นมาตรฐานใน IDE

ฉันจะไม่เชื่อมโยงไปยัง IDE ของฉันถ้าไม่มีใครถาม - แต่คุณสามารถ Google ชื่อของฉันและค้นหาได้

แก้ไข: IDE ของฉันเป็นปลั๊กอินภาษาสำหรับ IDE ที่มีอยู่แล้วดังนั้นฉันจึงสืบทอดคุณสมบัติมากมายจากโฮสต์ IDE - ในบางระดับแม้ว่าการสนับสนุนภาษาของฉันคือ IDE ในตัวมันเอง - อย่างน้อยที่สุดเท่าที่ลักษณะเฉพาะของภาษาคือ ที่เกี่ยวข้อง

คำตอบ:


19
  1. สิ่งอำนวยความสะดวก Refactoring (การเปลี่ยนชื่อมีผลต่อการพึ่งพา / แยกวิธี / แยกส่วนต่อประสาน ฯลฯ )
  2. Intellisense (หรือฟังก์ชันการเติมโค้ดอื่น ๆ )
  3. การตรวจสอบข้อผิดพลาด (IDE รู้สัญลักษณ์จริงๆ)
  4. ไม่มีความยุ่งยากในการติดตั้ง
  5. คอมไพเลอร์แบบบูรณาการ
  6. ดีบักเกอร์รวม
  7. การนำทางที่ดีขึ้นไปยังและจากการอ้างอิง / การประกาศ
  8. แม่แบบโครงการ / แม่แบบไฟล์
  9. ผู้สร้าง GUI
  10. สามารถสร้างรหัสสำเร็จรูปอัตโนมัติได้
  11. มันใช้งานง่ายและสามารถใช้งานได้โดยไม่ต้องรู้ว่ากุญแจเวทย์มนตร์ทั้งหมด (เฮ้นั่นคือเหตุผลว่าทำไม GUIs จึงประสบความสำเร็จตั้งแต่แรก)

โดยรวมตามที่ @Thomas Owens กล่าวว่าประโยชน์ที่ใหญ่ที่สุดของ IDE คือการรวมเครื่องมือเข้ากับเอฟเฟกต์การทำงานร่วมกันโดยรวมในขณะที่ยังใช้งานง่ายและใช้งานง่าย


3
โดยรวมแล้วฉันจะบอกว่าการรวมเครื่องมือโดยรวมเข้าด้วยกันกับการควบคุมเวอร์ชันเซิร์ฟเวอร์การรวมอย่างต่อเนื่องตัวติดตามบั๊กคอมไพเลอร์ดีบักเกอร์ profiler การวิเคราะห์แบบคงที่และอื่น ๆ ฉันจะบอกว่าคอมไพเลอร์และดีบักเกอร์รวมเป็นเรื่องใหญ่ แต่การมีทุกอย่างในแพคเกจเล็ก ๆ น้อย ๆ ที่ดีและเรียบร้อยก็มีประโยชน์
Thomas Owens

@Thomas Owens: จริงมาก แต่ฉันไม่ได้แสดงรายการการควบคุมแหล่งที่มาเช่นคุณสามารถบูรณาการการควบคุมแหล่งที่มาได้อย่างง่ายดายในกลุ่มดังนั้นจึงไม่ใช่เรื่องใหญ่หลังจากทั้งหมดเป็นเพียงการเรียกบรรทัดคำสั่งและฉันชอบ Tortoise ดีกว่า กว่า AnkhSVN ฉันจะแสดงรายการโปรไฟล์ แต่ไม่มี IDE ทั้งหมดที่มาพร้อมกับหนึ่ง (ตัวอย่างเช่น VS ไม่มีผู้ใดออกนอกกรอบ afaik) ตัวชี้วัดเป็นจุดที่ดี แต่อีกครั้งเฉพาะ VS ล่าสุดเท่านั้นที่เสนอ afaik
เหยี่ยว

ใน Eclipse และ NetBeans สิ่งที่ฉันพูดถึงนั้นมีพื้นฐานมาจากปลั๊กอินแม้ว่าจะมีปลั๊กอิน (หรือโมดูลหรือส่วนขยาย) มากมายสำหรับ vim และ emacs ด้วยเช่นกันด้วยความสามารถที่แตกต่างกัน ฉันคิดว่านั่นเป็นสิ่งที่ดีเกี่ยวกับเครื่องมือทั้งหมด - ง่ายต่อการเลือกสิ่งที่คุณต้องการให้คุณมีประสิทธิผล
Thomas Owens

ฉันคิดว่าฉันมีรายการส่วนใหญ่ในระดับหนึ่งหรืออื่น ๆ นอกจากนี้การจัดรูปแบบรหัส และยังสนับสนุนความช่วยเหลือแบบรวมสำหรับ API และไลบรารีที่กำหนดเอง รายการของคุณค่อนข้างครอบคลุมแม้ว่า บางทีมันอาจเป็นเพราะความชอบส่วนตัวในที่สุดและฉันก็ทำได้ไม่มากนัก (ของฉัน IDE เป็นปลั๊กอิน IntelliJ - บางทีนั่นอาจจะเป็นมากเกินไปสำหรับบางคน)
sylvanaar

2
ฉันจะชี้แจงว่าสิ่งต่าง ๆ เช่น Refactor / Rename เป็นหลายไฟล์ (ทั้งโครงการ) - เมื่อฉันเปลี่ยนชื่อเมธอดหรือตัวแปร PyCharm (เช่น) จะใช้การเปลี่ยนชื่อข้ามทุกไฟล์ในโครงการไม่ใช่แค่การแก้ไขในปัจจุบัน ในฐานะที่เป็นบรรณาธิการจะทำ มิฉะนั้นฉันเห็นด้วยกับรายการนี้ ฉันซื้อและเริ่มใช้ PyCharm เร็ว ๆ นี้และยิ่งฉันเรียนรู้มันมากขึ้นผมชอบมัน (แม้จะมีความบกพร่องโอกาส :)
ไซคลอปส์

8

ความแตกต่างที่สำคัญระหว่าง IDE และโปรแกรมแก้ไขข้อความทั่วไปคือ IDE นั้นเข้าใจภาษาการเขียนโปรแกรมคุณใช้งานและสามารถเติมฟังก์ชัน / วิธีการเติมข้อความอัตโนมัติตรวจสอบข้อผิดพลาดเช่นประเภทผิดและไวยากรณ์ไม่ถูกต้อง IDE ยังมีเครื่องมือเช่นคอมไพเลอร์ที่รวมเข้าด้วยกันเพื่อให้คุณสามารถคอมไพล์และรันโปรแกรมด้วยคำสั่งใน IDE ของคุณ

แต่ฉันคิดว่า VIM สามารถทำได้มากกว่าโปรแกรมแก้ไขข้อความทั่วไปบางทีคุณอาจเห็นว่ามันเป็น IDE ในบางกรณี


2
+1 สำหรับ "เข้าใจภาษา" ฉันคิดว่าทุกอย่างอื่นมากที่สุดจากนี้
Dean Harding

ใช่ - การใช้งานการสนับสนุนด้านภาษาของฉันนั้นมีทั้งความรู้ทางไวยากรณ์และความหมาย
sylvanaar

4

เครื่องมือ Refactoring

เหตุผลเดียวที่ฉันไม่ได้ใช้โปรแกรมแก้ไขข้อความอเนกประสงค์ที่ชื่นชอบสำหรับการเข้ารหัส เพราะถ้าคุณต้องการปรับเปลี่ยนรหัสทั่วไปในแมโครเพื่อวัตถุประสงค์ทั่วไปที่คุณชื่นชอบคุณก็อาจใช้ IDE ที่มีเครื่องมือเหล่านี้ติดตั้งอยู่

อย่างน้อยก็ต้องบอกว่า IDE ส่วนใหญ่มีฟังก์ชั่นที่มีประโยชน์ที่ emacs มีอยู่มันเพิ่งถูกฝังลงในการรวมคีย์สโตรคโดยพลการ


2

ยินดีที่ได้มีคุณสมบัติของ IDE ที่ไม่พบในโปรแกรมแก้ไขข้อความ: 1. Intellisense (การเติมเต็มอัตโนมัติ & คำแนะนำ)

  1. บูรณาการกับคอมไพเลอร์

  2. บูรณาการกับระบบแก้ไขข้อบกพร่อง

  3. บูรณาการกับการควบคุมเวอร์ชัน

  4. บูรณาการกับระบบฐานข้อมูล

  5. การตรวจสอบและช่วยเหลือไวยากรณ์แบบทันทีทันใด

  6. ไวยากรณ์สี

  7. จัดการโครงการไฟล์รหัสไม่เพียง

  8. ค้นหาตำแหน่งที่ใช้วิธีการและดึงแผนภูมิ (ไม่พบใน IDEs ส่วนใหญ่จนถึงปัจจุบัน)

  9. ส่วนประกอบการลงทะเบียน (ขึ้นอยู่กับภาษาของคุณ)

  10. การรวมกับตัวแก้ไข GUI

  11. ส่วนรหัสคั่นหน้า

  12. ความปลอดภัยของแหล่งที่มาและการแบ่งปันระหว่างนักพัฒนา

  13. คืนค่าโครงการเป็นเวอร์ชันก่อนหน้า

  14. การกำหนดค่าหลายโครงการ (ทดสอบการพัฒนาการผลิต)

  15. คุณสมบัติ IDE สามารถกำหนดค่าได้

  16. เปรียบเทียบรหัสอัจฉริยะ

  17. เปลี่ยนชื่ออัตโนมัติ vars, วิธีการ ฯลฯ

ฉันไม่คิดว่าการสร้าง IDE ใหม่นั้นมีประโยชน์


ฉันควรจะกล่าวถึงว่ามันเป็นปลั๊กอินของ IDE ที่มีอยู่ ฉันจะแก้ไขคำถามของฉัน
sylvanaar

2

ฉันชอบที่จะมี IDE พร้อมโปรแกรมแก้ไขที่ปรับแต่งได้อย่างเต็มที่เช่น Emacs ฉันไม่ต้องการเขียนปลั๊กอินจากนั้นรีสตาร์ท IDE เพื่อทดสอบ ฉันต้องการกำหนดการกระทำในภาษาสคริปต์ (เช่น python, ruby) และสามารถใช้งานได้ทันทีผูกไว้กับลำดับของคีย์ ฯลฯ ภาษาควรจะสามารถจัดการพื้นที่ทำงานทั้งหมดได้


1

3 สิ่งที่จะตัดสินใจว่าฉันจะใช้ IDE เฉพาะหรือไม่:

  • การเติมข้อความอัตโนมัติ
  • เครื่องมือสร้าง GUI ที่มองเห็น
  • เครื่องมือข้อมูลสำหรับ ORM แบบรวมบางประเภท

โดยทั่วไปฉันใช้ IDE ที่มีคุณสมบัติส่วนใหญ่เหล่านี้หรือใช้งานได้ดีที่สุด สิ่งเหล่านี้เป็นสามสิ่งที่มีแนวโน้มที่จะเพิ่ม produductivity มากที่สุดโดยการลดการสร้างรหัสสำเร็จรูป (GUI และ DAL) และลดเวลาในการคิด


ฉันจะได้รับการจัดอันดับเครื่องมือการรีแฟคเตอร์สูงกว่าผู้สร้าง GUI ไม่ทุกโปรแกรมมี GUIs แต่พวกเขาจะได้ทั้งหมดเป็นเรื่องของ refactoring ในบางจุด
FrustratedWithFormsDesigner

@FrustratedWithFormsDesigner - ฉันคิดว่าแต่ละคน ฉันไม่ค่อยใช้เครื่องมือ refactoring ฉันไม่มีอะไรกับพวกเขาเลย ฉันมักจะชอบ refactor ด้วยมือเพื่อให้แน่ใจว่าฉันจะไม่ทำลายอะไร
Morgan Herlocker

ฉันเคยทำเช่นนั้นฉันคิดว่าฉันไม่มั่นใจในเครื่องมือดังกล่าวในตอนแรก และมันเป็นความจริงที่ว่าถ้าพวกมันใช้งานได้ไม่ดีมันมักจะดีกว่าในการรีฟิลด้วยมือ แต่เมื่อเครื่องมือเหล่านี้เสร็จสิ้นพวกเขาก็น่าทึ่ง !
FrustratedWithFormsDesigner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.