【问题标题】:VSCode: 'code' function is preventing me from launching code from shellVSCode:“代码”功能阻止我从 shell 启动代码
【发布时间】:2017-08-25 03:17:39
【问题描述】:

我为 MacOS 安装 Visual Studio Code 并通过 GUI 将 code 命令安装到 shell。

现在,当我尝试执行此命令时,出现以下错误:

LSGetApplicationForInfo() 在尝试确定具有捆绑标识符 com.microsoft.VSCodeInsiders 的应用程序时失败并出现错误 -10814。

我不知道这是什么原因。我发现还创建了一个函数code,如果我用unset code 删除它一次,我可以在shell 中运行code,VSCode 将正确启动。每次重新启动都会恢复此功能...

code 函数是:

# type code
code is a function
code ()
{
    VSCODE_CWD="$PWD" open -n -b "com.microsoft.VSCodeInsiders" --args $*
}

有什么问题?我应该在这里做什么?

【问题讨论】:

  • 如果unset code 使它工作,这意味着您在系统配置文件或本地配置文件中有一个名为code 的函数。您仍然可以通过运行command code 来执行 VSCode 而无需取消设置功能代码。这将执行脚本而不是函数。但我建议去掉函数代码。
  • 我注意到这个错误提到了 VSCodeInsiders。稳定版可能比内幕版更成功。

标签: bash macos visual-studio-code


【解决方案1】:

code 函数是从我在安装 Visual Studio 代码之前使用的some other file 创建的,然后与/usr/local/bin/code 下的应用程序安装的可执行文件发生冲突。

【讨论】:

    【解决方案2】:

    当您的版本意外过时且捆绑包标识符已过时时,会出现一个已知问题。

    尝试手动更新 VS Code 以开始使用 - 只是为了确保这不是问题所在。

    Be sure you are running 1.11.2

    code . shortcut fails on OSX

    编辑:另外,我仍然不知道为什么 MS 在错误代码中使用负号。 It's generally bad practice.

    【讨论】:

      【解决方案3】:

      这可能与与另一个应用程序的冲突有关。

      有几件事可以尝试:

      • 重新安装 VSCode
      • 检查 VSCode 中的更新,因为他们最近更新了捆绑器。

      这是我最近遇到的一个问题,通过重新安装能够解决。

      【讨论】:

        【解决方案4】:

        我已将它安装在我的 Mac 中,并且没有别名。我不需要取消任何设置。 'code' 只是一个脚本文件,位于 `/usr/local/bin/code

        您似乎与为“代码”设置别名的其他应用程序发生冲突。我建议您查看在 shell 启动期间运行的所有脚本:

        ~/.bash_profile
        ~/.bash_login
        ~/.profile
        ~/.inputrc
        /etc/profile
        

        如果您发布代码别名的内容也会有所帮助

        【讨论】:

        • 当一个命令可以解析为多个路径和别名时,为了确定哪个是 shell 选择的选项,请使用 type code 命令。如果它是别名,则不应该。检查为什么会这样。
        • 很高兴它成功了!从命令行使用代码非常有帮助。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多