无法打开Visual Studio代码


10

我已经在装有Ubuntu 16.04 LTS的笔记本电脑上安装了VS Code。我尝试了多种安装方法,但结果却完全相同。最近,我在这里遵循了Cactux的“新”说明。我尝试过两种方法打开应用程序,均无效。

  • 当我从“应用程序”中打开程序时,该图标在启动器中显示约15秒钟,然后消失。没有错误弹出。
  • 当我打开终端并键入时code,该命令不执行任何操作,并且在不到一秒钟的时间内出现了新提示。

由于我是Linux的新手,所以我一直在尝试什么。 which codeyields /usr/bin/code,这是一个bash脚本。这是我超越深度的地方。

脚本内容

/usr/bin$ cat code
#!/usr/bin/env bash
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.

# If root, ensure that --user-data-dir or --file-write is specified
if [ "$(id -u)" = "0" ]; then
    for i in $@
    do
        if [[ $i == --user-data-dir || $i == --user-data-dir=* || $i == --file-write ]]; then
            CAN_LAUNCH_AS_ROOT=1
        fi
    done
    if [ -z $CAN_LAUNCH_AS_ROOT ]; then
        echo "You are trying to start vscode as a super user which is not recommended. If you really want to, you must specify an alternate user data directory using the --user-data-dir argument." 1>&2
        exit 1
    fi
fi

if [ ! -L $0 ]; then
    # if path is not a symlink, find relatively
    VSCODE_PATH="$(dirname $0)/.."
else
    if which readlink >/dev/null; then
        # if readlink exists, follow the symlink and find relatively
        VSCODE_PATH="$(dirname $(readlink -f $0))/.."
    else
        # else use the standard install location
        VSCODE_PATH="/usr/share/code"
    fi
fi

ELECTRON="$VSCODE_PATH/code"
CLI="$VSCODE_PATH/resources/app/out/cli.js"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

调试输出(来自不同目录)

~$ bash -x code
++ id -u
+ '[' 1000 = 0 ']'
+ '[' '!' -L code ']'
++ dirname code
+ VSCODE_PATH=./..
+ ELECTRON=./../code
+ CLI=./../resources/app/out/cli.js
+ ELECTRON_RUN_AS_NODE=1
+ ./../code ./../resources/app/out/cli.js
/usr/bin/code: line 35: ./../code: No such file or directory
+ exit 127

/usr/bin$ bash -x code
++ id -u
+ '[' 1000 = 0 ']'
+ '[' '!' -L code ']'
+ which readlink
+++ readlink -f code
++ dirname /usr/share/code/bin/code
+ VSCODE_PATH=/usr/share/code/bin/..
+ ELECTRON=/usr/share/code/bin/../code
+ CLI=/usr/share/code/bin/../resources/app/out/cli.js
+ ELECTRON_RUN_AS_NODE=1
+ /usr/share/code/bin/../code /usr/share/code/bin/../resources/app/out/cli.js
+ exit 0

PATH的内容

~$ $PATH
bash: /home/adam/anaconda3/bin:/home/adam/anaconda3/bin:/home/adam/bin:/home/adam/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory

任何帮助或建议,表示赞赏。


1
确保您的软件包已更新。您可以使用以下命令对此进行验证:1) sudo apt update 2) sudo apt upgrade。如果遇到任何错误,请解决错误。然后尝试从终​​端运行apt并检查错误。
LD詹姆斯

只有这对我有用```快速运行代码```
Thomas

Answers:


14

我在这里描述了相同的问题,即新安装的Ubuntu 18.04 LTS。我从conda安装了VS Code。

发现如果您运行以下命令

code --verbose

它会告诉您Code发生了什么。就我而言

code --verbose
[main 20:19:26] Startup error: 
Error: EACCES: permission denied, mkdir '/home/<user>/.config/Code/CachedData'

确保文件夹〜/ .config / Code出于某种原因具有root访问权限。使用sudo删除了文件夹。

rm -rf /home/<user>/.config/Code 

再次尝试运行代码,它工作正常。


4

我有同样的问题。像Robin G和Nezir所建议的那样,我意识到/home/user/.config/Code driectory的所有者是“根”。但是,您可以更改该目录的所有权而不是删除它。

sudo chown -R user /home/user/.config/Code

需要“ -R”选项以递归方式更改目标目录下所有文件和目录的所有权。

之后,ubuntu 18.04上的Visual Studio Code v.1.27可以在我的机器上正常工作。


至少我学到了一些新东西:chown命令
Soma Mbadiwe

2

使用正确的命令调试bash

要调试,您应该使用以下命令:

bash --debugger `which code`

这将每行运行bash脚本行。要转到下一行,只需键入n返回。发布输出,我们将看到更多。

通过快照安装(对于Ubuntu版本> 18.04)

BTW Ubuntu 18.04 LTS(长期发行版)现在直接支持代码,您可以通过snap软件包安装它:

显示受ubuntu支持的快照的版本和信息:

snap info code

并安装它

sudo snap install code 

我个人更喜欢通过apt安装它。因此,请按照Microsoft的以下说明进行操作:

安装VS代码

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

这将下载gpg密钥并复制并制作apt文件。然后,您可以简单地更新和安装vs代码

sudo apt-get update
sudo apt-get install code
  • 这种安装方法的优点是您可以使用apt-get update命令简单地更新vscode 。工作正常,我将vs代码vim插件一起使用了2年以上(c,c ++,python,md,latex,html,javascript ...)。

没有骰子。不过在这一点上,我实际上只能等待18.04。谢谢你的提示。
亚当



1

打开您的终端并运行以下命令:

  1. sudo rm -rf /home/your_username/.config/Code

    (替换your_username为您的实际用户名。)

    然后提供您的密码,然后按Enter

  2. code --verbose



0
code --verbose

当X系统崩溃后,代码无法启动(卡住)时,我一个人就可以解决问题。但是,打开的文件不是最新的,而是一些古老的文件。


0

就我而言,当我运行code --verbose该错误是:

错误:ENOSPC:达到文件监视程序数量的系统限制,监视“ /快照/代码”

因此,我通过修改/etc/sysctl.conf并将其添加到文件末尾来将文件监视程序的数量增加到最大。

fs.inotify.max_user_watches=524288

然后我必须运行以下命令才能将值加载到系统中:

sudo sysctl -p

现在我可以毫无问题地运行VScode

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.