Как я могу использовать TSLint в VS Code?

Я установил TSLint в VSCode и создал файл tslint.json рядом с tsconfig.json. Но TSLint не работает. Например, я добавил "curly": true к tslint.json, но когда я пишу оператор if без фигурных скобок, VS Code не выдает никаких предупреждений. Что делает это расширение?

введите описание изображения здесь


person Zen    schedule 22.04.2016    source источник
comment
Я был удивлен, увидев, что в репозитории расширений нет абсолютно никакой информации о том, чего ожидать после его установки. До сих пор я установил его, и он совершенно невидим. Так что я в той же лодке, что и вы. (И да, я перезапустил код).   -  person Charlie Flowers    schedule 26.05.2016
comment
Возможно, ваш tslint.json недействителен. Вы можете попробовать клонировать этот проект и открыть его с помощью vscode, чтобы проверить, работает ли tslint. @CharlieFlowers   -  person Zen    schedule 27.05.2016


Ответы (7)


В настоящее время расширение vscode-tslint автоматически аварийно завершает работу при обнаружении недопустимой опции конфигурации. В моем случае это было правило no-trailing-comma, которое нужно изменить на trailing-comma.

Дополнительная информация здесь: https://github.com/Microsoft/vscode-tslint/issues/66

person opus131    schedule 03.08.2016
comment
Запуск tslint из командной строки с помощью команды, похожей на tslint -c tslint.json 'src/**/*.ts', должен отображать эти ошибки в качестве обходного пути для расширения, поддерживающего это лучше. - person Thymine; 24.07.2018
comment
В вашем каталоге .vscode может быть файл settings.json, который может перезаписывать вашу глобальную конфигурацию vscode settings.json `{ typescript.tsdk: ./node_modules/typescript/lib, tslint.configFile: ./src/code/tslint.json } ` - person TheBigFriezy; 15.03.2019

На новой машине я установил расширение tslint для VS Code перед установкой самого tslint (через npm), и ничто не помогло заставить его работать, кроме отключения и повторного включения расширения.

введите описание изображения здесь

person V.B.    schedule 06.02.2017

VS Code не дает никаких предупреждений. Что делает это расширение

В случае сомнений. Перезапустите VSCode.

person basarat    schedule 22.04.2016

В моем случае это был файл .vscode/tasks.json. Я удалил и воссоздал файл, и теперь все работает нормально.

person Rjk    schedule 23.08.2016
comment
Удаление всей папки .vscode и перезагрузка vscode помогли мне. Я предполагаю, что мне, вероятно, нужно было удалить только .vscode/tasks.json - person abaga129; 28.12.2018

Убедитесь, что у вас есть действительный файл tslint.json в корне вашего рабочего каталога. Здесь есть хорошее руководство, если вы прокрутите вниз до файла readme — https://github.com/palantir/tslint

Попробуйте сделать преднамеренную ошибку в файле TS, и вы должны увидеть, что ошибка подчеркнута волнистой линией. я

Примечание. Я использую VSCode 1.3.1 и vscode-tslint 0.5.32.

person Andy-Delosdos    schedule 14.07.2016

У меня была такая же проблема, как у вас. По какой-то причине после обновления либо TSLint, либо Visual Studio Code линтинг перестал работать. После клонирования проекта, рекомендованного Zen в комментариях, я получил сообщение о том, что TSLint не установлен. Я установил TSLint глобально, но не как зависимость от разработчиков для моего проекта, поэтому после запуска «npm install tslint --save-dev» код Visual Studio снова начал анализировать.

person Animal2    schedule 21.07.2016
comment
Вы не перезапустили vscode после глобальной установки tslint, верно? - person Zen; 22.07.2016
comment
Я пытался перезапустить несколько раз. У меня глобально установлен tslint около месяца, а потом у меня недавно начались проблемы. - person Animal2; 22.07.2016

Одна из возможностей заключается в том, что ваш файл tslint.json может иметь неправильный формат JSON. Файл tslint.json, как показано при открытии в VSCode, может анализировать его на наличие ошибок, используя синтаксический анализатор jsonc, который не показывает ошибки, когда последняя пара ключ-значение имеет завершающую запятую (что недопустимо в простом JSON). Но процесс линтинга (или, по крайней мере, ms-vscode.vscode-typescript-tslint-plugin) тихо завершится ошибкой, если tslint.json не является фактическим JSON.

Например, следующее приведет к скрытому сбою без каких-либо указаний на то, в чем проблема, из-за запятой в конце:

{
  "extends": "tslint:latest",
  "rules": {
    "ordered-imports": false,
    "prefer-for-of": false,
  }
}

Принимая во внимание, что следующее будет работать так, как ожидалось:

{
  "extends": "tslint:latest",
  "rules": {
    "ordered-imports": false,
    "prefer-for-of": false
  }
}
person CertainPerformance    schedule 11.04.2019