在每个d.ts的vscode中使用没有参考路径的输入

时间:2016-05-11 15:19:12

标签: angularjs typescript visual-studio-2015 gulp visual-studio-code

我使用Web Analyzer插件在vs2015中使用TypeScript和Typings。我已经解决了所有vs2015错误。现在我试图在vscode中设置它。我已经设置了gulp任务和vscode报告:

  

错误TS2304:找不到名称'angular'

我可以使用以下行解决它,但是有一种比单独列出每个文件更简单的方法吗?即,vs2015可以毫无问题地编译TypeScript,并知道如何使用Typings文件。

/// <reference path="../typings/browser/ambient/angular/index.d.ts" />

我开始使用gulp-tsc并尝试过gulp-typescript,但两者都需要这个。

var tsc = require("gulp-tsc");
var typescript = require("gulp-typescript");
var $ = require("gulp-load-plugins")({ lazy: true });

gulp.task("ts-watcher", function() {
    gulp.watch("./app/**/*.ts", ["ts-compile"]);
});

gulp.task("ts-compile", function() {    
    var tsProject = typescript.createProject('tsconfig.json');

    return gulp.src(config.allts) //["./app/**/*.ts"]
        .pipe(typescript(tsProject))
        .pipe(gulp.dest("dest/"));    
});

gulp.task("default", ["ts-watcher"]);

{
"compilerOptions": {
  "module": "amd",
  "rootDir": "src",
  "sourceMap": true,
  "target": "es5",
  "removeComments": true,
  "outFile": "./build/build.js"
},
"compileOnSave": true,
"exclude": [
  "node_modules",
  "typings/main",
  "typings/main.d.ts",
  "packages"
]

}

我的typings文件夹与tsconfig.json位于同一文件夹中。

重启VSCode没有帮助。

这与Including d.ts type definition files in VSCode类似,但我1)包含更多信息,2)使用VSCode 1.1.0,以及3)我有一个TSconfig,一个JSconfig。 jsconfig有帮助吗?

3 个答案:

答案 0 :(得分:4)

在app文件夹中添加 main.d.ts 文件。 (或所有ts文件所在的src文件夹),内容如下,(根据项目结构检查相对路径)

/// <reference path="../typings/main.d.ts" />

您可能需要重新启动VS代码。

希望这会有所帮助!!

答案 1 :(得分:0)

也许你不应该像你似乎那样排除typings/main.d.ts。此文件是包含所有已注册类型defs的入口点,因此也是angular。

答案 2 :(得分:0)

vscode需要工作区根目录中的tsconfig(或jsconfig)自动从工作区根目录中的typings目录中获取类型定义。 在以下示例中,仅使用浏览器.d.ts文件。

tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "sourceMap": true    
    },
    "exclude": [
        "typings/main.d.ts",
        "typings/main",
        "node_modules"
    ]
}

要安装其他类型,您可以使用以下typings命令

typings install --ambient jquery --save

或使用以下vscode扩展程序之一: