Как сделать код Visual Studio проверять весь проект на наличие ошибок?
Я использую VS Code для разработки TypeScript/JavaScript. Когда я открываю файл, он проверяет этот файл на наличие ошибок. Проблема в том, что если я рефакторинг (например, я перемещаю какой-то общий код в новое место или меняю имя), он не покажет мне ошибки, возникшие до тех пор, пока я не открою файл с проблемой.... поэтому, если я хочу сделать обширный рефакторинг, я должен открыть каждый файл, чтобы он мог проверить файл на наличие ошибок.
Как я могу заставить VS Code проверять весь проект на наличие ошибок, не открывая каждый файл один за другим вручную?
Ответы
Ответ 1
Догадаться. Обратите внимание, что этот ответ специфичен для TypeScript, который я использую. Вот:
Убедитесь, что машинописный шрифт установлен глобально (я просто установил локально локально): npm install -g typescript
Затем в VS Code нажмите Shift + Ctrl + B. Если у вас нет заданного задания, он спросит, чего вы хотите. Я выбрал машинопись и файл tasks.json будет выглядеть так:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"args": ["-p", "."],
"showOutput": "silent",
"problemMatcher": "$tsc"
}
Затем нажатие Shift + Ctrl + B (или Shift + Command + B в macOS) проверит весь проект на наличие проблем, и они будут опубликованы в вашей панели "Проблемы".
Ответ 2
Для самой последней версии tasks.json
это правильный json, после устаревших версий 1.14. Создайте это как /.vscode/tasks.json
{
"version": "2.0.0",
"command": "tsc",
"type": "shell",
"args": [
"-p",
"."
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$tsc"
}
Ответ 3
Если вы не хотите устанавливать TypeScript по всему миру, вы можете сделать следующее:
- Добавьте скрипт запуска validate-typescript в
./package.json
. --noEmit
означает, что компилятор не будет генерировать файлы JavaScript.
{
"scripts": {
"validate-typescript": "tsc --noEmit"
}
}
- Пусть VSCode знает о скрипте запуска в
/.vscode/tasks.json
.
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "validate-typescript",
"problemMatcher": [
"$tsc"
]
}
]
}
- Для запуска задач нажмите клавишу F1 и выберите "Запустить задачу", а затем "npm: validate-typescript".
Ответ 4
Как только вы откроете свой проект в vs code, откройте терминал vs code и запустите:
node_modules/.bin/tsc --noEmit