摩纳哥编辑器自定义格式化程序

Monaco Editor custom formatters

我正在尝试在我目前正在开发的项目中使用 Microsoft 的 Monaco Editor。我查看了文档,发现您可以使用自定义代码完成和语法突出显示来设置自定义语言,但我找不到任何关于如何向自定义语言添加自定义格式的信息。

有这种可能吗?

阅读文档:registerDocumentFormattingEditProvider

您必须创建一个新的 DocumentFormattingEditProvider,然后将其传递给 monaco.languages.registerDocumentFormattingEditProvider。例如:

const cssFormatProvider = {
    provideDocumentFormattingEdits(model, options, token) {
        return [{
            text: YourFormatter(model.getValue()) // put formatted text here
            range: model.getFullModelRange()
        }];
    }
};
const languageId = 'css';

monaco.languages.registerDocumentFormattingEditProvider(languageId, cssFormatProvider);