小编cur*_*rtc的帖子

如何在 VSCode 中启用 Node.js 代码自动完成功能?

我已经安装了 Visual Studio Code 和 Node.js,它们基本上都可以工作,但自动完成功能不(完全)工作。如果我输入“控制台”。我确实看到了一个列表弹出窗口。同样,如果我这样做: const http = require("http"); http。

但是如果我简单地输入“过程”。我什么也没看到。事实上,只要我输入'.' 代码自动完成“过程”到“处理指令”。我期待看到 argv 弹出,以及你在 Node 提示符下键入“process”时看到的所有其他内容。

这是我输入“控制台”时看到的内容: 在此处输入图片说明 是的 - 它有效!

但这是我输入“过程”时看到的。(我必须将自动完成的“ProcessingInstruction”改回“process”): 在此处输入图片说明 嘘——它不知道“过程”!:(

autocomplete node.js visual-studio-code

11
推荐指数
1
解决办法
6521
查看次数

还有一个"如何找到Javascript对象的类/构造函数名称"?

是的,我之前见过这个问题并得到了回答.但这是我仍然不明白的:

如果我创建一个构造函数,并且不覆盖函数的prototype属性,那么我们将自动constructor属性挂在函数的prototype属性上.那是MyConstructor.prototype.constructor === MyConstructor=>真的.大.但是现在当我prototype用自己的对象覆盖并且不修补constructor属性时会发生什么?constructor现在不存在prototype,如果只引用原型链,那就是MyConstructor.prototype.constructor === Object=> true.精细.所以...

为什么在Javascript调试器(如Chrome)中,如果我用自己的对象覆盖构造函数的原型,然后新建一个构造函数的实例,然后在命令行上键入该实例变量,Chrome很高兴地告诉我类型?怎么知道??? 即我能做些什么来通过代码找出相同的东西?

简单的repro:

> function Foo() {}
undefined
> Foo.prototype.constructor === Foo
true
> Foo.prototype = {}
Object
> Foo.prototype.constructor === Foo
false
> f = new Foo()
Foo
> f
Foo
Run Code Online (Sandbox Code Playgroud)

它是纯粹的调试器魔术吗?

javascript

5
推荐指数
1
解决办法
641
查看次数