Apa Fitur IDE yang Akan Membuatnya Lebih Berguna Daripada Editor Tujuan Umum

10

Saya menulis IDE untuk bahasa Lua. Saya menemukan bahwa banyak programmer tidak suka menggunakan IDE dan lebih suka VIM (yang sedang populer saat ini), SCiTE, atau.

Dalam mencoba memenangkan pemikiran-bersama, saya tertarik dengan fitur apa yang bisa disediakan oleh IDE yang menjadikannya alternatif yang menarik bagi editor keperluan umum.

Apakah ada "aplikasi pembunuh" sehingga berbicara untuk IDE yang akan membuatnya menjadi "harus dimiliki"?

Ini bisa dianggap sebagai kebalikan dari

Sebagian besar fitur VIM berguna yang tidak standar dalam IDE

Saya tidak akan menautkan ke IDE saya kecuali seseorang bertanya - tetapi Anda dapat cukup banyak hanya Google nama saya dan menemukannya.

EDIT: IDE saya sebenarnya adalah plugin bahasa untuk IDE yang ada, jadi saya mewarisi banyak fitur dari host IDE - pada tingkat tertentu meskipun dukungan bahasa saya adalah IDE dalam dan dari dirinya sendiri - setidaknya sejauh aspek spesifik bahasa prihatin.

sylvanaar
sumber

Jawaban:

19
  1. Fasilitas refactoring (Pengubahan nama mempengaruhi dependensi / Metode Ekstrak / Ekstrak antarmuka dll.)
  2. Intellisense (atau fungsi penyelesaian kode lainnya)
  3. Pemeriksaan kesalahan (IDE benar-benar tahu simbolnya)
  4. Tidak ada kerumitan pengaturan
  5. Kompiler terintegrasi
  6. Debugger terintegrasi
  7. Navigasi yang lebih baik ke dan dari referensi / deklarasi
  8. Templat proyek / templat file
  9. Pembangun GUI
  10. Dapat membuat kode boilerplate secara otomatis
  11. Ini intuitif dan dapat digunakan tanpa mengetahui semua kunci ajaib (hei, itu sebabnya GUI menjadi sukses di tempat pertama)

Secara keseluruhan, seperti yang dinyatakan oleh ThomasThomas Owens, keuntungan terbesar dari IDE adalah integrasi alat dengan efek sinergi secara keseluruhan, sementara itu masih intuitif dan mudah digunakan.

Elang
sumber
3
Secara keseluruhan, saya akan mengatakan integrasi alat secara keseluruhan - integrasi dengan kontrol versi, server integrasi berkelanjutan, pelacak bug, kompiler, debugger, profiler, analisis statis, dan sebagainya. Saya akan mengatakan kompiler dan debugger terintegrasi adalah masalah besar, tetapi memiliki semuanya dalam satu paket kecil yang bagus dan rapi sangat membantu.
Thomas Owens
@ Thomas Owens: Sangat benar, tapi saya tidak mencantumkan kontrol sumber misalnya, karena Anda dapat mengintegrasikan kontrol sumber dengan mudah di vim, jadi itu bukan masalah besar, lagipula itu hanya panggilan baris perintah dan saya misalnya suka Tortoise lebih baik dari AnkhSVN. Saya akan mendaftar profiler tetapi tidak semua IDE datang dengan satu (VS misalnya tidak memiliki afaik). Metrik adalah poin yang bagus, tetapi sekali lagi, hanya VS terbaru yang menawarkannya.
Falcon
Dalam Eclipse dan NetBeans, banyak yang saya sebutkan adalah berbasis plug-in, meskipun ada banyak plug-in (atau modul atau ekstensi) untuk vim dan emacs, juga, dengan kemampuan yang berbeda. Saya pikir itulah yang menyenangkan dari semua alat - mudah untuk memilih apa yang Anda inginkan agar Anda menjadi produktif.
Thomas Owens
Saya pikir saya memiliki sebagian besar dari daftar itu sampai taraf tertentu. Juga, pemformatan kode. dan bahkan dukungan untuk bantuan terintegrasi untuk API dan perpustakaan khusus. Daftar Anda cukup komprehensif. Mungkin hanya karena preferensi pribadi pada akhirnya, dan tidak banyak yang bisa saya lakukan. (IDE saya adalah plugin IntelliJ - mungkin itu terlalu banyak untuk beberapa orang)
sylvanaar
2
Saya akan mengklarifikasi bahwa hal-hal seperti Refactor / Ubah nama adalah multi-file (proyek-lebar) - ketika saya mengubah nama metode atau variabel, PyCharm (misalnya) akan menerapkan penggantian nama di setiap file dalam proyek, bukan hanya yang saat ini diedit sebagai editor akan lakukan. Kalau tidak, saya tentu setuju dengan daftar ini. Saya membeli dan mulai menggunakan PyCharm baru-baru ini, dan semakin saya mempelajarinya, semakin saya menyukainya (meskipun terkadang ada gangguan :)
Cyclops
8

Perbedaan besar antara IDE dan editor teks umum adalah bahwa IDE memahami bahasa pemrograman yang Anda gunakan dan dapat melengkapi fungsi / metode secara otomatis, memeriksa kesalahan seperti tipe yang salah dan tata bahasa yang salah. IDE juga memiliki alat seperti kompiler yang terintegrasi sehingga Anda dapat mengkompilasi dan menjalankan program Anda dengan perintah di IDE Anda.

Tapi saya pikir VIM dapat melakukan lebih dari editor teks umum, mungkin Anda dapat melihatnya sebagai IDE dalam beberapa kasus.

Jonas
sumber
2
+1 untuk "memahami bahasa". Kebanyakan hal lain mengikuti dari ini, saya pikir.
Dean Harding
ya - implementasi dukungan bahasa saya sadar secara sintaksis dan semantik.
sylvanaar
4

Alat Refactoring

Satu-satunya alasan mengapa saya tidak menggunakan editor teks tujuan umum favorit saya untuk pengkodean. Karena jika Anda perlu melakukan makro-up refactoring kode umum untuk keperluan umum favorit Anda, maka Anda mungkin juga menggunakan IDE yang telah menginstal alat-alat ini.

Paling tidak mengatakan bahwa sebagian besar IDE memiliki fungsi berguna yang dimiliki emacs, itu hanya terkubur dalam beberapa kombinasi stroke key yang sewenang-wenang.

Spoike
sumber
2

Senang memiliki fitur-fitur IDE yang tidak ditemukan dalam editor teks: 1. Intellisense (otomatis lengkap & saran)

  1. Integrasi dengan kompiler

  2. Integrasi dengan sistem debug

  3. Integrasi dengan kontrol versi

  4. Integrasi dengan sistem basis data

  5. Pemeriksaan dan bantuan sintaksis saat itu juga

  6. Pewarnaan sintaks

  7. Menangani proyek tidak hanya file kode

  8. Menemukan di mana metode digunakan dan menggambar grafik (tidak ditemukan di sebagian besar IDE saat ini)

  9. Mendaftarkan komponen (tergantung pada bahasa Anda)

  10. Integrasi dengan Editor GUI

  11. Segmen kode bookmark

  12. Keamanan sumber dan berbagi lintas pengembang

  13. Pemulihan proyek ke versi sebelumnya

  14. Berbagai konfigurasi proyek (pengujian, pengembangan, produksi)

  15. Fitur IDE dapat dikonfigurasi

  16. Bandingkan kode sumber cerdas

  17. Pengubahan nama otomatis vars, metode, dll.

Saya tidak berpikir membuat IDE baru itu berguna.

Tidak ada kesempatan
sumber
Seharusnya saya sebutkan itu adalah plugin untuk IDE yang ada. Saya akan mengedit pertanyaan saya.
sylvanaar
2

Saya akan senang memiliki IDE dengan editor yang sepenuhnya dapat disesuaikan seperti Emacs. Saya tidak ingin menulis plugin dan kemudian restart IDE untuk mengujinya. Saya ingin mendefinisikan tindakan dalam bahasa scripting (misalnya python, ruby) dan dapat menggunakannya segera, mengikatnya ke urutan kunci, dll. Bahasa harus dapat memanipulasi seluruh ruang kerja.

kevin cline
sumber
1

3 hal selalu memutuskan apakah saya akan menggunakan IDE tertentu atau tidak:

  • Pelengkapan otomatis
  • Pembuat GUI visual
  • Alat data untuk semacam ORM terintegrasi

Saya biasanya menggunakan IDE yang memiliki sebagian besar fitur ini, atau yang melakukan yang terbaik. Ini adalah tiga hal yang cenderung meningkatkan produductivity paling dengan mengurangi coding boilerplate (GUI dan DAL) dan dengan mengurangi waktu berpikir (autocomplete memungkinkan saya untuk melewatkan banyak API meraba-raba).

Morgan Herlocker
sumber
Saya akan peringkat alat refactoring jauh lebih tinggi daripada pembangun GUI. Tidak semua program memiliki GUI, tetapi mereka semua bisa menjadi subjek refactoring di beberapa titik.
FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner - Untuk masing-masing sendiri kurasa. Saya jarang menggunakan alat refactoring. Saya tidak benar-benar menentang mereka; Saya hanya sering lebih suka refactor dengan tangan untuk memastikan saya tidak merusak apa pun.
Morgan Herlocker
Dulu saya juga melakukan itu, saya kira saya tidak percaya pada alat seperti itu pada awalnya. Dan memang benar bahwa jika mereka diimplementasikan dengan buruk, sering kali lebih baik untuk refactor dengan tangan, tetapi ketika alat ini dilakukan dengan benar mereka AMAZING !
FrustratedWithFormsDesigner