Visual Studio Code 中的多个格式化程序
Posted
技术标签:
【中文标题】Visual Studio Code 中的多个格式化程序【英文标题】:Multiple formatters in Visual Studio Code 【发布时间】:2018-08-31 21:21:53 【问题描述】:在我的团队中,有些人使用 VS Code,有些人使用 WebStorm。为了对齐代码格式,我为 VS Code 编写了一个扩展,添加了一些缺失的规则。
我的计划是与 VS Code 附带的本机格式化程序一起运行我的扩展程序。我使用 API 提供我的编辑:
vscode.languages.registerDocumentFormattingEditProvider('typescript',
provideDocumentFormattingEdits(document: vscode.TextDocument)
const textEdit: vscode.TextEdit[];
return textEdit;
但似乎我无法在本机格式化程序上运行它,我必须选择其中一个。是否可以同时使用上述 API 运行?
【问题讨论】:
这里是一些关于相同语言格式器矛盾的官方信息:code.visualstudio.com/blogs/2016/11/15/… 似乎没有办法将自定义格式化程序与本机格式化程序一起使用。这里有更多信息:github.com/Microsoft/vscode/issues/11609 【参考方案1】:我找到了一种在 VSCode 中运行多个格式化程序的方法。只需在另一个扩展中运行一个扩展的格式化命令。
在我自己的extension.ts中:
const firstFormatter = commands.executeCommand('editor.action.formatDocument');
firstFormatter.then(() => myFormat());
像这样,任何自定义扩展都可以使用多个格式化程序顺序格式化文档。
【讨论】:
您能否提供指向您的扩展源代码的链接?以上是关于Visual Studio Code 中的多个格式化程序的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 中的 Groovy 格式化程序/美化器 [关闭]
如何在 Visual Studio Code 中格式化 PHP 文件中的 HTML [重复]