Visual Studio 代码中的多个格式化程序

Multiple formatters in Visual Studio Code

在我的团队中,一些人使用 VS Code,其他人使用 WebStorm。为了对齐代码格式,我为 VS Code 编写了一个扩展,它添加了一些缺失的规则。

我的计划是 运行 我的扩展以及 VS Code 附带的本机格式化程序。我使用 API:

提供我的编辑
vscode.languages.registerDocumentFormattingEditProvider('typescript', {
    provideDocumentFormattingEdits(document: vscode.TextDocument) {
        const textEdit: vscode.TextEdit[];
        return textEdit;
    }
}

但似乎我不能 运行 这沿着本机格式化程序,我必须选择两者之一。是否可以 运行 同时使用上面的 API?

我在 VSCode 中找到了 运行 多个格式化程序的方法。只是 运行 一个扩展在你的另一个扩展中的格式化命令。

在我自己的里面 extention.ts:

const firstFormatter = commands.executeCommand('editor.action.formatDocument');

firstFormatter.then(() => myFormat());

像这样,任何自定义扩展都可以使用多个格式化程序按顺序格式化文档。