我正在尝试将一个ES6项目移植到typescript。这是我第一次尝试在NodeJS中编写typescript模块。
到目前为止,它在Angular-CLI中似乎工作得更好。
我已经使用命令行tsc
编译了它,但是我不知道如何在代码编辑器中显示错误和智能感知。
在一个目录中,我有两个文件,如下所示。当它编译它时,如预期的那样抛出一个编译错误:Supplied parameters do not match any signature of cal l target.
。这很好。
但是VSCode在编辑器中没有显示任何错误,即使我故意犯了一个语法错误,比如去掉了一个括号,或者像这样的类型错误。我如何让VSCode在编辑器中显示.ts文件的内联语法或编译器错误?
验证错误.ts
/**
* Wrapper for a particular validation error.
*/
export class ValidationError extends Error {
private type: string;
constructor(error: any) {
super(error);
Error.captureStackTrace(this, this.constructor);
this.message = error.message;
this.type = 'ValidationError';
}
}
然后,我尝试编写简单的规范来测试工作流:
验证错误规范ts
import { ValidationError } from './validation-error';
import * as should from 'should';
describe('Validation Error', () => {
it('should create a new instance', () => {
const instance = new ValidationError();
should.exist(instance);
});
});
此处编辑:
我仍在努力-我已经设置了tsc
,使其在tasks.json
中自动运行此作业:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"taskName": "tsc",
"command": "tsc",
"isShellCommand": true,
"args": ["-w", "-p", "."],
"problemMatcher": "$tsc-watch",
"echoCommand": true
}
我怀疑如果使用$tsc-watch
正确地报告错误,那么这个错误可能也会出现在编辑器中。
running command$ tsc -w -p .
src/hello.ts(15,1): error TS2346: Supplied parameters do not match any signature of call target.
4:24:40 PM - Compilation complete. Watching for file changes.
但是在Problems
视图中没有报告任何问题--尽管很明显存在编译器问题。
从文档的此页面获取$tsc-watch
设置:https://code.visualstudio.com/docs/editor/tasks
5条答案
按热度按时间hs1ihplo1#
对我来说,通过在VSCode设置中将Typescript validation设置为true,解决了这个问题:
我过去在我的工作区设置中关闭了这个功能,然后忘记了!
因此,请确保在您的用户设置、工作区设置或文件夹设置中仔细检查此设置是否设置为false。
例如,我尝试使用的规则是检查未定义的变量,当我将validate设置为true时,它立即得到了修复。
rslzwgfq2#
我遇到了这个问题,通过在.vscode目录下的本地settings.json文件中添加
"typescript.validate.enable": true
来解决它。我的设置告诉我,为VS代码全局启用了typescript验证器,但直到我添加了本地设置文件,我才能看到内联TS错误。zd287kbt3#
即使没有在本地或全局安装TypeScript,以下安装程序也会提供内联错误。
index.ts
tsconfig.json
下面是
x
中的内联错误的屏幕截图。请尝试该设置并报告发生的情况。
lkaoscv74#
我刚刚关闭并重新启动了我的VS代码,它开始像以前一样显示typescript错误。
如果这不起作用,我建议重新启动您的计算机系统。
nkoocmlb5#
其他答案(大多数在2020年之前)对我不起作用。
根据Microsoft的VS Code库中的feature request,执行以下步骤:
1.在settings.json中添加:
1.在tsconfig.json中添加:
等待一段时间(或重新启动VS代码),以查看打开文件中显示的错误列表和问题面板中添加的错误列表。