Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript VSCode类型脚本Intellisense不工作_Typescript_Visual Studio Code_Intellisense_Typescript2.0 - Fatal编程技术网

Typescript VSCode类型脚本Intellisense不工作

Typescript VSCode类型脚本Intellisense不工作,typescript,visual-studio-code,intellisense,typescript2.0,Typescript,Visual Studio Code,Intellisense,Typescript2.0,我真的把头发拔出来了。Mac上的VSCode 1.6.0,Typescript 2.0.2,但我也尝试过2.0.0 我已经尝试过瞄准es5、es6,无论是否瞄准commonjs模块。我无法获取项目本地其他文件的intellisense,也无法获取node_modules文件夹中的任何内容。我甚至将node_模块中的typescript文件安装到我的typings文件夹中,但这些文件都不起作用 我得到的唯一智能感知是我全球安装的打字 { "compilerOptions": {

我真的把头发拔出来了。Mac上的VSCode 1.6.0,Typescript 2.0.2,但我也尝试过2.0.0

我已经尝试过瞄准es5、es6,无论是否瞄准commonjs模块。我无法获取项目本地其他文件的intellisense,也无法获取node_modules文件夹中的任何内容。我甚至将node_模块中的typescript文件安装到我的typings文件夹中,但这些文件都不起作用

我得到的唯一智能感知是我全球安装的打字

{
    "compilerOptions": {
        "target": "es6",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "allowSyntheticDefaultImports": true,
        "moduleResolution": "node"
    },
    "exclude": [
        "node_modules"
      ]
}

经过大量的尝试和错误,我终于让Node、Typescript、VSCode(以及visualstudio)和IntelliSense正常工作。这似乎也适用于WebStorm

从命令提示符创建新的Typescript项目:

  • mkdir newproject
    (或您想要的任何目录名)
  • cd新项目
  • npm init-f
    (这将创建一个package.json)
  • npm install@types/node--save dev
    (这将创建一个nodes\u模块文件夹和一个package-lock.json文件)
  • 添加一个初始的
    tsconfig.json
    文件。它可以像
    {“文件”:[“main.ts”]}
  • 添加一个初始的空
    main.ts
    文件开始
  • 现在启动VS代码指向它以打开在上述步骤中创建的文件夹

    最重要的。声明模块使用时,请使用
    import
    关键字。否则,IntelliSense将无法工作。我花了很长时间才意识到这是遗漏的一步

    与此相反:

    var http = require("http");
    
    键入以下内容:

    import http = require("http");
    

    神奇的是,你已经有了一个IntelliSense工作的裸体Typescript+节点项目。

    还尝试了1.8.10和2.0.6,这两个版本本应修复节点模块问题。而且你不需要导入模块和其他文件吗?在我的例子中,简单地将它从var改为import就行了!多亏了你,我几个小时的痛苦才得以解决