Thinking from the team management perspective, the most important features for me are
- support for multiple development languages
- support for integration with 3rd party and in-house tools:
- ability to customize based on data stored in files
and environment variable - ideally without having
to copy data stored elsewhere for other tools into
a tool specific format.
- ability to accept inputs and send outputs to third
party tools
- ability to customize the entire menu - not just a dedicated list of
plug-in menus
- ability to integrate custom version control systems, build systems, debugging tools, diff support, refactoring tools, project management tools, and so on.
- ability to set site wide defaults
- ability to bundle up and distribute customizations
- ability to layer personal customizations on top of sitewide defaults
- not too difficult to learn customization/integration
interface
If all of the above exists we can make, buy, or download the rest - syntax highlighting, etc.
Nice to haves would include:
- trouble-free support for local editing of remote files
- built-in syntax highlighting that can be replaced with custom tools.
- built-in jump to error API (to facilitate integration
with custom debugging tools)
- built-in space-to-tab management
- A robust plug-in/add-on development community
- A customization language that lets team members customize their tools using whatever language they typically program in. A second best would be a language that is commercially important to us so that form-fitting tools to one's work habits also encourages/reinforces languages that I would want all team members to know. An IDE with Perl as the customization language would definitely pass that requirement!
Best, beth