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 - 在 visual studio 代码扩展中捕获击键

Java 错误 : Could not find or load main class Test

java - 如何将 java 字符串格式化为 SQL 语法?

firefox - 如何在 Firefox/Firebug 中美化 JavaScript 和 CSS?

visual-studio-code - 如何从扩展代码中动态查询我的 VSCode 扩展版本?

visual-studio-code - 当我在 README 文件中使用 HTML 标签时,为什么图像无法显示在 VS Code 扩展库中?

amazon-web-services - 配置 vscode 以使用 AWS 配置文件运行测试

visual-studio-code - 如何在 Visual Studio Code 中禁用 PHP 验证?

java - 使多个 IDE 的代码格式化程序产生相同的结果

visual-studio-code - registerTaskProvider 的 ProvideTasks 方法如何工作