Impossibile aprire il codice di Visual Studio


10

Ho installato VS Code sul mio laptop con Ubuntu 16.04 LTS. Ho provato diversi metodi di installazione con risultati identici; di recente, ho seguito le "nuove" istruzioni di Cactux qui . Ho provato ad aprire l'applicazione in due modi senza alcun effetto.

  • Quando apro il programma da "Applicazioni", l'icona viene visualizzata nel programma di avvio per circa 15 secondi e quindi scompare. Non viene visualizzato alcun errore.
  • Quando apro un terminale e digito code, il comando non fa nulla e ricevo un nuovo prompt in meno di un secondo.

Sto lottando con cosa provare poiché sono relativamente nuovo su Linux. which coderese /usr/bin/code, che è uno script bash. È qui che esco fuori dalla mia profondità.

Contenuto della sceneggiatura

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

Output di debug (da diverse directory)

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

Contenuto di 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

Qualsiasi aiuto o suggerimento è apprezzato.


1
Assicurati di avere i tuoi pacchetti aggiornati. Puoi verificarlo con questi comandi: 1) sudo apt update 2) sudo apt upgrade . In caso di errori, risolverli. Quindi provare a eseguire l'app dal terminale e verificare la presenza di errori.
LD James,

Solo questo ha funzionato per me `` snap run code ``
Thomas G.

Risposte:


14

Ho avuto lo stesso problema descritto qui, nuova installazione di Ubuntu 18.04 LTS. Ho installato VS Code da conda.

Ho scoperto che se si esegue quanto segue

code --verbose

Ti dirà cosa sta succedendo con Code. Nel mio caso

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

abbastanza sicuro che la cartella ~ / .config / Code avesse i permessi di accesso root per qualche motivo. Eliminata la cartella usando sudo.

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

Ho provato di nuovo a eseguire il codice e funzionava bene.


4

Ho avuto lo stesso problema. Come hanno suggerito Robin G e Nezir, mi sono reso conto che il proprietario della dripping /home/user/.config/Code è il "root". Tuttavia, potresti semplicemente cambiare la proprietà di quella directory invece di rimuoverla.

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

L'opzione "-R" è necessaria per modificare in modo ricorsivo la proprietà di tutti i file e le directory nella directory di destinazione.

Dopo questo il codice Visual Studio v. 1.27 su Ubuntu 18.04 funziona come dovrebbe sulla mia macchina.


Almeno ho imparato qualcosa di nuovo: chowncomando
Soma Mbadiwe,

2

Debug di bash con il comando corretto

Per eseguire il debug è necessario utilizzare il comando seguente:

bash --debugger `which code`

Questo eseguirà la riga di script bash per riga. Per passare alla riga successiva, digita semplicemente n e torna indietro . Pubblica l'output di quello che vedremo di più.

Installazione tramite snap (per versioni Ubuntu> 18.04)

BTW Ubuntu 18.04 LTS (versione a lungo termine) ora supporta direttamente il codice e puoi installarlo tramite il pacchetto snap:

Mostra la versione e le informazioni dello snap supportato da Ubuntu:

snap info code

e per installarlo

sudo snap install code 

Personalmente preferisco installarlo tramite apt. Quindi segui queste istruzioni da microsoft:

Installazione di VS Code

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'

Questo scaricherà la chiave gpg e copierà e creerà i file apt. Quindi puoi semplicemente aggiornare e installare vs codice :

sudo apt-get update
sudo apt-get install code
  • Il vantaggio di questo metodo di installazione è che puoi semplicemente aggiornare vscode usando il comando apt-get update . Funziona bene e uso vs code con il plugin vim per oltre 2 anni (c, c ++, python, md, latex, html, javascript ...).

Niente da fare. A questo punto, però, posso davvero aspettare il 18.04. Grazie per il consiglio.
Adam,


1

Prova nel terminale

code --user-data-dir

Ha funzionato per me.


1

Apri il tuo terminale ed esegui i seguenti comandi:

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

    (Sostituisci your_usernamecon il tuo nome utente reale.)

    Quindi fornire la password e premere Enter.

  2. code --verbose


0

Il codice VS potrebbe non riuscire ad aprirsi in silenzio se non si hanno dipendenze richieste.

Da questa pagina:

sudo apt-get install -f # Install dependencies

Spero che sia sufficiente una frase per spiegare cosa significa "installa dipendenze"
Andrey Kudriavtsev,

0
code --verbose

da solo ha fatto il trucco per me quando Code non è stato avviato (bloccato) dopo l'arresto anomalo del sistema X. Tuttavia, i file aperti non erano i più recenti, ma alcuni antichi.


0

Nel mio caso quando ho eseguito code --verbosel'errore era:

Errore: ENOSPC: limite di sistema per il numero di osservatori di file raggiunto, guarda '/ snap / code'

Quindi ho aumentato il numero di osservatori di file al massimo modificando /etc/sysctl.confe aggiungendo questo alla fine del file:

fs.inotify.max_user_watches=524288

Quindi ho dovuto eseguire questo comando per caricare il valore nel sistema:

sudo sysctl -p

Ora posso eseguire VScode senza problemi

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.