使用VSCode远程连接到Docker容器时,“ code”命令不起作用

时间:2020-07-13 01:13:44

标签: docker visual-studio-code ssh

我在本地PC上使用VSCode,并使用VSCode的扩展名Remote - SSHRemote - containers连接到远程服务器中的Docker容器。但是,当我键入

$ code <file name>

在VSCode的终端(重击)上,我收到一条错误消息,说

bash: code: command not found

我无法在VSCode的编辑器上编辑文件。

如果我从VSCode的资源管理器(Ctrl + Shift + E)中单击文件,将出现编辑屏幕,但是不能使用code命令调用它吗?

我还调用命令面板(Ctrl + Shift + P),然后搜索Shell Command: Install 'code' command in PATH,但没有找到匹配的命令。

执行环境如下:。

  • 本地PC:Windows 10 Pro
  • 远程主机:Ubuntu 18.04.3 LTS
  • 远程主机PC中的Docker容器:Ubuntu 18.04.3 LTS

非常感谢您的回答。

4 个答案:

答案 0 :(得分:2)

他们针对@davetapley here 提出的问题发布了一个简单的解决方案。

转到 VSCode 设置,搜索“终端集成继承 env”并启用该选项。 code 命令将在您下次打开终端时可用。

(这应该是评论,但我还没有那个特权!)

答案 1 :(得分:1)

我将回答自己,因为我能够使用远程容器中的code命令调用VSCode。

当我仔细查看房屋下方时,发现以下目录中有一个code

$HOME/.vscode-server/bin/<directory with a hash-like name>/bin/

所以我通过了PATH,它起作用了。

顺便说一句,<directory with a hash-like name>是一个具有类似哈希的名称的目录,当您远程连接到容器时,该目录是随机分配的。每次都不一样,所以请自己参考。

注册路径的方法如下。

export PATH="$PATH:$HOME/.vscode-server/bin/<directory with a hash-like name>/bin/"

非常感谢您的支持。

答案 2 :(得分:0)

听起来您在写code命令的位置令人困惑。 Visual Studio Code的安装在您的计算机上是本地的,而不是在Docker容器内。当您在Docker容器内打开终端时,就好像它是一台完全不同的机器一样。 Here is a link来制作有趣而有用的vscode文档。

答案 3 :(得分:0)

这是解决类似问题的方法,其中code命令在我的Linux系统上未按预期工作,并通过VSCode的Remote - SSH扩展名连接到Windows PC:添加VS代码通过在Linux远程系统中编辑〜/ .bashrc文件来进入PATH

我使用了akki's answer中的path变量,以及this answer by oadams中详细介绍的过程。 要在系统中编辑此文件,请使用nano:

nano ~/.bashrc

在文件末尾,添加提到的导出路径语句akki,只是不带引号:

export PATH=$PATH:$HOME/.vscode-server/bin/<directory with a hash-like name>/bin/

但是,当我将SSH远程连接到Raspberry Pi时,我在akki的答案中提到的code类似于哈希标签的名称,因此我不确定如何解决该问题。

我的执行环境如下:

  • 本地PC:Dell Latitude PC上的Windows 10。
  • 远程主机PC:Raspberry Pi 3B上的Raspbian GNU / Linux 10(破坏者)。