Не удается открыть код Visual Studio

10

Я установил VS Code на свой ноутбук с Ubuntu 16.04 LTS. Я пробовал несколько методов установки с одинаковыми результатами; совсем недавно я следовал «новым» инструкциям Cactux здесь . Я пытался открыть приложение двумя способами безрезультатно.

  • Когда я открываю программу из «Приложения», значок отображается в программе запуска примерно 15 секунд, а затем исчезает. Ошибка не появляется.
  • Когда я открываю терминал и печатаю code, команда ничего не делает, и я получаю новое приглашение менее чем за секунду.

Я борюсь с тем, что попробовать, так как я относительно новичок в Linux. which codeдоходность /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 из терминала и проверить ошибки.
Л.Д. Джеймс
Только это сработало для меня `` `мгновенный запуск
Томас Г.

Ответы:

14

У меня была та же проблема, описанная здесь, новая установка Ubuntu 18.04 LTS. Я установил VS Code от Conda.

Обнаружено, что если вы запустите следующее

code --verbose

Он расскажет вам, что происходит с кодом. В моем случае

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

У меня такая же проблема. Как и Робин Дж, и Незир предположили, что я понял, что владелец каталога /home/user/.config/Code - это «корень». Однако вы можете просто изменить владельца этого каталога, а не удалять его.

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

Параметр "-R" необходим для рекурсивного изменения владельца всех файлов и каталогов в целевом каталоге.

После этого Visual Studio Code v. 1.27 в Ubuntu 18.04 работает так, как это должно быть на моей машине.

Cheveyotala
источник
По крайней мере, я узнал что-то новое: chownкоманда
Сома Мбадиев,
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 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'

Это загрузит ключ gpg, скопирует и создаст подходящие файлы. Тогда вы можете просто обновить и установить против кода :

sudo apt-get update
sudo apt-get install code
  • Преимущество этого метода установки заключается в том, что вы можете просто обновить vscode с помощью команды apt-get update . Работает отлично , и я использую против кода с ВИМ плагин для более чем 2 лет (C, C ++, Python, д.м.н., латекс, HTML, JavaScript ...).
abu_bua
источник
Нет кости. На данный момент, я на самом деле могу просто ждать 18.04. Спасибо за совет.
Адам
1

Попробуй в терминале

code --user-data-dir

Работал на меня.

sarawgeek
источник
1

Откройте свой терминал и выполните следующие команды:

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

    (Замените your_usernameсвоим реальным именем пользователя.)

    Затем введите свой пароль и нажмите Enter.

  2. code --verbose

Нкосинати Сола
источник
0

Код VS может молча не открыться, если у вас нет необходимых зависимостей.

С этой страницы:

sudo apt-get install -f # Install dependencies
Андрей Кудрявцев
источник
Надеюсь, одного предложения достаточно, чтобы объяснить, что означает «установка зависимостей»,
Андрей Кудрявцев,
0
code --verbose

один сделал свое дело для меня, когда код не удалось запустить (заклинило) после сбоя системы X. Однако открытые файлы были не самыми последними, а некоторыми древними.

Теро Лахтинен
источник
0

В моем случае, когда я бежал, code --verboseошибка была:

Ошибка: ENOSPC: системный лимит для числа достигнутых наблюдателей файла, смотрите '/ snap / code'

Поэтому я увеличил число наблюдателей за файлом до максимума, изменив /etc/sysctl.confи добавив в конец файла следующее:

fs.inotify.max_user_watches=524288

Затем мне пришлось выполнить эту команду, чтобы загрузить значение в систему:

sudo sysctl -p

Теперь я могу запустить VScode без проблем

Алекс Джолиг
источник