VSCodeでCSSプロパティの自動並べ替え設定方法

CSSプロパティの順序指定にVSCodeのCSSCombを使用しているので、その設定方法をまとめておこうと思います。

実現したいこと

  • CSSのプロパティに順序ルールを設けてCSS(SASS)の可読性を高める

CSSのプロパティの順番は人によって異なっていたりバラバラのまま書いている方もいるかと思うので、気軽に共通ルールを設けられると良いですね。

設定方法

1.VSCodeに拡張機能CSSCombを追加

VSCodeの拡張機能画面からCSSCombを追加しましょう。

2.設定ファイルを追加

/Users/{your_user_name}/.vscode/mycsscomb.json

ユーザー直下にある.vscodeフォルダにmycsscomb.jsonを追加しましょう。

基本みやしもブログさんの【VSCode】拡張機能『CSSComb』の設定内容を紹介しますにあるコードのまま使用させていただいています。一点、”element-case”: “lower”,を設定しているとローワーキャメルケースで設定したクラス名が全て小文字になってしまうことがあるので、この部分だけ削除しています。

{
    "always-semicolon": true,
    "block-indent": "    ",
    "color-case": "lower",
    "color-shorthand": false,
    "eof-newline": false,
    "leading-zero": false,
    "quotes": "double",
    "space-after-colon": " ",
    "space-after-combinator": " ",
    "space-after-opening-brace": "\n",
    "space-after-selector-delimiter": " ",
    "space-before-closing-brace": "\n",
    "space-before-colon": "",
    "space-before-combinator": " ",
    "space-before-opening-brace": " ",
    "space-before-selector-delimiter": "",
    "space-between-declarations": "\n",
    "strip-spaces": true,
    "tab-size": true,
    "unitless-zero": true,
    "vendor-prefix-align": true,
    "remove-empty-rulesets": true,
    "sort-order": [
        [
            "$variable",
            "$import",
            "$extend",
            "$include",
            "display",
            "flex",
            "flex-grow",
            "flex-shrink",
            "flex-basis",
            "flex-flow",
            "flex-direction",
            "flex-wrap",
            "justify-content",
            "align-content",
            "align-items",
            "align-self",
            "order",
            "visibility",
            "opacity",
            "clip ",
            "clip-path",
            "list-style",
            "list-style-type",
            "list-style-position",
            "list-style-image",
            "position",
            "top",
            "right",
            "bottom",
            "left",
            "z-index",
            "float",
            "clear",
            "transform",
            "width",
            "min-width",
            "max-width",
            "height",
            "min-height",
            "max-height",
            "margin",
            "margin-top",
            "margin-right",
            "margin-bottom",
            "margin-left",
            "padding",
            "padding-top",
            "padding-right",
            "padding-bottom",
            "padding-left",
            "overflow",
            "overflow-x",
            "overflow-y",
            "border",
            "border-top",
            "border-right",
            "border-bottom",
            "border-left",
            "border-width",
            "border-top-width",
            "border-right-width",
            "border-bottom-width",
            "border-left-width",
            "border-style",
            "border-top-style",
            "border-right-style",
            "border-bottom-style",
            "border-left-style",
            "border-color",
            "border-top-color",
            "border-right-color",
            "border-bottom-color",
            "border-left-color",
            "border-image",
            "border-image-source",
            "border-image-slice",
            "border-image-width",
            "border-image-outset",
            "border-image-repeat",
            "border-radius",
            "border-top-left-radius",
            "border-top-right-radius",
            "border-bottom-right-radius",
            "border-bottom-left-radius",
            "box-sizing",
            "box-shadow",
            "background",
            "background-image",
            "background-position",
            "background-size",
            "background-repeat",
            "background-origin",
            "background-clip",
            "background-attachment",
            "background-color",
            "color",
            "font",
            "font-style",
            "font-variant",
            "font-weight",
            "font-stretch",
            "font-size",
            "line-height",
            "font-family",
            "letter-spacing",
            "text-decoration",
            "text-decoration-color",
            "text-decoration-style",
            "text-decoration-line",
            "text-align",
            "text-indent",
            "text-transform",
            "white-space",
            "word-break",
            "word-spacing",
            "word-wrap",
            "text-shadow",
            "table-layout",
            "border-collapse",
            "border-spacing",
            "empty-cells",
            "caption-side",
            "vertical-align",
            "content",
            "quotes",
            "counter-increment",
            "counter-reset",
            "outline",
            "outline-color",
            "outline-style",
            "outline-width",
            "cursor",
            "resize",
            "transition",
            "transition-property",
            "transition-duration",
            "transition-timing-function",
            "transition-delay",
            "animation",
            "animation-name",
            "animation-duration",
            "animation-timing-function",
            "animation-delay",
            "animation-iteration-count",
            "animation-direction",
            "animation-fill-mode",
            "animation-play-state",
            "unicode-bidi",
            "direction",
            "page-break-before",
            "page-break-after",
            "page-break-inside",
            "widows",
            "orphans"
        ]
    ]
}

まとめ

CSSの順序整理方法は他にもあるかと思いますが、現在はCSSCombで設定しています。もっと楽な方法、改善点等ありましたらぜひ教えてください。

参考:【VSCode】拡張機能『CSSComb』の設定内容を紹介します

ー この記事をシェアする? ー

  • VSCodeでCSSプロパティの自動並べ替え設定方法

この記事にコメントする

このサイトはreCAPTCHAとGoogleによって保護されています。プライバシーポリシー利用規約が適用されます。