我正在使用VS Code开发代码,以便在Mac M1上运行Node.js。一般来说,当我在本地安装模块时,我可以使用“Go to Definition”来查找模块的定义。但是,如果我全局安装一个模块,我就不能使用“转到定义”来查找模块的定义。我如何配置它?
rta7y2nd1#
据我所知,从阅读问题票,这是不支持的(因此不可配置)。如果你想直接谈论VS Code,请参阅intellisense unable to detect npm global packages #113523(VS Code问题单),它被关闭为“超出范围”,另一个是No Intellisense for globally installed JavaScript modules #51639,它被关闭为TypeScript上游Suggestion: NODE_PATH support in module resolution #8760的副本(所有这些都是通过谷歌搜索“vscode intellisense for global npm”找到的)。但是VS Code的TypeScript IntelliSense是基于tsserver(TypeScript的一部分)的,所以这才是真正应该开始对话的地方,在这种情况下,请参阅这个相关的问题:How do I tell TypeScript to use a globally installed NPM @types package?.从我的回答那里:TypeScript本身并不支持从全局安装的NPM包中抓取类型定义。在TypeScript repo上看到这个问题:Types in globally installed packages not recognized by triple-slash directive #30523:据我所知,我们在解析类型时不会搜索全局npm安装目录。这将导致开销,并且几乎从来不是期望的行为。你应该找到一种方法来安装typings/package到你的项目本身-mjbvz(2019年3月21日)故意不搜索全局软件包文件夹。- RyanCavanaugh(2019年3月21日)[...]至于如何使用tsconfig文件的paths字段来对此进行分类,我认为没有简单的方法可以稳健地做到这一点,因为(如果我理解正确的话)全局安装的软件包安装在prefix自定义点可配置的目录下,可以在多个范围(每个项目,每个用户和全局)进行配置。据我所知,tsconfig文件不支持命令替换,所以你不能做一些像$(npm config get)这样的事情来“分解”这种可配置性的复杂性。我能想到两个原因,一个人会想要这个:
vscode intellisense for global npm
paths
prefix
$(npm config get)
1条答案
按热度按时间rta7y2nd1#
据我所知,从阅读问题票,这是不支持的(因此不可配置)。
如果你想直接谈论VS Code,请参阅intellisense unable to detect npm global packages #113523(VS Code问题单),它被关闭为“超出范围”,另一个是No Intellisense for globally installed JavaScript modules #51639,它被关闭为TypeScript上游Suggestion: NODE_PATH support in module resolution #8760的副本(所有这些都是通过谷歌搜索“
vscode intellisense for global npm
”找到的)。但是VS Code的TypeScript IntelliSense是基于tsserver(TypeScript的一部分)的,所以这才是真正应该开始对话的地方,在这种情况下,请参阅这个相关的问题:How do I tell TypeScript to use a globally installed NPM @types package?.从我的回答那里:
TypeScript本身并不支持从全局安装的NPM包中抓取类型定义。在TypeScript repo上看到这个问题:Types in globally installed packages not recognized by triple-slash directive #30523:
据我所知,我们在解析类型时不会搜索全局npm安装目录。这将导致开销,并且几乎从来不是期望的行为。你应该找到一种方法来安装typings/package到你的项目本身-mjbvz(2019年3月21日)
故意不搜索全局软件包文件夹。- RyanCavanaugh(2019年3月21日)
[...]
至于如何使用tsconfig文件的
paths
字段来对此进行分类,我认为没有简单的方法可以稳健地做到这一点,因为(如果我理解正确的话)全局安装的软件包安装在prefix
自定义点可配置的目录下,可以在多个范围(每个项目,每个用户和全局)进行配置。据我所知,tsconfig文件不支持命令替换,所以你不能做一些像$(npm config get)
这样的事情来“分解”这种可配置性的复杂性。我能想到两个原因,一个人会想要这个: