+1!  I think your idea, Tom, is absolutely excellent.  Right on!  I think I
have even proposed your idea before to [EMAIL PROTECTED] but I got
no feedback.  You describe the solution very well with your illustration.  I
get into these annoying debates with someone I work with about tabs versus
spaces and it is tiresome.  My co-worker thinks everyone should conform to
spaces since tab-formatted source looks inconsistent.  I argued that the
problem is not with tabs themselves but that development tools are not smart
about when to ommit tabs and when to ommit spaces instead!  IDEA may have a
smart editor, but I haven't seen any editor that has any intelligence when
it comes to tabs versus spaces.  They just have an option to ommit one or
the other, regardless of context, and that's it.  What's needed is more than
this.  Your excellent idea Tom *AND* having the editor recognize that a
source file uses either tabs or spaces at the vicinity of text entry and do
the right thing depending on wether it found any tabs within, say, 5 lines
up or down of where the user hits the tab key.  Sure... it isn't trivial for
IntelliJ to put forth the effort to go above and beyond the typical editor;
but then again, that's why I've paid them $400.

~ Dave Smiley
    MITRE

> Date: Thu, 14 Feb 2002 12:16:59 +0100
> To: [EMAIL PROTECTED]
> From: Thomas Singer <[EMAIL PROTECTED]>
> Subject: [Eap-list] Smart tabs?
> Reply-To: [EMAIL PROTECTED]
>
> Hello IntelliJ,
>
> I proposed from time to time, that IDEA should have an option for smart
> tab-placements. What do you think about it?
>
> For all, that can't remember, what I meant, I 'll explain in short. Assume
> following code:
>
>      private int test(String value1,
>                       String value2) {
>          return getValue(value1,
>                          value2);
>      }
>
> I want to get following use of spaces and tabs (tabs are marked as "|->"
> and spaces as "." where important; 4 spaces per tab):
>
> |-->private int test(String value1,
> |-->.................String value2) {
> |-->|-->return getValue(value1,
> |-->|-->................value2);
> |-->}
>
> and now, viewed with 8 spaces per tab:
>
> |------>private int test(String value1,
> |------>.................String value2) {
> |------>|------>return getValue(value1,
> |------>|------>................value2);
> |------>}
>
> Advantages: everything, that is in one column, remains in one column. You
> can view this code with any spaces-per-tab-settings you prefer, it always
> looks good.
>
> To get this, only some rules are necessary:
>
> 1) Each non-wrapped line is indented with tabs.
> 2) Each wrapped line takes the tab-indentation from the last non-wrapped
> one and fills the rest with spaces!
> 3) Tabs are only valid before the left non-white-space character. Pressing
> the tab key, lets say after "getValue(value1,|" always inserts spaces,
> never tabs!
>
> I hope, that IDEA would have this smart indentation engine. I believe, it
> even would help SUN to layout their sources (having a look into the
> Jdk-Sources with a tab setting different than 8 is terrible).
>
> Tom




_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list

Reply via email to