Плагин Intellij: AirBnB ESLint с React

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

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

Вот скриншот моих настроек на языках & frameworks> 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 сам файл, а не мой код).

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

12 голосов | спросил Brandon 10 Jam1000000amSun, 10 Jan 2016 02:15:27 +030016 2016, 02:15:27

1 ответ


0

Настройки 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 /реагируют стартер-кит /

На основании этого https: //www.themarketingtechnologist.co/how-to-get-airbnbs-javascript-code-style-working-in-webstorm/

Подробнее здесь https: //www.jetbrains. ком /WebStorm /помощь /с помощью использования JavaScript-кода качества tools.html

ответил rofrol 15 MaramTue, 15 Mar 2016 11:35:25 +03002016-03-15T11:35:25+03:0011 2016, 11:35:25

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132