Intellij 插件:带 React 的 AirBnB ESLint
Intellij plugin: AirBnB ESLint w/ React
在 Ubuntu 15.10 上使用 Intellij Idea 15.0.2 并尝试配置 ESLint 以使其工作。
按照 Jetbrains 网站上的说明进行操作,但没有骰子。
Here's a screencap of my settings at languages&frameworks > javascript > code quality tools > ESLint. And here's a screencap 我在 IntelliJ 中的 nodejs/npm 设置。
还有我的.eslintrc
文件,在项目根目录下:
{
"extends": "airbnb",
"rules": {
"comma-dangle": 0
}
}
这是来自 /index.js
的一个片段,它在 IntelliJ 中没有产生任何错误或警告:
var superman = {
default: { clark: "kent" },
private: true
};
这是我从终端 运行 eslint index.js
时的输出:
4:1 error Unexpected var, use let or const instead no-var
5:5 error Expected indentation of 2 space characters but found 4 indent
5:23 error Strings must use singlequote quotes
6:5 error Expected indentation of 2 space characters but found 4 indent
注意:我相信 ESLint 是 运行ning,因为在我将 .eslintrc
更改为 AirBNB 版本之前,我使用的是 Github 中的 .eslintrc
IntelliJ 中的一些 ESLint 错误(即 .eslintrc
文件本身的错误,而不是我的代码)。
不过,一旦我修复了这些错误,插件就会安静下来,并且在我通过产生错误来测试它时不会对我大喊大叫。
JetBrains(创意、Webstorm)设置
File > Settings > Plugins > Browse repositories... > Search: eslint > Install > Restart WebStorm
File > Settings > Languages & Frameworks > JavaScript > Code Quality Tools > ESLint
之后它应该像这样工作:
ESLint 配置
ESLint 没有配置。您必须创建自己的或使用预设:
npm install --save-dev eslint-config-airbnb eslint
然后在你的.eslintrc
{
"extends": "airbnb"
}
您还可以选择性地disable/modify一些预设规则(0 - 禁用规则,1 - 警告,2 - 错误):
{
'extends': 'airbnb',
'rules': {
'indent': [2, 'tab', { 'SwitchCase': 1, 'VariableDeclarator': 1 }],
'react/prop-types': 0,
'react/jsx-indent-props': [2, 'tab'],
}
}
阅读:.
如果您不想使用 airbnb 配置(最流行的 javascript 风格指南),您可以创建自己的配置。这是反应的说明:.
要创建自己的预设,您必须创建名为 eslint-config-myname 的 npm 包,然后使用 'extends': 'myname',
http://eslint.org/docs/developer-guide/shareable-configs
您可以使用命令行检查 eslint 是否正常工作:
./node_modules/.bin/eslint .
您可以在 .eslintignore 中排除一些文件(node_modules 默认排除):
bundle.js
eslint 还有一个 --fix
开关。
.editorconfig
ESLint 的好搭档是 editorconfig。这是一个适用于 JetBrains 产品的示例:
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,jsx,html,sass}]
charset = utf-8
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
# don't use {} for single extension. This won't work: [*.{css}]
[*.css]
indent_style = space
indent_size = 2
我还有一个 github 存储库,其中已经设置了这些文件 https://github.com/rofrol/react-starter-kit/
这里有更多内容https://www.jetbrains.com/webstorm/help/using-javascript-code-quality-tools.html
在 Ubuntu 15.10 上使用 Intellij Idea 15.0.2 并尝试配置 ESLint 以使其工作。
按照 Jetbrains 网站上的说明进行操作,但没有骰子。
Here's a screencap of my settings at languages&frameworks > javascript > code quality tools > ESLint. And here's a screencap 我在 IntelliJ 中的 nodejs/npm 设置。
还有我的.eslintrc
文件,在项目根目录下:
{
"extends": "airbnb",
"rules": {
"comma-dangle": 0
}
}
这是来自 /index.js
的一个片段,它在 IntelliJ 中没有产生任何错误或警告:
var superman = {
default: { clark: "kent" },
private: true
};
这是我从终端 运行 eslint index.js
时的输出:
4:1 error Unexpected var, use let or const instead no-var
5:5 error Expected indentation of 2 space characters but found 4 indent
5:23 error Strings must use singlequote quotes
6:5 error Expected indentation of 2 space characters but found 4 indent
注意:我相信 ESLint 是 运行ning,因为在我将 .eslintrc
更改为 AirBNB 版本之前,我使用的是 Github 中的 .eslintrc
IntelliJ 中的一些 ESLint 错误(即 .eslintrc
文件本身的错误,而不是我的代码)。
不过,一旦我修复了这些错误,插件就会安静下来,并且在我通过产生错误来测试它时不会对我大喊大叫。
JetBrains(创意、Webstorm)设置
File > Settings > Plugins > Browse repositories... > Search: eslint > Install > Restart WebStorm
File > Settings > Languages & Frameworks > JavaScript > Code Quality Tools > ESLint
之后它应该像这样工作:
ESLint 配置
ESLint 没有配置。您必须创建自己的或使用预设:
npm install --save-dev eslint-config-airbnb eslint
然后在你的.eslintrc
{
"extends": "airbnb"
}
您还可以选择性地disable/modify一些预设规则(0 - 禁用规则,1 - 警告,2 - 错误):
{
'extends': 'airbnb',
'rules': {
'indent': [2, 'tab', { 'SwitchCase': 1, 'VariableDeclarator': 1 }],
'react/prop-types': 0,
'react/jsx-indent-props': [2, 'tab'],
}
}
阅读:
如果您不想使用 airbnb 配置(最流行的 javascript 风格指南),您可以创建自己的配置。这是反应的说明:
要创建自己的预设,您必须创建名为 eslint-config-myname 的 npm 包,然后使用 'extends': 'myname',
http://eslint.org/docs/developer-guide/shareable-configs
您可以使用命令行检查 eslint 是否正常工作:
./node_modules/.bin/eslint .
您可以在 .eslintignore 中排除一些文件(node_modules 默认排除):
bundle.js
eslint 还有一个 --fix
开关。
.editorconfig
ESLint 的好搭档是 editorconfig。这是一个适用于 JetBrains 产品的示例:
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,jsx,html,sass}]
charset = utf-8
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
# don't use {} for single extension. This won't work: [*.{css}]
[*.css]
indent_style = space
indent_size = 2
我还有一个 github 存储库,其中已经设置了这些文件 https://github.com/rofrol/react-starter-kit/
这里有更多内容https://www.jetbrains.com/webstorm/help/using-javascript-code-quality-tools.html