Typescript 类型脚本编译器变慢了吗?

Typescript 类型脚本编译器变慢了吗?,typescript,Typescript,我正在用TypeScript开发Win8应用程序 为了编译我的typescript代码,我添加了winrt.d.ts和winjs.d.ts,然后引用了它们 使用: 编译和构建成功,但IDE的intelliSense速度非常慢。我只是打开了winrt.d.ts并检查了文件。该文件有18770行,这是一个需要动态编译的巨大文件 是否有任何选项或方法可以引用那些巨大的定义文件而不必像lib.d.ts那样重新编译 这种缓慢严重影响了我的打字选择 更新: 在当前编译器版本(0.8.0)上,没有解决方案

我正在用TypeScript开发Win8应用程序

为了编译我的typescript代码,我添加了
winrt.d.ts
winjs.d.ts
,然后引用了它们 使用:


编译和构建成功,但IDE的intelliSense速度非常慢。我只是打开了
winrt.d.ts
并检查了文件。该文件有18770行,这是一个需要动态编译的巨大文件

是否有任何选项或方法可以引用那些巨大的定义文件而不必像
lib.d.ts
那样重新编译

这种缓慢严重影响了我的打字选择

更新:

在当前编译器版本(0.8.0)上,没有解决方案。 希望在不久的将来的版本中看到最佳性能增益

更新:

下面是我简单的提高开发性能的方法。 我只是创建了
winrt.compact.d.ts
。 然后只复制实际使用的名称空间的一部分 然后保存文件

幸运的是,文件(
winrt.d.ts
)看起来像是生成的 来自多个声明文件。因此,每个名称空间都是 与其他人明显分开。
为WinRT制作精简版要容易得多。

如果我错了,请纠正我,但我不认为编译器以任何特殊方式处理
lib.d.ts
。我看了一下源代码,下面是处理
lib.d.ts
的代码片段:

if(this.compilationSettings.useDefaultLib) {
    var compilerFilePath = this.ioHost.getExecutingFilePath();
    var binDirPath = this.ioHost.dirName(compilerFilePath);
    var libStrPath = this.ioHost.resolvePath(binDirPath + "\\lib.d.ts");
    code = new TypeScript.SourceUnit(libStrPath, null);
    this.compilationEnvironment.code.push(code);
}     
如果用户请求包含
lib.d.ts
,只需将其作为要编译的第一段代码添加到编译环境中即可。所有其他源文件(存储在
opts.unnamed
中)以完全相同的方式添加:

for(var i = 0; i < opts.unnamed.length; i++) {
    code = new TypeScript.SourceUnit(opts.unnamed[i], null);
    this.compilationEnvironment.code.push(code);
}  
for(变量i=0;i
因此,如果未以特殊方式处理
lib.d.ts
,则这也不可能用于其他(声明)此外,在我的系统中,
lib.d.ts
有7677行,这比
winrt.d.ts
报告的18770行要少很多,因此可能是所有行的总和太多,编译器无法达到可接受的速度


除此之外,我唯一的想法是“其他东西”导致了您的机器的减速。如果您向我提供了指向库的链接和代码片段,我至少可以测量编译在我的系统上运行的时间。

当前Codeplex上有一个未解决的工作项:

目前,您无法对此进行任何改进(除了为编译器提供更多硬件!),但希望工作项能够被选中,问题将得到解决

for(var i = 0; i < opts.unnamed.length; i++) {
    code = new TypeScript.SourceUnit(opts.unnamed[i], null);
    this.compilationEnvironment.code.push(code);
}