Стиль JavaScript-кода в WebStorm показывает предупреждение о неиспользованном заявлении

Я использую WebStorm 2016.1 в проекте NodeJS и, похоже, не могу выяснить некоторые проблемы со стилем кода, которые продолжают вызывать предупреждения.

Например, я получаю эти серые блоки, где я не заканчиваю строку точкой с запятой, что я не хочу делать, потому что это идет вразрез с настройками eslint для проекта. Я добавляю ; и вместо этого я получаю предупреждение.

unterminated statement

Какие настройки мне нужно изменить, чтобы остановить это?

Ответ 1

Чтобы исправить это, измените следующий параметр в Editor > Inspections для WebStorm:

Editor > Inspections]

Ответ 2

Также для других нежелательных проблем проверки нажмите Alt + Enter на выделенном коде. Будет отображено контекстное меню с предлагаемыми решениями, включая отключение проверки.

Ответ 3

В моем случае было много этого "незавершенного утверждения", поэтому я просто копирую весь код в редактор, например блокнот, удаляю все и копирую обратно из блокнота, и все "незавершенные утверждения" исчезают.

Чтобы дать немного больше информации, фрагменты кода на некоторых сайтах включают дополнительные символы (например, <200b> в фрагменте ниже), которые не видны, если они не скопированы и не вставлены в программу, такую как vi. <200b> представляет пространство нулевой ширины, как описано здесь: https://en.wikipedia.org/wiki/Zero-width_space

Пример ниже взят из https://redux.js.org/recipes/writing-tests.

import React from 'react'
import Enzyme, { mount } from 'enzyme'
import Adapter from 'enzyme-adapter-react-16';
import Header from '../../components/Header'
<200b>
Enzyme.configure({ adapter: new Adapter() });
<200b>
function setup() {
  const props = {
    addTodo: jest.fn()
  }
<200b>
  const enzymeWrapper = mount(<Header {...props} />)
<200b>
  return {
    props,
    enzymeWrapper
  }
}

Я подозреваю, что проблема заключается в том, что пространство нулевой ширины оказывает некоторое влияние на то, как среда IDE Jetbrains применяет его к файлам Javascript, потому что, если я вручную удаляю код <200b> из кода, а затем вставляю его обратно в среду IDE, он работает.

Вероятно, стоит открыть отчет об ошибке.

Должно помочь, попробуйте. Кажется, вопрос о некоторых дополнительных не редактируемых символах.