簡體   English   中英

無法使用摩納哥編輯器以更漂亮的格式工作

[英]Not working in prettier formatting using monaco editor

我正在嘗試使用 Monaco 編輯器制作可在瀏覽器中運行的 IDE。 我想使用 Prettier 進行漂亮的格式化。 它僅適用於 Javascript 個文件或僅適用於 html 個文件。 但是,它不適用於我在下面指定的類型的文件。 我該如何解決。

預期的: 在此處輸入圖像描述

結果: 在此處輸入圖像描述

我也收到此錯誤: 在此處輸入圖像描述

    monaco.languages.registerDocumentFormattingEditProvider("javascript", {
            async provideDocumentFormattingEdits(model) {
                alert(1);
                var text1 = prettier.format(model.getValue(), {
                    wrapAttributes: "force",
                    parser: "babel",
                    // plugins: [babel],
                    htmlWhitespaceSensitivity: "ignore",
                    arrowParens: "always",
                    bracketSpacing: true,
                    endOfLine: "lf",
                    insertPragma: false,
                    singleAttributePerLine: false,
                    bracketSameLine: false,
                    printWidth: 400,
                    proseWrap: "preserve",
                    quoteProps: "as-needed",
                    requirePragma: false,
                    semi: true,
                    singleQuote: true,
                    tabWidth: 4,
                    //trailingComma: 'es5',
                    useTabs: false,
                    vueIndentScriptAndStyle: false,
                });

               

                return [
                    {
                        range: model.getFullModelRange(),
                        text: text1,
                    },
                ];
            },
        });
 monaco_scr_editor = monaco.editor.create(document.getElementById("browserIDE"), {
            value: ["<html>Please Wait Loading</html>"].join("\n"),
            language: "javascript",
            theme: "vs-dark",
            wrappingColumn: 0,
            autoIndent: true,
            formatOnPaste: true,
            formatOnType: true,
            wrappingIndent: "indent",
            wordWrap: "off",
            automaticLayout: true,
            overviewRulerLanes: 1,
            overviewRulerBorder: true,
            minimap: { enabled: false },
        });

您需要為options.parser提供正確的值。

來自文檔

options.parser必須根據您正在格式化的語言進行設置(請參閱可用解析器列表)。 或者,可以為 Prettier 指定options.filepath以從文件擴展名推斷解析器。

所以將它設置為parser: "html"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM