mrmlnc/vscode-stylefmt

Format document not working with VS Code 1.9.0

jquintozamora opened this issue · 8 comments

Hi,
The extension is not working for me.
VS Code> 1.9.0
.stylelintrc
{ "rules": { "at-rule-empty-line-before": [ "always", { "except": [ "blockless-after-same-name-blockless", "first-nested" ], "ignore": [ "after-comment" ] } ], "at-rule-name-case": "lower", "at-rule-name-space-after": "always-single-line", "at-rule-semicolon-newline-after": "always", "block-closing-brace-empty-line-before": "never", "block-closing-brace-newline-after": "always", "block-closing-brace-newline-before": "always-multi-line", "block-closing-brace-space-before": "always-single-line", "block-no-empty": true, "block-opening-brace-newline-after": "always-multi-line", "block-opening-brace-space-after": "always-single-line", "block-opening-brace-space-before": "always", "color-hex-case": "lower", "color-hex-length": "short", "color-no-invalid-hex": true, "comment-empty-line-before": [ "always", { "except": [ "first-nested" ], "ignore": [ "stylelint-commands" ] } ], "comment-no-empty": true, "comment-whitespace-inside": "always", "custom-property-empty-line-before": [ "always", { "except": [ "after-custom-property", "first-nested" ], "ignore": [ "after-comment", "inside-single-line-block" ] } ], "declaration-bang-space-after": "never", "declaration-bang-space-before": "always", "declaration-block-no-duplicate-properties": [ true, { "ignore": [ "consecutive-duplicates-with-different-values" ] } ], "declaration-block-no-redundant-longhand-properties": true, "declaration-block-no-shorthand-property-overrides": true, "declaration-block-semicolon-newline-after": "always-multi-line", "declaration-block-semicolon-space-after": "always-single-line", "declaration-block-semicolon-space-before": "never", "declaration-block-single-line-max-declarations": 1, "declaration-block-trailing-semicolon": "always", "declaration-colon-newline-after": "always-multi-line", "declaration-colon-space-after": "always-single-line", "declaration-colon-space-before": "never", "declaration-empty-line-before": [ "always", { "except": [ "after-declaration", "first-nested" ], "ignore": [ "after-comment", "inside-single-line-block" ] } ], "font-family-no-duplicate-names": true, "function-calc-no-unspaced-operator": true, "function-comma-newline-after": "always-multi-line", "function-comma-space-after": "always-single-line", "function-comma-space-before": "never", "function-linear-gradient-no-nonstandard-direction": true, "function-max-empty-lines": 0, "function-name-case": "lower", "function-parentheses-newline-inside": "always-multi-line", "function-parentheses-space-inside": "never-single-line", "function-whitespace-after": "always", "indentation": 4, "keyframe-declaration-no-important": true, "length-zero-no-unit": true, "max-empty-lines": 4, "media-feature-colon-space-after": "always", "media-feature-colon-space-before": "never", "media-feature-name-case": "lower", "media-feature-name-no-unknown": true, "media-feature-parentheses-space-inside": "never", "media-feature-range-operator-space-after": "always", "media-feature-range-operator-space-before": "always", "media-query-list-comma-newline-after": "always-multi-line", "media-query-list-comma-space-after": "always-single-line", "media-query-list-comma-space-before": "never", "no-empty-source": true, "no-eol-whitespace": true, "no-extra-semicolons": true, "no-invalid-double-slash-comments": true, "no-missing-end-of-source-newline": true, "number-leading-zero": "always", "number-no-trailing-zeros": true, "property-case": "lower", "property-no-unknown": true, "rule-empty-line-before": [ "always-multi-line", { "except": [ "first-nested" ], "ignore": [ "after-comment" ] } ], "selector-attribute-brackets-space-inside": "never", "selector-attribute-operator-space-after": "never", "selector-attribute-operator-space-before": "never", "selector-combinator-space-after": "always", "selector-combinator-space-before": "always", "selector-descendant-combinator-no-non-space": true, "selector-list-comma-newline-after": "always-multi-line", "selector-list-comma-space-before": "never", "selector-max-empty-lines": 0, "selector-pseudo-class-case": "lower", "selector-pseudo-class-no-unknown": true, "selector-pseudo-class-parentheses-space-inside": "never", "selector-pseudo-element-case": "lower", "selector-pseudo-element-colon-notation": "double", "selector-pseudo-element-no-unknown": true, "selector-type-case": "lower", "selector-type-no-unknown": true, "shorthand-property-no-redundant-values": true, "string-no-newline": true, "unit-case": "lower", "unit-no-unknown": true, "value-list-comma-newline-after": "always-multi-line", "value-list-comma-space-after": "always-single-line", "value-list-comma-space-before": "never", "value-list-max-empty-lines": 0 } }

Settings.json
{ "typescript.tsdk": "./node_modules/typescript/lib", "vsicons.presets.angular": false, "tslint.enable": true, "css.validate": false, "stylelint.enable": true }

Other extensions installed>
.editorconfig
tslint

Is there any extra step to be done for configuring the extension?

Sorry, but most likely you have broken config.

screencast 2017-02-06 11-12-59

Thanks @mrmlnc , It wors fine with your example,
But it is not working with this .stylelintrc (copied direcly from stylelint page: https://github.com/stylelint/stylelint-config-standard):

{ "extends": "stylelint-config-standard", "rules": { "indentation": "tab", "number-leading-zero": null, "property-no-unknown": [ true, { "ignoreProperties": [ "composes" ] }], "unit-whitelist": ["em", "rem", "s"] } }

just an update, If I remove "extends": "stylelint-config-standard" , it works fine.

Thanks you for your deep analysis. I'll look at this issue today. So reopen.

I have the same issue, it does not work with the "extends": "stylelint-config-standard".
Thanks!

Sorry guys, but I cannot reproduce your problem. Please, look at GIF and give me more information of your environment (maybe your project or repository).

My environments:

  • Windows 10 and macOS
  • VS Code 1.9.1

2017-02-12_16-12-06

It's failing because of an undefined rule inside stylint-config-standard for this plugin's (and stylefmt's) stylelint verison.

The error occurred for me because of rule-empty-line-before which only exists inside stylelint@7.8.0 but vscode is installing stylelint@7.5.0.

Technically this isn't a bug for you, but for stylefmt, other than you should try to use workspace/global installs before falling back to the local stylefmt. And maybe wrap your config setting in a try-catch.

Error: Undefined rule rule-empty-line-before
    at module.exports (C:\Users\fcw9yr\.vscode\extensions\mrmlnc.vscode-stylefmt-2.2.2\node_modules\stylelint\lib\utils\configurationError.js:8:27)
    at Object.keys.forEach.ruleName (C:\Users\fcw9yr\.vscode\extensions\mrmlnc.vscode-stylefmt-2.2.2\node_modules\stylelint\lib\augmentConfig.js:276:13)
    at Array.forEach (native)
    at normalizeAllRuleSettings (C:\Users\fcw9yr\.vscode\extensions\mrmlnc.vscode-stylefmt-2.2.2\node_modules\stylelint\lib\augmentConfig.js:272:29)
    at augmentConfigBasic.then.then.then.then.augmentedConfig (C:\Users\fcw9yr\.vscode\extensions\mrmlnc.vscode-stylefmt-2.2.2\node_modules\stylelint\lib\augmentConfig.js:81:12)

Please, look at 2.2.3 version. Potentially, this should fix the problem.