[英]Visual Studio Code Intellisense not working for Javascript
我在 Windows 和 Mac 上使用 Visual Studio Code (VSC) 0.10.11。 出于这个问题的目的,我有这个小的 JavaScript 片段:
'use strict';
const os = require('os');
console.log(os.homedir());
我在 Visual Studio Code 上关注了 John Papa(博客条目和Pluralsight Visual Studio Code JavaScript Intellisense - 对于那些拥有帐户的人),因此我希望 VSC 在输入可用时提供 Intellisense 和快速修复选项。
在上面的代码片段中,VSC 识别了console
和log()
(我使用 hoover,但它与 Intellisense 相同):
但不是os
和homedir()
:
但是所有 4 种类型都可以在typings/main/ambient/node/index.d.ts
。 我知道,不同的是require
在的情况下os
,但在约翰爸爸的视频当然也VSC所需模块提供智能感知。 区别在于,约翰爸爸用tsd
而我使用的typings
。
所以我的问题是
以上链接已过时。 在旧版本的VS Code 中,您需要引用您的类型,例如/// <reference path> for somelibrary.d.ts
。
对于新版本,您需要通过在项目的根目录创建jsconfig.json
并在其中添加以下内容来初始化您的项目:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs"
},
"exclude": [
"node_modules"
]
}
接下来安装你需要的输入。 您可以使用 tsd 或typings。 在您的情况下,您需要安装tsd install node
或typings install node --ambient
。 确保你安装了typings/tsd
。 重启项目。
请参考文档:
更新:
由于版本 1.7 不需要手动安装类型,它们应该自动下载。 更好的 JavaScript 智能感知
有一个名为TypeScript 和 JavaScript 语言功能(vscode.typescript-language-features) 的内置扩展已被禁用。
为了启用它,打开扩展面板,搜索“@built-in JavaScript”,并启用所需的扩展。
现在您应该可以使用自动完成功能了。
我在全局“进程”对象上经历了这一点。 Vscode 为进程对象启用智能感知,仅当我向文件添加任何“require”语句时。
所以如果没有任何其他的require语句,你可以添加
const process = require('process');
在脚本的开头获取智能感知。
好吧,经过 4 小时的谷歌搜索,我决定卸载 nodejs、npm 和 typescript,然后重新安装所有这些。 上一次我使用nvm安装它们,但这次我决定不使用 nvm 只是从节点源安装它们,因为我使用的是 Ubuntu 我执行了波纹管命令,对于 windows 或 mac 只需安装它们,无需任何包或版本管理器。
curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs
上面的命令安装了 nodejs 和 npm,然后安装打字稿我运行了下面的命令
sudo npm install --global typescript
我将我的 VSCode 更新到最新版本。
然后在我的 VSCode 的右下角我点击 javascript 来更改语言模式,我在搜索栏上写了“类型”并选择打字稿作为我新选择的语言模式.........宾果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.