提交 07c6d4cf 编写于 作者: M Matt Bierner

Ensure we use the proper formatting settings for js/ts

上级 599fdbd6
......@@ -3,10 +3,11 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { workspace as Workspace, FormattingOptions, TextDocument, CancellationToken, window, Disposable, workspace, Uri } from 'vscode';
import { workspace as Workspace, FormattingOptions, TextDocument, CancellationToken, window, Disposable, workspace } from 'vscode';
import * as Proto from '../protocol';
import { ITypescriptServiceClient } from '../typescriptService';
import * as languageIds from '../utils/languageModeIds';
namespace FormattingConfiguration {
export function equals(a: Proto.FormatCodeSettings, b: Proto.FormatCodeSettings): boolean {
......@@ -71,7 +72,7 @@ export default class FormattingConfigurationManager {
const key = document.uri.toString();
const cachedOptions = this.formatOptions[key];
const formatOptions = this.getFormatOptions(document.uri, options);
const formatOptions = this.getFormatOptions(document, options);
if (cachedOptions && FormattingConfiguration.equals(cachedOptions, formatOptions)) {
return;
......@@ -90,10 +91,14 @@ export default class FormattingConfigurationManager {
}
private getFormatOptions(
resource: Uri,
document: TextDocument,
options: FormattingOptions
): Proto.FormatCodeSettings {
const config = workspace.getConfiguration('typescript', resource);
const config = workspace.getConfiguration(
document.languageId === languageIds.typescript || document.languageId === languageIds.typescriptreact
? 'typescript.format'
: 'javascript.format',
document.uri);
return {
tabSize: options.tabSize,
indentSize: options.tabSize,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册