是否可以将纱线pnp与typescript/vscode一起使用?

是否可以将纱线pnp与typescript/vscode一起使用?,typescript,visual-studio-code,yarnpkg,Typescript,Visual Studio Code,Yarnpkg,纱线pnp是可怕的-没有更多的节点_模块! 但是如果没有node_模型,typescript/vscode似乎无法正确解析模块 有没有办法让这一切顺利进行? 谢谢 是的 Typescript cli在Thread v2中是开箱即用的,因此您只需添加包: 纱线添加-D字体脚本 并运行编译: 纱线tsc 也可以使VS代码与PnP模块一起工作!您可以使用@yarnpkg/pnpify包装(它是纱线v2的一部分) 您可以通过以下方式在VS代码中启用PnP支持: 纱线dlx@yarnpkg/pnpify-

纱线pnp是可怕的-没有更多的节点_模块! 但是如果没有node_模型,typescript/vscode似乎无法正确解析模块

有没有办法让这一切顺利进行? 谢谢

是的

Typescript cli在Thread v2中是开箱即用的,因此您只需添加包:
纱线添加-D字体脚本

并运行编译:
纱线tsc

也可以使VS代码与PnP模块一起工作!您可以使用
@yarnpkg/pnpify
包装(它是纱线v2的一部分)

您可以通过以下方式在VS代码中启用PnP支持:
纱线dlx@yarnpkg/pnpify--sdk-vscode

这将生成
tssdk
,并修改
.vscode/settings.json
以在
tssdk
中添加TypeScript编译器包装,作为工作区TypeScript编译器。您应该运行VS代码,打开任何类型脚本文件,然后在窗口的右下方单击类型脚本版本。从下拉菜单中选择
使用工作区版本
,以实际使用工作区编译器,其版本的后缀为
-pnpify

您可能还希望安装VS Code zip文件支持扩展名: 为了能够打开项目依赖项的源代码,因为纱线2将所有依赖项存储在zip文件中

您也可以在此处参考官方文档:

添加到@Viktor Vlasenko:

当我有一个工作区并且我在工作区内创建了一个typescript项目, 新项目的
设置.json
中的规则
typescript.tsdk
typescript.enablePromptUseWorkspaceTsdk
可能不起作用。在这种情况下,在选择TypeScript版本时,将找不到
x.x.x-pnpify

VS代码报告此工作区中无法应用此设置。当您直接打开包含工作区的文件夹时,将应用此选项。

因此,在执行步骤
warn dlx@yarnpkg/pnpify--sdk vscode
之后,确保应用了
settings.json
中的那些新规则。您可能需要打开一个新窗口并直接打开文件夹

VS代码版本:1.53.2


纱线版本:2.4.0

据我所知不可能,但正在讨论中,谢谢,@artem-我会看那条线。嗯。。。在我看来,它忽略了@latest,只安装了stable。Noob问题:每次添加、升级或删除依赖项时,我们是否都必须运行
spnpify--sdk
?因为如果是,这是Thread v2的一个主要缺点。只有在添加新的依赖项、
typescript
eslint
等时,您才需要运行
Thread pnpify--sdk
。该工具获取当前安装的依赖项并为它们生成包装,它需要知道您使用的是什么包,需要包装。删除或升级其中一个DEP时,不需要运行
spify--sdk
。在升级
typescript
时,您可能仍希望执行此操作,以便VS code在状态栏中显示正确的版本:
x.y.z-pnpify
one,否则它将显示为旧版本,但一切仍能正常工作。谢谢,我已更新了答案,cli语法最近才更改。我希望有一个VS code live share解决方案。似乎不允许来宾使用自定义生成的tsdk文件。