Answer the question
In order to leave comments, you need to log in
Answer the question
In order to leave comments, you need to log in
I quite often talk about what an IDE is, and in general on this topic in my blog (http://blog.soulrobber.ru/).
But if you need "here and now", then:
1) Convenience of the interface. Minimalism. IDE is not Word, 90% of the time the programmer has to watch the editor and the tree of directories, project files. See TextMate, Vim, Emacs.
2) Speed. It is characterized by the performance of the code analyzer (autocomplete part of it) and the editor.
3) AI code analyzer. It must be able to pick up symbols from modules imported in the code.
4) Different highlighting of the code (including the background of the editor, gatter, cursor, etc). It is vital to have 2-3 lighting styles: dark, light, zenburn style.
5) Modularity. Scripting and the rest are crutches and attempts to make a normal system, but the best option so far is presented only in TextMate.
6) Application debug tools. At least - gdb and at least some integration. Better - picking up a live application with it. Without a debug tool, your IDE will be just an editor. Few IDEs can be called such if the debug tool is removed from them.
7) Specifically, language support (these are just the ones I need): C, C++, Python, Ruby, PHP, XML, HTML, CSS, JS, HAML, SASS, Django Templates, Makp, genshi, Lisp. This is along with the so-called "lints". For html ZenCoding support.
8) Refactoring (well, this follows from code analyzers, but just in case...).
9) Support for nested terminals as tabs.
10) Support CVS, DCVS.
11) Convenient keyboard shortcuts. I have to quickly navigate to the file tree (with one keyboard shortcut), change branch (1-2 keyboard shortcuts), auto-update, find the desired file without unnecessary pressing (just pressing the arrow down button), open, make changes, open the console (with one button or a combination of ), do a couple of operations, go back to the file, add something, make a commit (no less easy than other things), change the branch back and auto-update, and then push.
Actually, the list I can go on forever, but I know that you will not do even 1/1000 of the functionality of current IDEs. Well, such questions will not arise from a person who will make an IDE that will be popular.
I have used a huge number of IDEs and editors, came to some concepts and conclusions, I think to start developing my own IDE, but I'm not torn yet, because. there is not much time for this matter, and the matter is not the most rewarding.
So far I've come to the conclusion that it's best to use TextMate or Vim. Not Emacs, because I played enough with it and came to the conclusion that Vim is more convenient, although Lisp is nicer to me than Wimscript.
However, there is one more thing - Sublime Text 2. An overview can be found here: blog.soulrobber.ru/2011/01/30/sublime-text-2/
This is a cross-platform analogue of TextMate. Alas, proprietary and paid, but there is an unlimited trial mode.
After trying different IDEs, including Netbeans, Eclipse, IDEA and a lot of small ones, whose names I can’t remember, I settled on Netbeans. For me, this is the most convenient development environment. Ease of setup, transfer of the project from the archive to the workspace, a large number of plugins, built-in support for version control systems, and so on and so forth.
I use Netbeans and Notepad++ in conjunction.
The latter acts as a multi-level clipboard manager and a quick tool for working with pieces of heterogeneous text
1. Project manager, not a banal list of files in the form of a tree, but a convenient search and management of them
2. Transition to the declaration of a function / variable (usually control + click)
3. integration with all sorts of useful things (at least svn / gin)
4. speed of work ( some slow down when auto-completion works)
5. Macros!
6. Plugins.
7. Support for the scripting language and api for it =) (in Komodo, for example, you can write scripts in js, it is very convenient for automation when macros are not saved)
Further on the little things, if there are 6, 7 options, then you can find anything.
WebStorm (IntelliJ IDEA).
CodeComplete for dynamic languages.
Refactoring in dynamic languages. This is a big rarity - support for refactoring in JS
Inspections (custom lints)
Support for abbreviations and Zen Coding (there are a lot of them, but still)
Code reformatting
Rich highlighting (including for nested structures, such as the style attribute in html )
Renaming files as refactoring (with dependency search, etc)
Convenient project search, selection of the current file in the project tree
Good
highlighting
But she is quite demanding, of course.
My IDE is VIM + Yakuake.
1. Flexibility
2. Maximum performance (since the console is at hand + in VIM there are just a sea of key combinations)
I don’t even know what to add, I don’t need a reason for love :)
In fact, the IDE should not be distracting, and monsters like Eclipse sin with this, there are a lot of features, but the workspace is small in the end and, in addition, it takes a hundred years to load and slows down when navigating the project and trying to autocomplete.
In total, I need: integration with the project to display all files, normal semantic syntax highlighting, autocomplete, and it is desirable to be able to generate the body of the method by its definition. Search and replace by itself, and it is desirable taking into account semantics, and not in the forehead in the style of macros. Minimalistic interface and of course a normal debugger.
In total, I use QtCreator, and sometimes Kdevelop, but he likes to slow down, although it is much more efficient than the creator in terms of code generation, for this I use it when I need to quickly set up a lot of classes.
I will add a little about Intellij IDEA.
- support for languages other than Java, such as JavaScript. Until recently, the JavaScript editor in IDEA was considered the best (including better than specialized editors). Although, I think, and now remained the best.
— HTML/CSS support at a very high level, including refactoring, inspection, lookup, etc. For example, you can click on a css class in an HTML document and go directly to the description of that class in the CSS file.
- remote-debugging support.
- built-in chat (via jabber) for communicating with the team - useful for quickly sending code without switching to messengers
- the ability to refactor non-compiled code. Incredibly useful if you need to make a lot of changes to different files.
- a powerful file indexing mechanism that provides fast search, including full text search.
- built-in mozilla-based browser - helps with web development.
Well, and much, much more.
From the frequently used:
1. Code templates (entered mre - pressed Tab - got mysql_real_escape_string($unescaped_string);
2. A handy tool for working with SVN
3. Code analyzer (anti-typos :)
4. Hotkeys
5. Local history and convenient diffs
6. Refactoring
7. Convenient TODO
Well, and banal things like code highlighting, transition to a function/variable declaration, interface convenience, plugin support, etc.
I also struggled with such a question, I decided to write my own IDE for my project. As the saying goes, if you want something done right, do it yourself :)
At one time, I sat under the IDE from Borland for a long time: Delphi and CBuilder. I finished this "sitting" on the 7th version of Delphi and the 5th Builder. In some part, I still consider them standard. Currently using Eclipse for Java, PHP and Python.
For me, the main thing in the IDE is the absence of the need for deep configuration after installation. Although this possibility is needed. I think that everything should already be configured according to some well-established standards in specific languages, for example, spaces instead of tabs, indentation of 4 spaces, etc. I personally do not need the ability to change the backlight scheme, I have never used it.
What do you need? Convenient project tree: either in one tree, starting from folders and ending with objects inside files: functions, classes, etc. Here, it is desirable to have the ability to configure filters (for example, show only methods in classes) that can be configured and saved as separate buttons in order to quickly switch. Or have two windows, in one tree of folders and files, in the other: code structure.
The ability to debug from the environment is of course necessary, here I think everything is about the same for everyone: tracing, inspectors, watches, etc.
Once, in a blog post about setting up Eclipse, I came across an interesting remark: Eclipse is a professional environment, it is used in large companies, it is an industry standard, etc. And therefore a lot of things are not obvious in it and at first it may seem that it was done very inconveniently, but you need to get used to this property, figure it out, because this is a real professional tool :)
I cannot agree with this statement. I think that even a pro tool should be convenient and have default settings exactly in accordance with the industry standard, which, by the way, eclipse cannot boast of.
I am using Intellij IDEA. Happy with the following:
I used only two - Komodo-Edit-6, Kate and gEdit with a bunch of plugins. The first one seemed multifunctional, but I could not find many necessary things, for example, Zen-coding :(
The second one seemed more convenient, but the main disadvantage was that the tabs are not saved (in fact, there is no support for projects as units of work) + I could not adjust the color of some tooltips (font and background merged - a trifle, but annoying black pop-up stripes) + line annotation did not work. In general, small, but very necessary things did not work.
And the third one just seemed to be of little functionality. Although a bunch of plugins partly corrected the situation, but in the end autocomplete and paired characters didn't work anyway.There
is no need for gratitude, because I share your question: if you find a good IDE, write in a personal, please;)
To all of the above, I will add the local history of the project files.
The one in NetBeans once saved the entire code of a vast library :)
+ according to the same history, it is convenient to observe changes in a particular file made in a day/week. Sometimes useful
I will describe only the key features of the IDE, and I will leave the general principles that are important to me for all programs, and not just for the IDE (usability, performance, customizability, extensibility with plugins / macros) behind the scenes.
textmate or vim (with some plugins - github.com/carlhuda/janus).
Well, I don't know what's good about these things. better to try.
It depends on what to code: I write Java in Eclipse, it is convenient to have UML, integration into VCSs and powerful code autocomplete. The rest is vim + snippets, fast, simple, without unnecessary gestures.
Geany
pros
- light, fast
- gtk
- plugins
- you can remove all unnecessary interface elements (I love minimalism)
- completely satisfies my needs for editing php, python, html-js-css and just as a text editor for notes
cons
- bad autocomplete
- bad support for remote fs
- bugs the folding of code blocks
And I’m just rushing from Mylyn to Eclipse - this is when you export tickets from redmine and then a context is attached to each ticket, if simplified habrahabr.ru/blogs/eclipse/72632/
I installed Aptana Studio 3 for myself (a kind of "pumped" Eclipse).
Well
, as the main tool for typing code - 1.
2) Syntax highlighting
3) Project and configuration management (x86-64)
4) Ability to automate compilation, assembly, blah blah blah
5) Debugger
6) Integration with SVN
trifles.
P.S. Studio.
In my IDE Code::Blocks I really like cross-platform (you can use it both at work under windows and at home under ubuntu), a large number of plugins and support for all kinds of frameworks and libraries (no need to suffer by connecting a library to the IDE, just choose from its giant list and specify the path to the files).
I used to use dev-cpp, but it's not cross-platform, so I switched to C::B
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question