Невозможно открыть код Visual Studio, когда внутри смонтированного по sshfs диска UBUNTU WSL

У меня возникли проблемы с открытием кода визуальной студии.

Сценарий заключается в том, что у меня есть серверная файловая система, смонтированная на моем локальном компьютере (UBUNTU WSL) с использованием SSHFS.

В обычных случаях я могу открыть файл с помощью кода Visual Studio, используя команду code .
Однако, когда я нахожусь в каталоге файловой системы сервера и пытаюсь использовать эту команду, я получаю сообщение об ошибке

/mnt/c/Users/kurti/AppData/Local/Programs/Microsoft VS Code/Code.exe: Invalid arguments

Удивительно, но я могу использовать gedit таким же образом без каких-либо проблем, например gedit <имя файла>.

Тогда странно то, что я могу использовать код для открытия файла/каталога в файловой системе сервера, когда я являюсь любой папкой в ​​своей локальной файловой системе. При этом я могу легко открыть файл сервера, используя код .

Это возможная ошибка в коде Visual Studio или проблема с моей системой?

Редактировать: Я создал новую обходную функцию/команду, которая
имя команды: vcode

#!/bin/bash
fpath=$(realpath $1)
(cd $HOME; code fpath)

Обновление: Я сообщил об этом на странице github WSL как о проблеме https://github.com/microsoft/WSL/issues/7890

Более подробные сведения приведены ниже

Шаги репо

В терминале WSL

  1. Смонтируйте файловую систему сервера с помощью sshfs (в моем случае это университетский суперкомпьютер)
    sshfs -C
    обозначенное mount_location — это пустой каталог с именем smith_server и путем /home/k /smith_server/
  2. Перейти в каталог cd /home/k/smith_server
  3. Открыть каталог в Visual Studio code code .

Ожидаемое поведение

Ожидаемое поведение заключается в том, что Visual Studio откроет каталог/файл независимо от текущего рабочего каталога.

Фактическое поведение

Фактическое поведение заключается в том, что когда текущий рабочий каталог находится внутри смонтированной файловой системы сервера, запуск команды code . или код <имя файла>приведет к ошибке код .

/mnt/c/Users/kurti/AppData/Local/Programs/Microsoft VS Code/Code.exe: недопустимый аргумент

Некоторые примеры, которые работают,

  1. Когда рабочий каталог не является частью смонтированного файловая система сервера, код . Код или работает нормально.
  2. Когда рабочий каталог не является частью смонтированной файловой системы сервера, использование кода для полного пути к файлу/каталогу в файловой системе сервера, например. код /home/k/smith_serverможет успешно открыть файл/каталог без проблем.
  3. Когда рабочий каталог находится внутри файловой системы смонтированного сервера, gedit работает нормально
  4. Когда рабочий каталог находится внутри файловой системы смонтированного сервера,Код $HOMEтакже вызывает ошибку.

Вывод с моей стороны состоит в том, что при вызове команды code внутри смонтированной файловой системы сервера возникают проблемы. Кроме того, этого не происходит при использовании gedit. Однако за пределами смонтированной файловой системы сервера можно вызвать команду code, а также получить доступ к смонтированной файловой системе, используя полный путь. Возможно, что-то происходит при отслеживании файла Code.exe. Программное обеспечение на основе Linux, такое как gedit, не затрагивается, но, возможно, затронуто программное обеспечение на основе Windows, такое как Code.exe, которое только подключается?

1
задан 5 January 2022 в 05:09

0 ответов

Другие вопросы по тегам:

Похожие вопросы: