Ben*_*ach 8 visual-studio-code vscode-extensions
我正在开发一个 Haskell 项目,该项目必须由以下两者格式化:
stylish-haskell(用于进口重新订购)brittany(用于一般格式)我可以为一种语言设置单一默认格式化程序:
"[haskell]": {
"editor.defaultFormatter": "MaxGabriel.brittany"
}
Run Code Online (Sandbox Code Playgroud)
editor.action.formatDocument.multiple或者我可以使用(“在命令选项板中使用...设置文档格式”)从列表中选择一个。
但我需要在保存时一个接一个地运行它们。截至目前,我只能在保存时运行单个默认格式化程序。在这种情况下顺序并不重要,但在更一般的情况下可能会很重要。
我尝试设置editor.defaultFormatter格式化程序列表(这没有按预期工作),并构建了一个使用editor.action.formatDocument.multiple各种参数进行调用的本地扩展,它只是弹出一个可用格式化程序的下拉列表以供选择。
如何在保存时按顺序运行两个格式化程序?
虽然有点晚了,但对于新手来说,您还可以使用一个已经创建的扩展...顺便说一下,这要感谢这篇文章的所有答案。
请参阅多功能格式化程序
因此,您只需添加要在以下设置settings.json中运行的格式化程序:*.code-workspace
{
"[haskell]": {
"editor.defaultFormatter": "Jota0222.multi-formatter",
"editor.formatOnSave": true
"multiFormatter.formatterList": [
"vigoo.stylish-haskell",
"MaxGabriel.brittany"
],
}
}
Run Code Online (Sandbox Code Playgroud)
使用该配置,stylish-haskell将首先运行,并Britanny在保存更改后立即运行。
PS:我确实是该解决方案的作者。我无意做任何推广,这只是上述答案的实现。所以我要感谢在我之前回答的人。
此外,该扩展是开源的,请随时检查代码并在 GitHub 上做出贡献
我不认为这确实是官方支持的用例,但您可以通过让扩展执行以下操作来解决它:
"editor.formatOnSave"Haskellvscode.workspace.onDidSaveTextDocument,其中您:
"editor.defaultFormatter"为第一个格式化程序WorkspaceConfigurationAPI"editor.action.formatDocument""editor.defaultFormatter"为第二个格式化程序"editor.action.formatDocument"当然,这仅涉及formatOnSave格式化,而不formatOnPaste涉及 或formatOnType。
| 归档时间: |
|
| 查看次数: |
6840 次 |
| 最近记录: |