Вопрос по eslint, intellij-idea, javascript, reactjs – Плагин Intellij: AirBnB ESLint с React

12

Использование Intellij Idea 15.0.2 в Ubuntu 15.10 и попытка настроить ESLint для работы.

Следовали инструкциям на сайте Jetbrains, но не играли в кости.

Вот скриншот моей Настройки на языках и платформах> JavaScript> Инструменты качества кода> ESLint.А вот скриншот из моих настроек nodejs / npm в IntelliJ.

И мой.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 работает, поскольку до того, как я сменил.eslintrc до версии AirBNB, я использовал.eslintrc от Github, который бросил ряд ошибок ESLint в IntelliJ (то есть ошибки в.eslintrc сам файл, а не мой код).

Однако, как только я исправил эти ошибки, плагин успокоился и не стал кричать на меня, когда я проверял его на предмет ошибок.

Вот это да. как я это пропустил - спасибо, я в основном разочаровался в этом. если вы хотите опубликовать это как ответ, я отмечу как принятый Brandon
возможно это поможетthemarketingtechnologist.co/... rofrol
не может опубликовать более 2 ссылок в OP b / c ограничений повторений, поэтому:.eslintrc из GitHub что вызвало ошибкипрохождение на реактивных мозгах Я следовал, чтобы настроить плагин ESLint IntelliJ. Brandon

Ваш Ответ

1   ответ
25
Настройки JetBrains (Idea, Webstorm)

Файл> Настройки> Плагины> Просмотр репозиториев ...> Поиск: eslint> Установить> Перезапустить WebStorm

Файл> Настройки> Языки и рамки> JavaScript> Инструменты качества кода> ESLint

После этого все должно работать так:

Конфигурация ESLint

ESLint не поставляется с конфигом. Вы должны создать свой собственный или использовать пресет:

npm install --save-dev eslint-config-airbnb eslint

Тогда в вашем .eslintrc

{
  "extends": "airbnb"
}

Вы также можете выборочно отключить / изменить некоторые правила из предустановки (0 - отключить правило, 1 - предупреждение, 2 - ошибка):

{
  'extends': 'airbnb',
  'rules': {
    'indent': [2, 'tab', { 'SwitchCase': 1, 'VariableDeclarator': 1 }],
    'react/prop-types': 0,
    'react/jsx-indent-props': [2, 'tab'],
  }
}

Читать:Отключение правила eslint для конкретной строки.

Если вы не хотите использовать конфигурацию airbnb (самое популярное руководство по стилю javascript), вы можете создать свой собственный. Вот инструкция для реакции:Как настроить ESLint для React в редакторе Atom.

Чтобы создать свой собственный пресет, вы должны создать пакет npm с именем eslint-config-myname и затем использовать'extends': 'myname', http://eslint.org/docs/developer-guide/shareable-configs

Вы можете использовать командную строку, чтобы проверить, работает ли eslint:

./node_modules/.bin/eslint .

Однако вы можете исключить некоторые файлы из списка (модули по умолчанию исключены) в .eslintignore:

bundle.js

Также есть--fix переключатель для eslint.

.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.themarketingtechnologist.co/how-to-get-airbnbs-javascript-code-style-working-in-webstorm/

Больше здесьhttps://www.jetbrains.com/webstorm/help/using-javascript-code-quality-tools.html

Вы также должны использоватьbabel-parer, илиAirbnb расширяет не будет работать правильно Bruce Lee

Похожие вопросы