Over time, I write down ideas I have for things.  Here are some for the IDE:

  • Allow you to specify what builtin types are expected for the code being built.
    • When they are not the expected sizes or signs, you get a warning or error.
    • Example:  if the code specifies that ‘int’ should be a 32-bit signed integer, but the compiler is set to treat it as a 16-bit signed integer, you get a compile error.
    • When targeted hardware does not support the expected types and sizes, you get an error.
  • IDE should tell you what the result of a macro will be.
    • What will the value of a #defined macro be at each point in the code.
    • Grey-out or visually indicate  that code will compile out of the result.
  • Mix code and RTF documentation.  That way, the code can have real documentation mixed into it.  You could code up the new API and just above it is documentation with fonts, bold, underline, etc.  Then you can extract this nicely formatted text and drop it straight into documents of various word-processing applications.
  • Should compile on-the-fly and as-you-type and tell you succeed or fail immediately on completing a line.
  • Should auto-indent and code-fold all the current ways, plus:
    • Fold based on conditional compile logic. (Fold everything between #ifdef and #else and #endif, etc.  That can get lots of legacy code for other platforms out of sight.
    • Fold comments and documentation.
  • Cut and paste vertical columns. (That’s paste vertically into a column as well.)