首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不使用zsh配置文件的VSCode终端任务

不使用zsh配置文件的VSCode终端任务
EN

Stack Overflow用户
提问于 2022-01-24 16:21:13
回答 4查看 5K关注 0票数 6

我试图在VSCode中的窗口加载上运行一个任务,在那里,终端打开,默认情况下运行nvm use && yarn dev。但是,运行这个shell任务似乎没有加载我的zsh配置文件。

从运行任务中获得的输出是:

代码语言:javascript
运行
复制
The terminal process "zsh '-c', 'nvm use && yarn dev'" terminated with exit code: 127.

Terminal will be reused by tasks, press any key to close it.

但是,如果我然后手动启动一个新的终端并运行相同的命令(即:按下plus,打开一个新的集成终端),它将按预期工作。

由于怀疑VSCode出于某种原因没有加载我的配置文件,我尝试将以下内容添加到我的任务中,这导致了错误/bin/zsh: can't open input file: nvm use && yarn dev The terminal process "zsh '-l', 'nvm use && yarn dev'" terminated with exit code: 127.

代码语言:javascript
运行
复制
// in dev task
"options": {
  "shell": {
    "executable": "zsh",
    "args": ["-l"]
  }
},

. .vscode/tasks.json

代码语言:javascript
运行
复制
{
    "version": "2.0.0",
    "presentation": {
      "echo": false,
      "reveal": "always",
      "focus": false,
      "panel": "dedicated",
      "showReuseMessage": true
    },
    "tasks": [
      {
        "label": "Create terminals",
        "dependsOn": [
          "Dev",
        ],
        // Mark as the default build task so cmd/ctrl+shift+b will create them
        "group": {
          "kind": "build",
          "isDefault": true
        },
        // Try start the task on folder open
        "runOptions": {
          "runOn": "folderOpen"
        }
      },
      {
        "label": "Dev",
        "type": "shell",
        "command": 
          ["nvm use && yarn dev"],
        "isBackground": true,
        "problemMatcher": [],
        "presentation": {
          "group": "dev-group"
        }
      },
    ]
  }
EN

回答 4

Stack Overflow用户

发布于 2022-02-17 10:56:15

这对我来说很管用-

代码语言:javascript
运行
复制
"terminal.integrated.profiles.osx": {
    "zsh": {
        "path": "/bin/zsh",
        "args": ["-l", "-i"]
    }
},

Github.com/microsoft/vscode//143061

票数 8
EN

Stack Overflow用户

发布于 2022-02-01 15:12:53

尝试将其添加到settings.json

代码语言:javascript
运行
复制
  "terminal.integrated.profiles.osx": {
        [...]
        "zsh": {
            "path": "/bin/zsh -l",
            "args": [
                "-l"
            ]
        },
        [...]
  },

请注意,重要的部分是

代码语言:javascript
运行
复制
    "path": "/bin/zsh -l",

我也遇到了同样的问题,我发现由于某种原因,VScode没有考虑到在args中传递的-l标志。因此,您只需将其包含在path中即可。

如果设置中没有terminal.integrated.profiles.osx,则可以从默认设置复制它(打开命令调色板并搜索“默认设置”)。

我不需要这样做,但是您可以通过将VScode设置为zsh来确保zsh是zsh的默认终端配置文件。

票数 3
EN

Stack Overflow用户

发布于 2022-05-17 19:07:32

您可能还需要添加一个自动化配置文件。

代码语言:javascript
运行
复制
  "terminal.integrated.profiles.osx": {
    "zsh": {
      "path": "/bin/zsh -l",
      "args": ["-l"]
    }
  },
  "terminal.integrated.automationProfile.osx": {
    "path": "/bin/zsh"
  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70837048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档