Мы изменили поведение правила точки с запятой, чтобы разрешить опускать завершающую точку с запятой после привязанных функций-членов класса:
class Foo {
public renderFoo = () => {
return null;
}
^ right here
}
Я предлагаю _запретить_ точки с запятой в этом месте в TSLint 4.0. Мы можем поддержать старую функциональность с новой опцией allow-bound-class-methods
.
Я не уверен, что это нужно для 4.0, но это тоже не помешает. Хотя это кажется немного минутным вариантом, я не совсем уверен, что это стоит дополнительной сложности.
Просто в качестве обратной связи (не уверены, что это правильное место?), мы просто наткнулись на это и были очень удивлены.
Я, вероятно, не совсем понимаю причину этого, но, в частности, то, что tslint помечает точки с запятой как ненужные в этой позиции (т.е. не просто допускает их отсутствие), кажется запутанным.
Вы можете вернуть старое поведение с помощью опции ignore-bound-class-methods
. Мы хотели быть немного более самоуверенными с конфигурацией по умолчанию и сделать методы связанного класса похожими на обычные методы класса в большинстве кодов TS.
Да, я так много думал. Я ожидал, что tslint
по умолчанию потребует эту точку с запятой, больше ошибается в сторону согласованности или игнорирует проблему, но добавление этой опции обратно работает для нас.
Я пытался заставить это перестать выдавать ошибки в intellij
Я попытался удалить точку с запятой за функциями стрелок класса, затем я получаю это предупреждение:
Я попытался включить опцию следующим образом:
Но я получаю этот результат:
Я попытался включить опцию следующим образом:
Но затем он перестает проверять точки с запятой вообще.
версия tslint: 4.4.2
ТС версия: 2.1.5
интеллектуальная версия: 2016.3
ОС: виндовс 10 х64
Для людей, которые приходят в эту тему и ищут правильную конфигурацию tslint (как это сделал я) - правильный синтаксис для этого будет следующим:
«точка с запятой»: [true, «всегда», «игнорировать связанные методы класса»]
@popstr Да, я тоже этим пользуюсь.
"semicolon": [true, "always", "ignore-bound-class-methods"]
Я создал #3216, потому что игнорирование — плохая идея с точки зрения согласованности, а правило без опции ignore-bound-class-methods
по- прежнему содержит ошибки , как я выяснил.
Самый полезный комментарий
Для людей, которые приходят в эту тему и ищут правильную конфигурацию tslint (как это сделал я) - правильный синтаксис для этого будет следующим:
«точка с запятой»: [true, «всегда», «игнорировать связанные методы класса»]
См.: https://palantir.github.io/tslint/rules/semicolon/