diff --git a/src/vs/editor/common/config/commonEditorConfig.ts b/src/vs/editor/common/config/commonEditorConfig.ts index b36b57d5ce67c297e4bba7c38492b1cdc498e130..d75140b5201c9f0e13dea26d06dc7978c94a1181 100644 --- a/src/vs/editor/common/config/commonEditorConfig.ts +++ b/src/vs/editor/common/config/commonEditorConfig.ts @@ -505,7 +505,7 @@ export class CommonEditorConfiguration extends EventEmitter implements EditorCom tabSizeIsAuto: false, tabSize: 4, insertSpacesIsAuto: false, - insertSpaces: false + insertSpaces: true }; if (opts.tabSize === 'auto') { diff --git a/src/vs/editor/common/model/textModel.ts b/src/vs/editor/common/model/textModel.ts index 46718fbec8cb1a55ed4001747cc32f5fff3807c7..027dcf91ee7393b83a5f5dd24bd97640c141b1c9 100644 --- a/src/vs/editor/common/model/textModel.ts +++ b/src/vs/editor/common/model/textModel.ts @@ -486,11 +486,11 @@ export class TextModel extends OrderGuaranteeEventEmitter implements EditorCommo linesIndentedWithSpaces += (absoluteSpaceCounts[i] || 0); } - // Give preference to tabs over spaces (when evidence is the same) + // Give preference to spaces over tabs (when evidence is the same) // or when there are not enough clues (too little indentation in the file) if (linesIndentedWithTabs >= linesIndentedWithSpaces) { return { - insertSpaces: false, + insertSpaces: true, tabSize: defaultTabSize }; } @@ -498,7 +498,7 @@ export class TextModel extends OrderGuaranteeEventEmitter implements EditorCommo if (linesWithIndentationCount < 6 && linesIndentedWithTabs > 0) { // Making a guess with 6 indented lines, of which tabs are used besides spaces is very difficult return { - insertSpaces: false, + insertSpaces: true, tabSize: defaultTabSize }; } diff --git a/src/vs/editor/test/common/model/textModel.test.ts b/src/vs/editor/test/common/model/textModel.test.ts index 463ad75fc3ed6d226543c5a69723146a5f6e6434..cd6b8e86c9e09bdfe061eae030caf43d7ba0ae68 100644 --- a/src/vs/editor/test/common/model/textModel.test.ts +++ b/src/vs/editor/test/common/model/textModel.test.ts @@ -11,14 +11,14 @@ import Position = require('vs/editor/common/core/position'); function testGuessIndentation(expectedInsertSpaces:boolean, expectedTabSize:number, text:string[], msg?:string): void { var m = new TextModel.TextModel([], TextModel.TextModel.toRawText(text.join('\n'))); - var r = m.guessIndentation(1773); + var r = m.guessIndentation(1337); m.dispose(); assert.equal(r.insertSpaces, expectedInsertSpaces, msg); if (expectedInsertSpaces) { assert.equal(r.tabSize, expectedTabSize, msg); } else { - assert.equal(r.tabSize, 1773, msg); + assert.equal(r.tabSize, 1337, msg); } } @@ -64,26 +64,26 @@ suite('Editor Model - TextModel', () => { test('guess indentation 1', () => { // Defaults to tabs - guessesTabs([ + guessesSpaces(1337, [ 'x', 'x' ]); // Gives preference to tabs - guessesTabs([ + guessesSpaces(1337, [ '\tx', 'x' ]); - guessesTabs([ + guessesSpaces(1337, [ '\tx', ' x' ]); - guessesTabs([ + guessesSpaces(1337, [ '\tx', ' x' ]); - guessesTabs([ + guessesSpaces(1337, [ 'x', ' x', ' x', @@ -93,7 +93,7 @@ suite('Editor Model - TextModel', () => { ' x', ' x' ], '7x1 - 1 space is never guessed as an indentation'); - guessesTabs([ + guessesSpaces(1337, [ '', ' ', ' ',