【问题标题】:There is no document formatter for 'django-html'-files installed没有安装“django-html”文件的文档格式化程序
【发布时间】:2019-08-06 03:11:40
【问题描述】:

在 vscode 中,用于自动格式化的 shift+alt+f 在 HTML 中有效,但不适用于 Django 模板文件。 如何在 VS 代码中使用自动格式化功能?

【问题讨论】:

    标签: django visual-studio-code autoformatting


    【解决方案1】:

    除了 hkimani 的回答,我还需要一个额外的步骤来使 Beautify 成为默认格式化程序(并且能够在保存时格式化):

    "[django-html]": {
        "editor.defaultFormatter": "HookyQR.beautify",
        ...
    }
    

    【讨论】:

    • Beautify 使用 django html 比 prettier 效果更好
    【解决方案2】:

    转到文件->首选项->设置选项卡工作区搜索美化配置编辑beautify:config 结果我的配置

    {
       "[django-html]": {
    
            "files.associations": {
               "**/templates/*.html": "django-html",
              "**/templates/*": "django-txt"
         },
        "editor.quickSuggestions": {
            "other": true,
            "comments": true,
            "strings": true
        }
    },
    "beautify.language": {
    
        "js": {
            "type": [
                "javascript",
                "json",
                "jsonc"
            ],
            "filename": [
                ".jshintrc",
                ".jsbeautifyrc"
            ]
        },
        "css": [
            "css",
            "less",
            "scss"
        ],
        "html": [
            "htm",
            "html",
            "django-html"
        ]
    },
    "beautify.config": ""
     }
    

    【讨论】:

      【解决方案3】:

      如果你使用 Beautify 那么

      • 到达扩展程序列表中的扩展程序
      • 点击齿轮,然后点击“扩展设置”
      • 向下滚动到“美化:语言”,然后点击“在 settings.json 中编辑”
      • 向下滚动到 HTML 列表并将“ ”django-html“ ”添加到列表中

      【讨论】:

        【解决方案4】:

        以下内容对我有用:

        1. 确保您的 settings.json 中有以下内容(相应编辑):
            "files.associations": {
                "**/*.html": "html",
                "**/templates/*/*.html": "django-html",
                "**/templates/*": "django-html",
                "**/requirements{/**,*}.{txt,in}": "pip-requirements"
            },
            "emmet.includeLanguages": {
                "django-html": "html"
            },
        
        1. 安装美化扩展,然后添加:
            "beautify.language": {
                "html": [
                    "htm",
                    "html",
                    "django-html"
                ]
            },
        
        1. 可能需要重新启动(也可能不需要)

        【讨论】:

        • 这很棒@kimanihuon。我将 prettier 用于其他项目和文件类型,但它会破坏很多模板标签,比如在几行中破坏 {% for %} 是无效的。我确实需要应用 Romain Straet 进一步提到的附加设置,以使其在 macOS 10.15.7 上运行。
        【解决方案5】:

        如果你使用prettier并且只需要django-html的美化,

        {
            "prettier.disableLanguages": ["django-html"],
            "beautify.language": {
              "html": [
                "django-html"
              ]
            },
            "[django-html]": {
              "editor.formatOnSave": true,
              "editor.defaultFormatter": "HookyQR.beautify"
            }
        }
        

        【讨论】:

          【解决方案6】:

          在 VSCode 插件目录中有多个很棒的 Django 助手可用,但我不相信目前有可用的 Django 模板格式化程序插件。我也想要一个!

          我发现的最有用的是this auto-indenter。

          【讨论】:

          • 谢谢你的澄清,我花了太多时间在这上面。顺便问一下,你知道如何为 'Django-html' 文件使用 html 自动格式化程序吗?
          • 插件“prettier”在 HTML 方面做得很好,但是 django 模板标签会混淆它(好吧,任何它不能识别为有效 html 的东西都会混淆它)。 github.com/prettier/prettier-vscode
          猜你喜欢
          • 2019-07-17
          • 1970-01-01
          • 2020-05-15
          • 2019-04-25
          • 2022-01-08
          • 2010-10-07
          • 2010-12-21
          • 2015-06-05
          • 1970-01-01
          相关资源
          最近更新 更多