visual-studio-code - Visual Studio Code 中的多个格式化程序

标签 visual-studio-code code-formatting vscode-extensions

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

我的计划是将我的扩展与 VS Code 附带的 native 格式化程序一起运行。我使用 API 提供我的编辑:

vscode.languages.registerDocumentFormattingEditProvider('typescript', {
    provideDocumentFormattingEdits(document: vscode.TextDocument) {
        const textEdit: vscode.TextEdit[];
        return textEdit;
    }
}

但似乎我无法在 native 格式化程序中运行它,我必须选择其中之一。是否可以使用上述 API 运行两者?

最佳答案

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

在我自己的 extension.ts 中:

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

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

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

关于visual-studio-code - Visual Studio Code 中的多个格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49428648/

相关文章:

visual-studio-code - 从 VSC 内部向 Bash 终端添加别名

tsd - 使用 dts checkin Visual Studio Code 类型文件夹是否有意义?

java - Intellij 格式化。与正文不同的缩进的中断方法

c# - 垂直代码对齐 VS Visual Studio 2015 自动格式化

javascript - vscode-test 设置中的 runTest.ts 类即使在示例项目中也从未使用过,它有什么用?

typescript - Visual Studio Code 从扩展安装扩展

javascript - 使用 AngularJS 进行 Visual Studio Code 调试

macos - 如何使用 Automator 调整 Visual Studio Code 窗口的大小?

javascript - WebStorm 格式化长 JavaScript 对象属性值

go - 关闭vscode-go时代码会被删除吗:playground?