Ответ 1
Чтобы исправить это, измените следующий параметр в Editor > Inspections
для WebStorm:
]
Я использую WebStorm 2016.1 в проекте NodeJS и, похоже, не могу выяснить некоторые проблемы со стилем кода, которые продолжают вызывать предупреждения.
Например, я получаю эти серые блоки, где я не заканчиваю строку точкой с запятой, что я не хочу делать, потому что это идет вразрез с настройками eslint для проекта. Я добавляю ;
и вместо этого я получаю предупреждение.
Какие настройки мне нужно изменить, чтобы остановить это?
Чтобы исправить это, измените следующий параметр в Editor > Inspections
для WebStorm:
]
Также для других нежелательных проблем проверки нажмите Alt + Enter на выделенном коде. Будет отображено контекстное меню с предлагаемыми решениями, включая отключение проверки.
В моем случае было много этого "незавершенного утверждения", поэтому я просто копирую весь код в редактор, например блокнот, удаляю все и копирую обратно из блокнота, и все "незавершенные утверждения" исчезают.
Чтобы дать немного больше информации, фрагменты кода на некоторых сайтах включают дополнительные символы (например, <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, он работает.
Вероятно, стоит открыть отчет об ошибке.
Должно помочь, попробуйте. Кажется, вопрос о некоторых дополнительных не редактируемых символах.