Как правильно интегрировать Cmder в VS Code?

Я хотел бы интегрировать оболочку Cmder в мою конфигурацию VS Code.

Я использую VS Code 64bit в Windows, и я попытался изменить свой settings.json файл следующим образом, чтобы Cmder работал как интегрированный терминал:

"terminal.integrated.shell.windows": "C:\\Program Files\\Cmder\\Cmder.exe",

Я перезапустил свой VS Code и попытался открыть терминал.

Сначала появилось это окно с сообщением об ошибке:

Не удалось скопировать файл ConEmu.xml в хранилище резервных копий!
Перезапустите Cmder от имени администратора.

Итак, я запустил VS Code от имени администратора, после чего сообщение об ошибке исчезло; однако я заметил, что VS Code открывает Cmder в другом отдельном окне, а не в терминале.

Как запустить командную оболочку Cmder в терминале VS Code?

P.S. Может ли эта заметка в документации по vs-коду быть решением?

Совет. Встроенная оболочка терминала работает с разрешениями VS Code. Если вам нужно запустить команду оболочки с повышенными правами (администратор) или другими разрешениями, вы можете использовать служебные программы платформы, такие как runas.exe, в терминале ".

из: https://code.visualstudio.com/docs/editor/integrated-terminal < / а>


person ramian    schedule 18.12.2018    source источник


Ответы (4)


В вашем файле конфигурации есть ошибка, следующее недействительно:

"terminal.integrated.shell.windows": "C:\\Program Files\\Cmder\\Cmder.exe"

Вы должны не вызывать Cmder.exe из VS Code, вместо этого вы должны использовать init.bat (из приведенных ниже инструкций) для интеграции Cmder в VS Code.

Ваша проблема уже была объяснена здесь в репозитории Cmder.


Как заставить Cmder работать в VS Code

  1. Убедитесь, что вы используете последнюю версию Cmder - загрузите последнюю здесь

  2. Откройте файл конфигурации settings.json, нажав Ctrl + , (Control-Comma), чтобы получить доступ к настройкам, затем нажмите Изменить в settings.json ссылка

  3. # P6 #
    # P7 #
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe",
    "terminal.integrated.shellArgs.windows": ["/K", "C:\\cmder\\vendor\\init.bat"]
    
  4. Кстати, вам нужно заменить C:\\cmder на свой собственный путь установки.
    Совет: замените одиночные обратные косые черты (\) на двойные обратные косые черты (\\).

  5. # P9 #
    # P10 #
    # P11 #
  6. Вам не нужно перезапускать VS Code, чтобы это работало.
    Нажмите Ctrl + ` (Control-Tilde), чтобы открыть Cmder в терминале VS Code!

Вы можете обратиться к моему ответу здесь, чтобы получить полное объяснение того, как это работает. .


Связанный

Аналогичные проблемы возникают с репозиторием VS Code и также здесь, в репозитории Cmder.

person David Refoua    schedule 26.01.2019
comment
cmd.exe - это не cmder. если вы запустите cmd.exe, у вас не будет среды conemu, предоставляемой cmder. поэтому он может работать с расширенным cmd cmder, но он не будет работать с git-bash должным образом, потому что он не будет понимать цветовые коды ansi, что он делает при запуске в cmder. - person indriq; 13.07.2019
comment
Отличный подробный ответ! - person Ben Smith; 30.09.2019

Cmder 1.3.12 представил vscode_init.cmd скрипт, который позволяет задачам VS Code корректно работать с Cmder.

Документация в VS Code, упомянутая в ответе выше, устарела, если вы используете версию Cmder выше 1.3.11.

В репозитории Cmder GitHub теперь есть обширная документация о том, как добиться интеграция между Cmder и VS Code. На момент написания этого сообщения оно было более точным, чем документация по VS Code.

person testworks    schedule 01.10.2019

У меня сработало следующее (версия Cmder выше 1.3.11):

  1. Вставьте каталог \ cmder в C: \ tools

  2. Вставьте .vscode \ settings.json:

    "terminal.integrated.shell.windows": "cmd.exe",
    "terminal.integrated.env.windows": {
        "CMDER_ROOT": "C:\\tools\\cmder"
    },
    "terminal.integrated.shellArgs.windows": [
        "/k",
        "%CMDER_ROOT%\\vendor\\bin\\vscode_init.cmd"
    ],
    

.. и наслаждаться!

person emgf_co    schedule 02.07.2020
comment
При обновлении vscode в апреле 2021 года команды "terminal.integrated.shell.windows" и "terminal.integrated.shellArgs.windows" устарели. - person emgf_co; 11.05.2021
comment
какие новые команды? я ищу их. - person Pajri Aprilio; 16.05.2021
comment
@PajriAprilio Следуйте новому вопросу stackoverflow.com/q/67489288/13499978 - person emgf_co; 17.05.2021

Это сработало для меня 22 июня 2021 года; добавьте эти строки в файл settings.json в свои пользовательские настройки (для меня «C: \ Users \ ianla \ AppData \ Roaming \ Code \ User \ settings.json»):

"terminal.integrated.profiles.windows": {
    "cmder": {
      "path": "C:\\WINDOWS\\System32\\cmd.exe",
      "args": ["/K", "C:\\Users\\ianla\\cmder\\vendor\\bin\\vscode_init.cmd"]
    }
  },
  "terminal.integrated.defaultProfile.windows": "cmder",

... конечно, вам нужно будет изменить мой «C: \ Users \ ianla \» на путь установки вашего командного оператора установки.

См. Здесь для получения дополнительной информации

person Ian    schedule 22.06.2021