我正在开发一个 Haskell 项目,该项目的格式必须为both:
-
stylish-haskell
(用于进口重新订购)
-
brittany
(用于一般格式)
我可以为一种语言设置单一默认格式化程序:
"[haskell]": {
"editor.defaultFormatter": "MaxGabriel.brittany"
}
或者我可以使用以下命令从列表中选择一个editor.action.formatDocument.multiple
(“在命令选项板中使用...设置文档格式”)。
但我需要在保存时一个接一个地运行它们。截至目前,我只能在保存时运行单个默认格式化程序。在这种情况下顺序并不重要,但在更一般的情况下可能会很重要。
我尝试过设置editor.defaultFormatter
到格式化程序列表(这没有按预期工作)并构建了一个调用的本地扩展editor.action.formatDocument.multiple
带有各种参数,这只会弹出一个可用格式化程序的下拉列表以供选择。
如何在保存时按顺序运行两个格式化程序?
我不认为这确实是官方支持的用例,但您可以通过让扩展执行以下操作来解决它:
- disable
"editor.formatOnSave"
对于哈斯克尔
- register a callback for vscode.workspace.onDidSaveTextDocument, in which you:
- set
"editor.defaultFormatter"
使用第一个格式化程序WorkspaceConfiguration API
- call
"editor.action.formatDocument"
- set
"editor.defaultFormatter"
到第二个格式化程序
- call
"editor.action.formatDocument"
again
当然,这仅涵盖formatOnSave
格式化,不formatOnPaste
or formatOnType
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)