Форматирование кода нарушает директивы Jekyll YAML front matter в VS code

#jekyll #visual-studio-code

#jekyll #visual-studio-code

Вопрос:

Автоматическое форматирование кода (действие editor.action.format ) нарушает Jekyll (он же Github Pages), страницы YAML front matter.

index.html перед автоматическим форматированием:

 --- 
layout: default 
title: Awesome page
bodyClass: homepage 
permalink: /
---
(rest of the content)
  

index.html после автоформатирования:

 --- layout: default title: Awesome page bodyClass: homepage permalink: / ---
(rest of the content is formatted ok, regular html syntax)
  

Как я могу настроить правила форматирования VS code?

Ответ №1:

Чтобы решить эту проблему, у вас есть два варианта:

  1. Отключено форматирование HTML-файлов в settings.json file:

     "html.format.enable": false
      

    Это отключает форматирование для файлов HTML. Не идеально, но выполняет свою работу. Для этого есть проблема с GitHub, но, похоже, она закрыта.

  2. Рассмотрите возможность установки расширения поддержки Liquid Languages, а затем добавьте его в свой settings.json :

     "files.associations": {
        "*.html": "liquid"
    }
      

Это решило проблему для меня.

Ответ №2:

Расширение Jekyll Snippets позволяет VS Code понимать front matter для большинства типов файлов.

Однако расширение не знает о SCSS. Обходной путь с большим трудом — отключить проверку SCSS в settings.json :

 "scss.validate": false
  

Комментарии:

1. Выделение не работает для меня с файлами js — по умолчанию оно настроено для типов файлов html, md и jekyll.

Ответ №3:

У меня была такая же проблема. Убедитесь, что для этого параметра установлено значение false: "editor.formatOnSave": false

Комментарии:

1. спасибо @yviedev, хотя я это знаю. Это не решает вопрос, так как я хочу автоматическое форматирование кода для других моих файлов.