2

我正在为 Dart 开发 VS Code 扩展。Dart 的约定是缩进 2 个空格(呃,我也讨厌这个),所以我想在用户打开 Dart 文件时自动设置它,而不是使用他们的默认值。

类中有一个insertSpaces属性,FormattingOptions但不清楚如何设置它,也不清楚最好的方法(例如,在语言级别设置它比在打开文档时继续设置它更好)。

4

2 回答 2

5

VS Code 现在支持每种语言的缩进设置,您可以在package.json:

"configurationDefaults": {
    "[dart]": {
        "editor.tabSize": 2,
        "editor.insertSpaces": true
    },
于 2017-12-15T11:16:54.307 回答
2

更新:请参阅下面适用于较新版本的 VS Code 的答案。

为了使用,在你的扩展函数中FormattingOptions设置一个回调:vscode.window.onDidChangeActiveTextEditor()activate()

let disposable = vscode.window.onDidChangeActiveTextEditor((editor) => {
    if(!editor) {
        return;
    }

    if (editor.document.languageId != "your_id_here") {
        return;
    }

    editor.options = {
        cursorStyle: editor.options.cursorStyle,
        insertSpaces: true,
        tabSize: 2
    };
});

context.subscriptions.push(disposable);
于 2016-08-01T12:09:56.450 回答