Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript_Typescript_Visual Studio Code_Vscode Settings_Yarn V2 - Fatal编程技术网

如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript

如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript,typescript,visual-studio-code,vscode-settings,yarn-v2,Typescript,Visual Studio Code,Vscode Settings,Yarn V2,如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript 我喜欢使用纱线2(与PnP),几个月前,我建立了一个项目,它的工作很好。现在我尝试设置一个新的项目,但无论我尝试什么,我都无法获得VSCode来正确解析模块。旧项目仍然有效,并且我的测试用例在其中正常工作,因此问题所在一定是新项目,而不是VSCode 我的新项目设置如下: mkdir my-project cd my-project npm install -g npm npm install -g yarn y

如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript

我喜欢使用纱线2(与PnP),几个月前,我建立了一个项目,它的工作很好。现在我尝试设置一个新的项目,但无论我尝试什么,我都无法获得VSCode来正确解析模块。旧项目仍然有效,并且我的测试用例在其中正常工作,因此问题所在一定是新项目,而不是VSCode

我的新项目设置如下:

mkdir my-project
cd my-project
npm install -g npm
npm install -g yarn
yarn set version berry
yarn init
yarn add --dev @types/node typescript ts-node prettier
yarn dlx @yarnpkg/pnpify --sdk vscode
cat <<'EOF' > tsconfig.json
{
  "compilerOptions": {
    "types": [
      "node"
    ]
  }
}
EOF
mkdir src
cat <<'EOF' > src/test.ts
process.once("SIGINT", () => process.exit(0));
EOF
VSCode中报告的TypeScript版本:
4.1.3-pnpify

> cd my-project
> yarn --version
2.4.0

更新:我尝试将
nodeLinker:node modules
添加到
.yarnrc.yml
中,当我在
test.ts
中悬停
Process
时,VSCode不再报告错误,并正确返回
NodeJS.Process
。这至少表明大多数设置应该是正确的,并且是唯一一个给VSCode带来麻烦的PnP。

我昨晚迁移到Thread v2并使用PnP时遇到了这个问题

  • 确保在运行
    warn dlx@yarnpkg/pnpify--sdk vscode
    后,在
    .warn
    目录中创建了以下文件夹结构:
    .warn/sdks/typescript/lib
  • 更改VSCode工作区配置以添加以下内容:
    “typescript.tsdk”:“.warn/sdks/typescript/lib”

  • 在monorepo中使用Thread工作区时,我在步骤1中还遇到了另一个问题,我要做的是安装
    typescript
    prettier
    eslint
    作为根包的依赖项(它通常没有任何依赖项)。在第2步中,我将路径更改为
    frontend/.swean/sdks/typescript/lib

    ,在将monorepo传递给PnP后,在内部包中,TS找不到根开发依赖项,并请求
    @types/node
    ,这在以前是不需要的。我发现这个线程意味着纱线2 PnP变得更加严格,如果它可以帮助您,我想在您的情况下,您必须将
    @types/node
    添加到dev依赖项中。从那时起,如果你找到了合适的解决方案,请毫不犹豫地与大家分享!谢谢!在运行dlx命令后,我的vscode不允许我在
    ctrl-shift-p->Select typescript version
    上选择workspace typescript选项。当我在步骤2中添加键值对时,这就成为可能。因此,使用
    代码工作区
    -文件似乎覆盖了dlx命令所做的设置。
    > cd my-project
    > yarn --version
    2.4.0