[英]Intellisense of VS Code is poor
您好,我使用 VS Code 已经有一段时间了,它的建议例如 Class 属性或方法有点差。 我想看看这是否应该是那样的,或者这是否只是我的问题。 我主要将它用于 JS/TS 或 JS 框架的前端开发,并且经常在我安装 npm 包并导入它们时,Intellisense 没有向我显示它们的属性,这非常蹩脚,因为在我看来这应该是它应该提供的第一支持. 它的许多其他功能都很棒,所以我想继续使用它,但如果这是假设的行为,我想我必须切换到新的 IDE。
例如,我现在正在使用 Three JS,在我看来,它具有非常可靠的 Object 定向样式,其中了解 class 具有哪些属性和方法非常重要,尽管 Intellisense 不知道除非我手动输入一次,例如:
我在文件顶部导入了三个 JS,如下所示: import * as THREE from '../node_modules/three/src/Three.js';
我正在寻找 TextureLoader,它应该是三个 class 的一种方法,当我手动输入它时,一切正常,尽管 VS Code 似乎无法识别它,这对于 IDE 来说是非常糟糕的行为。你看到的建议图片中的是它唯一建议我的。 (有一个 textureLoader typed with a small t 在开头,但那是因为我使用了一个具有该名称的变量)所以 VS Code 只建议我已经输入的东西。 和
我已经检查了 Stackoverflow 向我展示的所有相关帖子,但与此主题无关,所有错误修复仅在 VSCode 中存在字面错误时才相关,但我什至不确定这是一个实际错误。 还有很多人喜欢 VSCode 并声称它是最好的免费 IDE 我想知道为什么它甚至不能提供最基本的东西。 我记得 Eclipse 对应 Java,它向您展示了 class 的每个属性和方法。
我认为这可能是 JS 的问题,因为它没有类型,但我想我记得 Webstorm 为 JS 提供了正确的建议
所以我的问题是,这是预期的吗? Intellisense 机制是否应该不检测导入的 class 中定义的方法和变量,而只为您提供所有这些方法和变量的列表?
所以我发现这不仅仅是我的 VS Code 的问题。 VS Code 只是不知道 class 或 object 有哪些类型或方法可用。我认为它可能具有一些通过 class 运行的解析功能,并选择它的方法在建议/代码完成框中显示它,但我想这是矫枉过正。
因此,如果您使用 Typescript,则可以使用类型完成。对我来说,尽管我同时使用 Typescript 和 Three.js,但我的 VSC 中仍然没有任何有用的建议。 所以我发现 IDE 依赖于类型定义文件“[name].d.ts”,其中定义了 Typescript 的类型。 这些应该由您使用的库/包的作者提供。
如果它们不存在,您可以在其中检查此类类型是否在@types 下的 npm 注册表中可用,所以对我来说,我必须手动运行:
npm install --save-dev @types/three
它在@types/three 下为我安装了一个新目录,每三个 JS 模块都有一个 d.ts。
当您执行以下操作时:
import * as THREE from 'three';
我猜 typescript 也知道在“node_modules/@types/three”下寻找声明文件 d.ts
所以总结一下:
如我错了请纠正我
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.