Skip to content

[Bug]: Fix feature does not work #369

@Front-line-dev

Description

@Front-line-dev

How did you encounter this bug?

I try to fix code using vscode stylelint

  1. Use Fix all auto-fixable problems command on vscode
  2. Set "source.fixAll.stylelint": true to settings.json and save

Both method make no change.

Manually command stylelint --fix on terminal works

Installed vscode-stylelint works fine except fix function. It tells where and what is problem using stylelint config file.

Code Snippet

No response

Stylelint Configuration

{
  "extends": ["stylelint-config-standard-scss"],
  "plugins": ["stylelint-order"],
  "defaultSeverity": "warning",
  "ignoreFiles": ["**/editor.scss"],
  "rules": {
    "indentation": 4,
    "at-rule-empty-line-before": null,
    "rule-empty-line-before": ["always", { "disableFix": true }],
    "string-quotes": "single",
    "declaration-empty-line-before": null,
    "comment-empty-line-before": null,
    "selector-list-comma-newline-after": "always",
    "declaration-bang-space-after": "never",
    "function-calc-no-unspaced-operator": true,
    "declaration-colon-newline-after": null,
    "value-no-vendor-prefix": null,
    "property-no-vendor-prefix": null,
    "selector-no-vendor-prefix": null,
    "value-keyword-case": null,
    "color-function-notation": null,
    "color-named": "never",
    "color-hex-case": "lower",
    "color-hex-length": "short",
    "number-leading-zero": "always",
    "alpha-value-notation": "number",
    "declaration-block-no-redundant-longhand-properties": [
      true,
      { "ignoreShorthands": ["transition"] }
    ],
    "selector-class-pattern": null,
    "number-no-trailing-zeros": true,
    "no-descending-specificity": null,
    "function-name-case": null,
    "function-url-quotes": "never",

    "at-rule-disallowed-list": ["debug"],
    "declaration-block-no-duplicate-properties": true,
    "block-no-empty": true,
    "declaration-no-important": true,
    "declaration-block-single-line-max-declarations": 0,
    "selector-no-qualifying-type": [true, { "ignore": ["attribute"] }],

    "max-nesting-depth": 3,

    "scss/at-function-pattern": null,
    "scss/at-mixin-pattern": null,
    "scss/percent-placeholder-pattern": null,
    "scss/dollar-variable-pattern": null,
    "scss/at-import-partial-extension": null,
    "scss/at-extend-no-missing-placeholder": true,
    "scss/operator-no-unspaced": true,
    "scss/comment-no-empty": null,
    "scss/dollar-variable-empty-line-before": null,
    "scss/double-slash-comment-empty-line-before": null,

    "order/order": [
      { "type": "at-rule", "name": "extends" },
      "declarations",
      { "type": "rule", "selector": "&:hover" },
      { "type": "rule", "selector": "&:focus" },
      { "type": "rule", "selector": "&:active" },
      { "type": "rule", "selector": "&:first-child" },
      { "type": "rule", "selector": "&:nth-child" },
      { "type": "rule", "selector": "&:last-child" },
      { "type": "rule", "selector": "&::before" },
      { "type": "rule", "selector": "&::after" }
    ],

    "order/properties-order": [
      [
        {
          "groupName": "Position",
          "properties": [
            "position",
            "z-index",
            "top",
            "right",
            "bottom",
            "left"
          ]
        },
        {
          "groupName": "Layout",
          "properties": ["float", "clear"]
        },
        {
          "groupName": "Display",
          "properties": ["display", "table-layout"]
        },
        {
          "groupName": "Grid",
          "properties": [
            "grid",
            "grid-area",
            "grid-auto-columns",
            "grid-auto-flow",
            "grid-auto-rows",
            "grid-column",
            "grid-column-end",
            "grid-column-gap",
            "grid-column-start",
            "grid-gap",
            "grid-row",
            "grid-row-end",
            "grid-row-gap",
            "grid-row-start",
            "grid-template",
            "grid-template-areas",
            "grid-template-columns",
            "grid-template-rows",
            "gap"
          ]
        },
        {
          "groupName": "Flex box",
          "properties": [
            "flex-flow",
            "flex-direction",
            "flex-wrap",
            "justify-content",
            "align-content",
            "align-items",
            "order",
            "flex",
            "flex-grow",
            "flex-shrink",
            "flex-basis",
            "align-self"
          ]
        },
        {
          "groupName": "Visibility",
          "properties": [
            "visibility",
            "overflow",
            "overflow-x",
            "overflow-y",
            "clip"
          ]
        },
        {
          "groupName": "Box model",
          "properties": [
            "box-sizing",
            "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"
          ]
        },
        {
          "groupName": "Background",
          "properties": [
            "background",
            "background-attachment",
            "background-clip",
            "background-color",
            "background-image",
            "background-repeat",
            "background-position",
            "background-position-x",
            "background-position-y",
            "background-size",
            "background-origin",
            "background-attachment",
            "background-blend-mode"
          ]
        },
        {
          "groupName": "Border",
          "properties": [
            "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-radius",
            "border-top-left-radius",
            "border-top-right-radius",
            "border-bottom-left-radius",
            "border-bottom-right-radius"
          ]
        },
        {
          "groupName": "Color",
          "properties": ["box-shadow", "color", "opacity"]
        },
        {
          "groupName": "Typographic",
          "properties": [
            "font",
            "font-family",
            "font-size",
            "font-weight",
            "font-style",
            "font-variant",
            "font-size-adjust",
            "font-stretch",
            "font-effect",
            "font-emphasize",
            "font-emphasize-position",
            "font-emphasize-style",
            "font-smooth"
          ]
        },
        {
          "groupName": "Text align",
          "properties": [
            "line-height",
            "letter-spacing",
            "white-space",
            "word-spacing",
            "word-break",
            "word-wrap",
            "text-align",
            "text-decoration",
            "text-indent",
            "text-overflow",
            "text-rendering",
            "text-shadow",
            "text-transform",
            "text-wrap",
            "list-style",
            "vertical-align"
          ]
        },
        {
          "groupName": "Animation",
          "properties": [
            "transform",
            "transform-box",
            "transform-origin",
            "transform-style",
            "transition",
            "transition-delay",
            "transition-duration",
            "transition-property",
            "transition-timing-function",
            "animation",
            "animation-name",
            "animation-duration",
            "animation-timing-function",
            "animation-delay",
            "animation-iteration-count",
            "animation-direction",
            "animation-fill-mode",
            "animation-play-state"
          ]
        },
        {
          "groupName": "Others",
          "properties": [
            "border-collapse",
            "border-spacing",
            "caption-side",
            "content",
            "cursor",
            "empty-cells",
            "quotes",
            "speak",
            "outline",
            "outline-color",
            "outline-offset",
            "outline-style",
            "outline-width"
          ]
        }
      ],
      { "unspecified": "bottom" }
    ]
  }
}

Extension Configuration

{
    "eslint.validate": [
        "javascript"
    ],
    "stylelint.enable": true,
    "prettier.enable": false,
    "stylelint.validate": [
        "css",
        "scss"
    ],
    "stylelint.configFile": "/Users/user/Documents/stylelintrc.json",
    "stylelint.configBasedir": "/Users/user/.nvm/versions/node/v14.18.2/lib/node_modules",
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true,
        "source.fixAll.stylelint": true
    },
    "stylelint.stylelintPath": "/Users/user/.nvm/versions/node/v14.18.2/lib/node_modules/stylelint"
}

Actual Behaviour

Fix feature does not work.

It seems running something, but returns no edit (nothing to fix)

Expected Behaviour

The file should be fixed and saved using FormatOnSave or fix-all command

Logs

// start vscode
[Info  - 오후 6:36:25] [language-server] Registering module | module: "auto-fix"
[Info  - 오후 6:36:25] [language-server] Module registered | module: "auto-fix"
[Info  - 오후 6:36:25] [language-server] Registering module | module: "code-action"
[Info  - 오후 6:36:25] [language-server] Module registered | module: "code-action"
[Info  - 오후 6:36:25] [language-server] Registering module | module: "completion"
[Info  - 오후 6:36:25] [language-server] Module registered | module: "completion"
[Info  - 오후 6:36:25] [language-server] Registering module | module: "formatter"
[Info  - 오후 6:36:25] [language-server] Module registered | module: "formatter"
[Info  - 오후 6:36:25] [language-server] Registering module | module: "old-stylelint-warning"
[Info  - 오후 6:36:25] [language-server] Module registered | module: "old-stylelint-warning"
[Info  - 오후 6:36:25] [language-server] Registering module | module: "validator"
[Info  - 오후 6:36:25] [language-server] Module registered | module: "validator"
[Info  - 오후 6:36:25] [language-server] Starting language server
[Info  - 오후 6:36:25] [language-server] Registering handlers
[Debug - 6:36:25 p.m.] [language-server] connection.onInitialize handler registered
[Debug - 6:36:25 p.m.] [language-server] connection.onInitialized handler registered
[Debug - 6:36:25 p.m.] [language-server] Registering ExecuteCommandRequest handler
[Debug - 6:36:25 p.m.] [language-server] ExecuteCommandRequest handler registered
[Debug - 6:36:25 p.m.] [language-server] connection.onDidChangeConfiguration handler registered
[Debug - 6:36:25 p.m.] [language-server] documents.onDidClose handler registered
[Debug - 6:36:25 p.m.] [language-server] Invoking onDidRegisterHandlers
[Debug - 6:36:25 p.m.] [language-server:auto-fix] Registering onExecuteCommand handler
[Debug - 6:36:25 p.m.] [language-server] Registering command | command: "stylelint.applyAutoFix"
[Debug - 6:36:25 p.m.] [language-server] Invoked onDidRegisterHandlers | module: "auto-fix" returnValue: undefined
[Debug - 6:36:25 p.m.] [language-server:code-action] Registering onCodeAction handler
[Debug - 6:36:25 p.m.] [language-server:code-action] onCodeAction handler registered
[Debug - 6:36:25 p.m.] [language-server] Registering command | command: "stylelint.openRuleDoc"
[Debug - 6:36:25 p.m.] [language-server] Invoked onDidRegisterHandlers | module: "code-action" returnValue: undefined
[Debug - 6:36:25 p.m.] [language-server:completion] Registering onCompletion handler
[Debug - 6:36:25 p.m.] [language-server:completion] onCompletion handler registered
[Debug - 6:36:25 p.m.] [language-server] Invoked onDidRegisterHandlers | module: "completion" returnValue: undefined
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering connection.onDocumentFormatting handler
[Debug - 6:36:25 p.m.] [language-server:formatter] connection.onDocumentFormatting handler registered
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering documents.onDidOpen handler
[Debug - 6:36:25 p.m.] [language-server:formatter] documents.onDidOpen handler registered
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering documents.onDidChangeContent handler
[Debug - 6:36:25 p.m.] [language-server:formatter] documents.onDidChangeContent handler registered
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering documents.onDidSave handler
[Debug - 6:36:25 p.m.] [language-server:formatter] documents.onDidSave handler registered
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering documents.onDidClose handler
[Debug - 6:36:25 p.m.] [language-server:formatter] documents.onDidClose handler registered
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering DidChangeConfigurationNotification
[Debug - 6:36:25 p.m.] [language-server:formatter] DidChangeConfigurationNotification registered
[Debug - 6:36:25 p.m.] [language-server:formatter] Registering DidChangeWorkspaceFoldersNotification
[Debug - 6:36:25 p.m.] [language-server:formatter] DidChangeWorkspaceFoldersNotification registered
[Debug - 6:36:25 p.m.] [language-server] Invoked onDidRegisterHandlers | module: "formatter" returnValue: undefined
[Debug - 6:36:25 p.m.] [language-server:old-stylelint-warning] Registering onDidOpen handler
[Debug - 6:36:25 p.m.] [language-server:old-stylelint-warning] onDidOpen handler registered
[Debug - 6:36:25 p.m.] [language-server] Invoked onDidRegisterHandlers | module: "old-stylelint-warning" returnValue: undefined
[Debug - 6:36:25 p.m.] [language-server:validator] Registering handlers
[Debug - 6:36:25 p.m.] [language-server:validator] onDidChangeWatchedFiles handler registered
[Debug - 6:36:25 p.m.] [language-server:validator] onDidChangeContent handler registered
[Debug - 6:36:25 p.m.] [language-server:validator] onDidClose handler registered
[Debug - 6:36:25 p.m.] [language-server:validator] Handlers registered
[Debug - 6:36:25 p.m.] [language-server] Invoked onDidRegisterHandlers | module: "validator" returnValue: undefined
[Info  - 오후 6:36:25] [language-server] Handlers registered
[Info  - 오후 6:36:25] [language-server] Language server started


// This is the log when I use fix feature
[Debug - 11:43:26 a.m.] [language-server:code-action] Creating code actions | only: ["source.fixAll.stylelint"]
[Debug - 11:43:26 a.m.] [language-server:code-action] Creating "source-fix-all" code action
[Debug - 11:43:26 a.m.] [language-server] Returning cached options | resource: "file:///******/Comment.scss"
[Debug - 11:43:26 a.m.] [language-server] Running Stylelint | options: {"fix":true,"configFile":"/Users/user/Documents/stylelintrc.json","configBasedir":"/Users/user/.nvm/versions/node/v14.18.2/lib/node_modules","ignoreDisables":false,"reportNeedlessDisables":false,"reportInvalidScopeDisables":false,"ignorePath":"/******/.stylelintignore","code":"...","codeFilename":"******/Comment.scss"}
[Debug - 11:43:26 a.m.] [language-server] Fixes retrieved | uri: "file:///******/Comment.scss" edits: []





// This is the log when I edit code
[Debug - 2:09:39 p.m.] [language-server] Returning cached options | resource: "file:///******/Comment.scss"
[Debug - 2:09:39 p.m.] [language-server] Returning cached options | resource: "file:///******/Comment.scss"
[Debug - 2:09:39 p.m.] [language-server] Linting document | uri: "file:///******/Comment.scss" linterOptions: {}
[Debug - 2:09:39 p.m.] [language-server] Returning cached options | resource: "file:///******/Comment.scss"
[Debug - 2:09:39 p.m.] [language-server] Running Stylelint | options: {"configFile":"/Users/user/Documents/stylelintrc.json","configBasedir":"/Users/user/.nvm/versions/node/v14.18.2/lib/node_modules","ignoreDisables":false,"reportNeedlessDisables":false,"reportInvalidScopeDisables":false,"ignorePath":"******/.stylelintignore","code":"...","codeFilename":"******/Comment.scss"}
[Debug - 2:09:39 p.m.] [language-server] Lint run complete | uri: "file:///******/Comment.scss" results: {"diagnostics":[{"range":{"start":{"line":78,"character":12},"end":{"line":78,"character":13}},"message":"Expected \"margin-top\" to come before \"padding\" in group \"Box model\" (order/properties-order)","severity":2,"code":"order/properties-order","source":"Stylelint"},{"range":{"start":{"line":80,"character":8},"end":{"line":80,"character":9}},"message":"Unexpected empty line before closing brace (block-closing-brace-empty-line-before)","severity":2,"code":"block-closing-brace-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/block-closing-brace-empty-line-before"}},{"range":{"start":{"line":79,"character":3},"end":{"line":79,"character":4}},"message":"Unexpected whitespace at end of line (no-eol-whitespace)","severity":2,"code":"no-eol-whitespace","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/no-eol-whitespace"}},{"range":{"start":{"line":11,"character":0},"end":{"line":11,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":35,"character":0},"end":{"line":35,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":52,"character":0},"end":{"line":52,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":54,"character":8},"end":{"line":54,"character":9}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":61,"character":0},"end":{"line":61,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":85,"character":0},"end":{"line":85,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":102,"character":0},"end":{"line":102,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":104,"character":8},"end":{"line":104,"character":9}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}}]}
[Debug - 2:09:39 p.m.] [language-server:validator] Sending diagnostics | uri: "file:///******/Comment.scss" result: {"diagnostics":[{"range":{"start":{"line":78,"character":12},"end":{"line":78,"character":13}},"message":"Expected \"margin-top\" to come before \"padding\" in group \"Box model\" (order/properties-order)","severity":2,"code":"order/properties-order","source":"Stylelint"},{"range":{"start":{"line":80,"character":8},"end":{"line":80,"character":9}},"message":"Unexpected empty line before closing brace (block-closing-brace-empty-line-before)","severity":2,"code":"block-closing-brace-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/block-closing-brace-empty-line-before"}},{"range":{"start":{"line":79,"character":3},"end":{"line":79,"character":4}},"message":"Unexpected whitespace at end of line (no-eol-whitespace)","severity":2,"code":"no-eol-whitespace","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/no-eol-whitespace"}},{"range":{"start":{"line":11,"character":0},"end":{"line":11,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":35,"character":0},"end":{"line":35,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":52,"character":0},"end":{"line":52,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":54,"character":8},"end":{"line":54,"character":9}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":61,"character":0},"end":{"line":61,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":85,"character":0},"end":{"line":85,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":102,"character":0},"end":{"line":102,"character":1}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}},{"range":{"start":{"line":104,"character":8},"end":{"line":104,"character":9}},"message":"Expected empty line before rule (rule-empty-line-before)","severity":2,"code":"rule-empty-line-before","source":"Stylelint","codeDescription":{"href":"https://stylelint.io/user-guide/rules/rule-empty-line-before"}}]}
[Debug - 2:09:39 p.m.] [language-server:validator] Diagnostics sent | uri: "file:///******/Comment.scss"

Stylelint Version

14.2.0

vscode-stylelint Version

1.2.1

Node.js Version

14.18.2

Operating System

macOS 12.1

Windows Subsystem for Linux

No response

Code of Conduct

  • I agree to follow vscode-stylelint's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions