Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
";代码“;使用VSCode远程连接到Docker容器时,命令不起作用_Docker_Visual Studio Code_Ssh - Fatal编程技术网

";代码“;使用VSCode远程连接到Docker容器时,命令不起作用

";代码“;使用VSCode远程连接到Docker容器时,命令不起作用,docker,visual-studio-code,ssh,Docker,Visual Studio Code,Ssh,我正在本地PC中使用VSCode,并通过VSCode的扩展名remote-SSH和remote-containers连接到远程服务器中的Docker容器。然而,当我打字时 $ code <file name> 我无法在VSCode的编辑器中编辑该文件 如果我从VSCode的资源管理器(Ctrl+Shift+E)中单击该文件,将显示编辑屏幕,但是否可以使用code命令调用它 另外,我调用命令面板(Ctrl+Shift+p),然后搜索Shell命令:在路径中安装'code'命令,但找不

我正在本地PC中使用VSCode,并通过VSCode的扩展名
remote-SSH
remote-containers
连接到远程服务器中的Docker容器。然而,当我打字时

$ code <file name>
我无法在VSCode的编辑器中编辑该文件

如果我从VSCode的资源管理器(Ctrl+Shift+E)中单击该文件,将显示编辑屏幕,但是否可以使用
code
命令调用它

另外,我调用命令面板(Ctrl+Shift+p),然后搜索
Shell命令:在路径中安装'code'命令,但找不到匹配的命令

执行环境如下所示:

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

非常感谢您的回答。

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

当我仔细查看home下方时,我发现在下面的目录中有一个
code

$HOME/.vscode-server/bin/<directory with a hash-like name>/bin/
$HOME/.vscode服务器/bin//bin/
所以我通过了这条路,它成功了

顺便说一下,
是一个具有类似散列的名称的目录,当您远程连接到容器时,该名称是随机分配的。每次都不一样,所以请自己参考

注册路径的方法如下所示

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

非常感谢您的支持。

听起来您不知道您在哪里编写
code
命令。Visual Studio代码的安装是在计算机上本地进行的,而不是在docker容器中。当您在docker容器内打开一个终端时,这就好像它是一台完全不同的机器。请参阅既有趣又有用的vscode文档。

以下是解决类似问题的方法,其中
code
命令在我的Linux系统上无法按预期工作,通过VSCode的扩展名
Remote-SSH
连接到我的windows PC,通过编辑我的linux远程系统中的~/.bashrc文件将VS代码添加到路径中

我使用了中的path变量,详细过程见。 要在我的系统中编辑此文件,我使用nano:

nano~/.bashrc

在文件末尾,添加前面提到的export path语句,但不带引号:

导出路径=$PATH:$HOME/.vscode服务器/bin//bin/

然而,当我将SSH远程连接到Raspberry Pi时,akki的回答中提到的类似于hashtag的
code
名称并没有改变,所以我不确定如何解决这部分问题

我的执行环境如下:

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

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

转到VSCode设置,搜索“terminal integrated inherit env”并启用该选项。下次打开终端时,
code
命令将可用


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

非常感谢您的评论。我知道纯VSCode只安装在本地机器上,而不是远程机器上。当我通过VSCode连接到远程计算机时,目录“~/.VSCode server/”位于远程计算机上。.vscode服务器可能会给我一种错觉,就好像远程机器上安装了纯vscode一样。我使用这个临时解决方案在docker容器内的终端上调用
code
。非常感谢您的评论。如果未连接到远程主机PC中的docker容器,则似乎不会创建新的名称文件夹@Des_Awung没有使用容器,所以您可能没有问题。如果旧名称文件夹仍然存在,我无法通过SSH连接到主机PC,因此我在主机PC上运行以下命令并每次删除它
rm-r~/.vscode-server/bin/*
rm~/.vscode-server/*log
但是,容器中类似于hashtag的名称不会改变,这与主机PC不同,因此我提出的问题是没有根据的。我会更正我的答案。谢谢你的好意。你有没有找到一个这样开始正常工作的例子?我看不出有什么问题,报告说
export PATH="$PATH:$HOME/.vscode-server/bin/<directory with a hash-like name>/bin/"