Não é possível abrir o código do Visual Studio

10

Instalei o VS Code no meu laptop com o Ubuntu 16.04 LTS. Eu tentei vários métodos de instalação com resultados idênticos; mais recentemente, segui as "novas" instruções do Cactux aqui . Eu tentei abrir o aplicativo de duas maneiras sem efeito.

  • Quando abro o programa em 'Aplicativos', o ícone é exibido no iniciador por aproximadamente 15 segundos e depois desaparece. Nenhum erro aparece.
  • Quando abro um terminal e digito code, o comando não faz nada e recebo um novo prompt em menos de um segundo.

Estou lutando com o que tentar, pois sou relativamente novo no Linux. which codeyields /usr/bin/code, que é um script bash. É aqui que chego fora da minha profundidade.

Conteúdo do script

/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 $?

Saída de depuração (de diferentes diretórios)

~$ 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

Conteúdo do 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

Qualquer ajuda ou sugestão é apreciada.

Adão
fonte
11
Verifique se você tem seus pacotes atualizados. Você pode verificar isso com estes comandos: 1) sudo apt update 2) sudo apt upgrade . Se você receber algum erro, resolva-o. Em seguida, tente executar o apt no terminal e verifique se há erros.
LD James
Apenas isso funcionou para mim `` 'snap run code' ''
Thomas G.

Respostas:

14

Eu tive o mesmo problema descrito aqui, nova instalação do Ubuntu 18.04 LTS. Eu instalei o VS Code da conda.

Descobriu que se você executar o seguinte

code --verbose

Ele lhe dirá o que está acontecendo com o Code. No meu caso

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

com certeza a pasta ~ / .config / Code possui permissões de acesso root por algum motivo. Excluiu a pasta usando o sudo.

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

Tentei novamente executar o código e está funcionando bem.

Robin G
fonte
4

Eu tive o mesmo problema. Como Robin G e Nezir sugeriram, percebi que o proprietário do diretório /home/user/.config/Code é a "raiz". No entanto, você pode alterar a propriedade desse diretório em vez de removê-lo.

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

A opção "-R" é necessária para alterar recursivamente a propriedade de todos os arquivos e diretórios no diretório de destino.

Depois disso, o Visual Studio Code v. 1.27 no ubuntu 18.04 funciona como deveria na minha máquina.

Cheveyotala
fonte
Pelo menos eu aprendi algo novo: chowncommand
Soma Mbadiwe
2

Depure o bash com o comando correto

Para depurar, você deve usar o seguinte comando:

bash --debugger `which code`

Isso executará a linha de script do bash por linha. Para ir para a próxima linha, basta digitar n e retornar . Poste a saída do que veremos mais.

Instalando via snap (para versões do Ubuntu> 18.04)

Agora, o Ubuntu 18.04 LTS (versão de longo prazo) agora suporta código diretamente e você pode instalá-lo através do pacote snap:

Mostrar versão e informações do snap ao ubuntu suportado:

snap info code

e instalá-lo

sudo snap install code 

Pessoalmente, prefiro instalá-lo via apt. Portanto, siga estas instruções da microsoft:

Instalando o código 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'

Isso fará o download da chave gpg, copiará e criará os arquivos apt. Então você pode simplesmente atualizar e instalar o código vs :

sudo apt-get update
sudo apt-get install code
  • A vantagem deste método de instalação é que você pode atualizar facilmente vscode usando o comando apt-get update . Funciona bem e eu uso o código vs com o plugin vim por mais de 2 anos (c, c ++, python, md, látex, html, javascript ...).
abu_bua
fonte
Sem dados. Neste ponto, porém, eu posso apenas esperar pelo 18.04. Obrigado pela dica.
Adam
1

Tente no terminal

code --user-data-dir

Trabalhou para mim.

sarawgeek
fonte
1

Abra seu terminal e execute os seguintes comandos:

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

    (Substitua your_usernamepelo seu nome de usuário real.)

    Em seguida, forneça sua senha e pressione Enter.

  2. code --verbose

Nkosinathi Sola
fonte
0

O código do VS pode falhar silenciosamente ao abrir se você não tiver dependências necessárias.

A partir dessa página:

sudo apt-get install -f # Install dependencies
Andrey Kudriavtsev
fonte
Espero que uma frase seja suficiente para explicar o que significa `instalar dependências '
Andrey Kudriavtsev
0
code --verbose

sozinho, fiz o truque para mim quando o Code falhou ao iniciar (ficou preso) após a falha do sistema X. No entanto, os arquivos abertos não eram os mais recentes, mas alguns antigos.

Tero Lahtinen
fonte
0

No meu caso, quando executei, code --verboseo erro foi:

Erro: ENOSPC: limite do sistema para o número de observadores de arquivos atingidos, observe '/ snap / code'

Portanto, aumentei o número máximo de observadores de arquivos modificando /etc/sysctl.confe adicionando isso ao final do arquivo:

fs.inotify.max_user_watches=524288

Então eu tive que executar este comando para carregar o valor no sistema:

sudo sysctl -p

Agora eu posso executar o VScode sem problemas

Alex Jolig
fonte