Пожалуйста, прочитайте документацию снова; он был недавно обновлен и отвечает на ваши вопросы.
я удаленный (ubuntu 16.04) диск, смонтированный в моей локальной системе (ubuntu 16.04), чтобы я мог редактировать исходные файлы, открывая их в vscode.
Кроме того, в интегрированном терминале я могу подключиться к удаленной системе через ssh и запустить программу, используя удаленный интерпретатор python, который устанавливается в виртуальной среде, например:
$ssh username@remoteip
$workon remotevirtualenv
(remotevirtualenv)$python source.py
Я хочу включить удаленную отладку, чтобы при запуске отладки / запуска удаленных файлов vscode, установленный в моей локальной системе, использовал мой удаленный интерпретатор python.
Я просмотрел документы, предлагающие использовать расширение ptvsd (которое требует иметь 2 копии исходных файлов, одну на локальном, а другой на одном сервере), но я не уверен, как настроить его в этом сценарии. Ценю помощь. Благодарю.
Изменить 1: Как я уже сказал, я просмотрел документы, но мне не ясно, как настроить этот сценарий. например документы говорят
висходный код на обоих компьютерахдобавьте следующие строки, заменив my_secret соответствующей парольной фразой для аутентификации удаленной отладки и заменив адрес соответствующим IP-адресом (или локальным хостом) и номером порта:ptvsd.enable_attach("my_secret", address = ('0.0.0.0', 3000))
Но у меня есть только одна копия исходного файла, т.е. в удаленной системе. Я только что смонтировал его в моей локальной файловой системе. Итак, я должен дать свой локальный IP-адрес или это должен быть IP-адрес удаленной системы и какой номер порта я должен использовать, так как у меня есть только одна копия источника и, следовательно, ptvsd, как он будет взаимодействовать. Кроме того, в конфигурации, что я должен использовать дляlocalRoot
местоположение иremoteRoot
место нахождения.
3. {
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}",
"port": 3000,
"secret": "my_secret",
"host": "localhost"
}