On the one side of the scale there is the UNIX philosophy “one tool does only one job but it does it very well”. On the other side of the scale there is the approach “You only need one tool that does it all.” There is no universal truth and that the best solution for most code writers is somewhere near the center of that scale.
If you are still in development with a specific language, using a development tool that is specifically designed for that language may facilitate the process. NINJA-IDE is an open source free development tool that focuses on Python developers at first, but can be used for other coding languages.
It has a handy code locator that allows access to any file, function, or class within projects and a debugger that can highlight and PEP 8 static errors in the document. Ninja-IDE allows developers to create applications for any purpose making the task of writing software easier and more enjoyable.
The application allows you to manage Python projects automatically, saving descriptive information and allows the user to perform management tasks related files in the IDE itself.
NINJA-IDE is very extensible thanks to the use of plugins and it already has multiple snippets as a manager or integration of Git. In the download area of the project there are binary packages for Debian / Ubuntu, Fedora and Arch, as well as for Windows (XP, Vista, and 7) and Mac OSX.
It currently features:
NINJA-IDE provides a complete code editor with highlighting for several languages, code completion, code assistant for imports, navigation, etc.
The IDE starts quickly and does everything you expect from a coding environment tailored to a python and more. The look and feel is highly customizable. The console supports embedded Python Console built-in into the IDE, and load several plugin’s widgets for multi-purposes.
The IDE will show all the functions, classes and attributes in a single page display, grouped together under the structure that contains them.
A pop-up that appears when you over a line of code indicating not only errors, (for example of bad indents) but so warning about anything that does not comply with the PEP 8 style guide for python. It does this in a very detailed manner, showing you where something is not exact traveling in the right manner. This feature is especially useful for python newbies that may not yet be familiar with all of these conventions.
NINJA-IDE allows one to manage Python projects automatically, saving descriptive information about them and letting the user perform file-management-related tasks in the IDE itself.
It does a very good job with the three things you need: finding your way through the code (code navigation), writing code and debugging. It is also possible to run Python Project or any file opened in the Editor with just one click or render an HTML file loaded in the Editor in the IDE to see how the changes would look like in a browser.
You can create plugins for several purposes, and they can be completely integrated within the IDE, thus increasing the available features of the editor. Ninja IDE program code checks for compliance with the rules of stylistic PEP8.
NINJA-IDE supports “Imports from Everywhere” feature, which allows you to add Imports and return again to where you are editing large files. Then there are Web Inspector, Code Navigation, and Contextual Menu in tool options to perform quick actions, Code Jumps, Breakpoints and Bookmarks Navigation implemented, and Profile manager to extend your editor functionality.
Extensive Plug-in Support
Plugins are small pieces of code that can interact with NINJA-IDE and add and deliver specific features to the editor. Many times developers try to collaborate on an open source project, but that task could be hard due to missing plug-ins in the editor.
NINJA-IDE supports snippets, public paste services, bazaar versioning system, basic auto-complete Plugin Kai, IPython, RubySymbols, pluginProject, taskPlugin, Django Plugin, Zeitgeist and git calls plugins.