Community
Participate
Working Groups
I would like a smarter tab policy. In code formated like this: class Example { Example(int arg1, int arg2, int arg3, int arg4, int arg5, int arg6) { this(); } Example() { } } I would like to have a mix of tabs and spaces like this: class Example { <tb>Example(int arg1, int arg2, <tb> int arg3, int arg4, <tb> int arg5, int arg6) { <tb><tb>this(); <tb>} <tb>Example() { <tb>} } If the code it is formated like this then it looks good whether a editor is using 4 or 8 space tabs. I called this a smarter tab policy because it means the code that implements the tab policy needs to know more than just a column number. It needs an indentation level and column offset. This could be configured by setting the tab policy to "mixed" and then have a check box that says "use spaces for column alignment" Or it could be configured by a new tab policy called "portable mixed", and in that case only the tab size field is needed. On another note it is bad that the Constructor Declarations->parameters example in the code formatting dialog uses the word "Example" which happens to be 8 chars. So in "tab only" tab policy with tabs of 2,4, or 8, the example doesn't show what will happen when "indent on column" is set. The method declarations->parameters example makes this clear.
What you want is actually already done at the core level. See bug 49896. Move to JDT/UI for adding this to the code formatter preference page.
*** Bug 102007 has been marked as a duplicate of this bug. ***
I hope, you add the UI option very soon, otherwise we cannot use Eclipse for real production code (would result in too much useless VCS differences each commit).
Created attachment 28021 [details] fix Adds checkbox [x] Use tabs only for leading indentations to Indentation -> general settings The checkbox is not enabled if Tab policy is 'spaces only'.
patch released for I20051011
Verified using I20051031-2000