Visual Studio代码更改格式(React-JSX)

时间:2017-07-09 06:50:16

标签: reactjs visual-studio-code jsx

我的index.js

中包含以下代码段
SELECT * 
FROM employees
WHERE salary > (SELECT salary
        FROM employees
        WHERE name = 'x' );

}
代码有效,但每次我保存(ctrl + s)visual studio格式的jsx都是这样的:

class App extends Component {
render() {
    return ( <div style = { styles.app } >
        Welcome to React!
        </div>
    )
}

}

我该如何解决这个问题?感谢

15 个答案:

答案 0 :(得分:125)

最后,诀窍是在底部工具栏上将文件格式从JavaScript更改为JavaScript React。 我在这里发布它以供将来参考,因为我没有找到关于这个主题的任何文档。

enter image description here

除上述内容外。如果您单击“配置文件关联”.js&#39;您可以将所有.js文件设置为Javascript React

答案 1 :(得分:24)

在下面更改vscode首选项设置>用户设置:

"files.associations": {
        "*.js":"javascriptreact"
    }

答案 2 :(得分:10)

或者,使用 .jsx 扩展名保存文件可以在vscode中解决此问题。

我遇到了同样的挑战,我希望在vscode中找到一种更好的方法来解决这个问题。

我注意到,每次打开带有 .js

扩展名的react文件时,都必须完成建议的解决方法。

答案 3 :(得分:3)

安装Prettier(如果未默认安装)并尝试将其添加到您的用户或工作场所设置中:

"prettier.jsxBracketSameLine": true

不要在return和返回的JSX表达式之间放置换行符。

触发autoformat (Alt+Shift+F)并检查是否有效。

答案 4 :(得分:2)

确保您当前的工作区中没有启用多个javascript格式化程序。 (您必须为当前工作区禁用其余部分。)

react-beautify 主要是魔术但是如果你已经安装了其他JS格式化器/美化器则会失败。

就我而言,我安装了react-beautify和JS-CSS-HTML Formatter扩展。我不得不为当前工作区禁用JS-CSS-HTML Formatter。

答案 5 :(得分:1)

您可以安装像react-beautify这样的扩展程序来帮助您格式化jsx代码。

找到here

此扩展程序包含prettydiff / esformatter以格式化您的javascript,JSX,typescript,TSX文件。

答案 6 :(得分:1)

我有类似的问题,然后我发现这是由“美化”扩展名引起的。卸载扩展程序后,一切正常。

答案 7 :(得分:1)

我为此苦苦挣扎,但终于找到了解决方案。这是我的settings.json

{
    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    "workbench.startupEditor": "welcomePage",
    "window.zoomLevel": 1,
    "emmet.includeLanguages": {
        "javascript": "javascriptreact",
        "vue-html": "html"
    },
    "editor.formatOnSave": true,
    "javascript.updateImportsOnFileMove.enabled": "always",
    "editor.wordWrap": "on",
    "editor.tabSize": 2,
    "editor.minimap.enabled": false,
    "workbench.iconTheme": "vscode-icons",
    "eslint.autoFixOnSave": true,
    "eslint.alwaysShowStatus": true,
    "beautify.ignore": [
        "**/*.js",
        "**/*.jsx"
    ],
    "prettier.jsxSingleQuote": true,
    "prettier.singleQuote": true
}

我添加了

"beautify.ignore": ["**/*.js","**/*.jsx"]

答案 8 :(得分:1)

我刚刚添加了上述所有组合。

  1. 添加了这个
"files.associations": {
    "*.js": "javascriptreact"
}
  1. 还添加了这个
"beautify.ignore": ["**/*.js","**/*.jsx"]
  1. 删除了其他js格式
  2. 已安装更漂亮
  3. 打开更漂亮的格式

答案 9 :(得分:1)

打开 Visual Studio Code 设置。请参阅下图,了解如何导航至设置。

Open Vscode Settings

设置标签打开后。如果要对所有项目进行设置更改,请选择用户子选项卡,如果仅针对当前项目,则选择工作区子选项卡

Add file Associations

在搜索文本框中输入“文件关联”并按 Enter。

点击添加项目

  • 设置项目.js
  • 设置javascriptreact

上述更改将开始将项目中的所有 *js 文件关联为 javascript React 文件

接下来打开项目中的任何 .js 文件并右键单击并选择“格式化文档”。如果您有多个格式化程序,则关联您最喜欢的格式化程序。我使用了 Prettier 来处理我的格式。

答案 10 :(得分:0)

您可以通过在 settings.json

中添加关联来防止VSC错误地格式化JSX。

Code> Preferences> Settings

在设置窗口中搜索关联,点击在settings.json中编辑,然后添加:

"files.associations": {
    "*.js": "javascriptreact"
}

答案 11 :(得分:0)

我不得不在VSC中禁用JS-CSS-HTML Formatter扩展。唯一解决此问题的方法

答案 12 :(得分:0)

Prettier是自以为是的代码格式化程序。它通过解析代码并使用自己的规则(考虑最大行长)重新打印代码,从而实现一致的样式,并在必要时包装代码。 包括: 的JavaScript 打字稿 流 JSX JSON格式 的CSS SCSS 减 的HTML Vue 角度的 GraphQL 降价促销 YAML https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode

答案 13 :(得分:0)

在阅读了许多不错的建议和解决方法后,我发现只需将鼠标箭头向下放在VSCode编辑器窗口底部的亮蓝色水平栏上-右键单击-将打开一个弹出列表窗口-并取消选择=“编辑器缩进”。

答案 14 :(得分:-2)

将其添加到您的 .js 代码中,

/* prettier-ignore */