VS代码中的TypeScript:[ts]无法提交名称控制台

时间:2018-05-24 12:42:37

标签: typescript visual-studio-code

我刚刚在我的MAC上安装了新的Visual Studio Code 1.23.1并打开了一个带有一个简单文件main.ts的目录(没有tsconfig.json):

function getFinalPrice(price: number, discount: number) {
  return price - price/discount;
}

console.log(getFinalPrice(100, 10));

console这个词的下划线带有一条波浪形的红线,错误上写着:

  

[ts] Cannot file the name console".

我检查了VS Code的安装目录 - 它有文件.../extensions/node_modules/typescript/lib/lib.es2016.full.d.ts,其中包含以下行:

declare var console: Console;

为什么我的VS Code没有拿起它?

我的同事尝试了相同的代码,但他没有看到这个错误。唯一的区别是我有一个新安装的VS代码。可能是什么问题?

添加简单的tsconfig.json文件后,

更新:,错误消失了。

{
    "compilerOptions": { 
        "noEmitOnError": true, 
        "target": "es5"
    }
  }

这是否必须在VS Code项目中使用tsconfig.json?

2 个答案:

答案 0 :(得分:1)

实际上,https://code.visualstudio.com/docs/languages/typescript#_typescript-files-and-projects

的VS代码文档中描述了此错误的原因

没有tsconfig.json CS代码在文件范围模式下工作,您只能使用文件中定义的代码,而console不是这样。

答案 1 :(得分:0)

您需要一个tsconfig.json文件,因为这会指定要包含的lib个定义 - 其中一个定义将包含console的定义。