";代码“;使用VSCode远程连接到Docker容器时,命令不起作用
我正在本地PC中使用VSCode,并通过VSCode的扩展名";代码“;使用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'命令,但找不
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/"