Bug 107128 [typing] Move lines destroys indentation of outcommented code
I20050811-1530 Move lines destroys the indentation of code that has been commented out. IMO, Move lines should never try to be smart about the contents of a commented section. It should just add/remove whitespace in front of the // (same behavior as when moving other statements). public class Klass { int bar; // void foo() { // System.out.println("foo"); // } } - select the 3 commented lines - press Alt+Up -> document looks like this (note the removed tab in fromt of System.out.pr...): public class Klass { // void foo() { // System.out.println("foo"); // } int bar; }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/IndentUtil.java
* must be inside a javadoc comment.
	 * 
	 * @param document the document
	 * @param line the line in document
	 * @param scanner the scanner
	 * @return the indent, or <code>null</code> if not computable
	 * @throws BadLocationException
	 */
	private static String computeJavadocIndent(IDocument document, int line, JavaHeuristicScanner scanner) throws BadLocationException {
		if (line == 0)
			return null;
		
		IRegion previousLine= document.getLineInformation(line - 1);
		final int lineStart= previousLine.getOffset();
		final int lineLength= previousLine.getLength();
		final int end= lineStart + lineLength;
		
		int firstNonWS= scanner.findNonWhitespaceForwardInAnyPartition(lineStart, end);
		if (firstNonWS == JavaHeuristicScanner.NOT_FOUND)
			return document.get(lineStart, lineLength);
		StringBuffer buf= new StringBuffer();
		String indentation= document.get(lineStart, firstNonWS - lineStart);
		buf.append(indentation);
		if (document.getChar(firstNonWS) == '/')
			
			buf.append(' ');
		return buf.toString();
	}
}