【问题标题】:JS/JSX auto indent incorrectly when saving file保存文件时 JS/JSX 自动缩进不正确
【发布时间】:2019-03-14 15:23:24
【问题描述】:

我在保存 JSX 或 JS 文件时遇到自动缩进问题。当我保存文件时,它缩进不正确并导致 linting 错误。

这里是原始的js文件。

Question_4.js

import React from 'react';

import './Question_4.scss';

class Question_4 extends React.Component {
  constructor(props) {
    super(props);

  }

  handleClick = () => {
    console.log('this is question 4 clicked:', this);

  }

  render() {
    return (
        <button className="button-redirect" onClick={this.handleClick}>
          <div className="home-cta-image home-cta-image--neighborhood"></div>
        </button>
    );
  }
}

export default Question_4;

然后当我保存时 (ctrl+s)。它显示在渲染函数中不正确的缩进下方。

import React from 'react';

import './Question_4.scss';

class Question_4 extends React.Component {
    constructor(props) {
        super(props);

    }

    handleClick = () => {
        console.log('this is question 4 clicked:', this);

    }

    render() {
        return ( <
            button className = "button-redirect"
            onClick = { this.handleClick } >
            <
            div className = "home-cta-image home-cta-image--neighborhood" > < /div> <
            /button>
        );
    }
}

export default Question_4;

我不确定我的 eslint 文件或其他地方导致问题的原因。

.eslintrc.json 文件

{
    "extends": [
        "airbnb"
    ],
    "parser": "babel-eslint",
    "env": {
        "browser": true
    },
    "parserOptions": {
        "ecmaVersion": 2018,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
    "rules": {
        "react/prefer-stateless-function": 0,
        "react/jsx-indent": ["error", 4],
        "react/jsx-indent-props": ["error", 4],
        "react/jsx-no-undef": ["2", { "allowGlobals": true }],
        "indent": ["error", 4],
        "comma-dangle": 0,
        "no-tabs": 0,
        "import/no-extraneous-dependencies": ["error", { "devDependencies": true }],
        "function-paren-newline": 0,
        "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }]
    }
}

【问题讨论】:

标签: javascript reactjs jsx eslint eslintrc


【解决方案1】:

在 VS Code 的 Extensions 选项卡中禁用 Beautify 扩展。

我通过与我的比较检查了您的工作区设置,并在列表中看到了此扩展程序的名称。然后我安装并验证了我的假设,这个扩展会导致格式不正确。

【讨论】:

  • 是的,就是这样!我有不止一个美化扩展,正是这个导致了保存时自动缩进的问题。谢谢! marketplace.visualstudio.com/…
  • 乐于助人。如果此答案解决了您的问题,请将其标记为已接受。请参阅“接受答案如何工作?” meta.stackexchange.com/a/5235/218666
  • 完成!再次感谢。
猜你喜欢
  • 2014-06-26
  • 1970-01-01
  • 2017-07-15
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 2011-03-17
  • 2017-03-22
相关资源
最近更新 更多