标签: vscode-remote-ssh

Remote-Containers VS Code 扩展无法识别 git 存储库

我在 AWS 实例上有一个存储库。我可以通过 ssh 使用 VS Code 连接到实例并远程打开存储库。该实例上有一个开发容器映像,我用它从 shell 运行代码。我希望本地计算机上的 VS Code 能够远程打开实例上的存储库,但位于从我的开发映像生成的容器内。.devcontainer.json我已经在存储库中设置了这个配置文件:

{
    "image": "mmclassification",
  
    "customizations": {
      "vscode": {
        "extensions": ["dbaeumer.vscode-eslint"]
      }
    },
    "forwardPorts": [3000]
}
Run Code Online (Sandbox Code Playgroud)

看起来效果很好。在远程容器之前,我的 Python 扩展无法遵循导入等操作,现在可以了。但是,VS Code 内的 git 集成停止工作。文件不再突出显示为已修改,当我在 VS Code 中打开源代码控制选项卡时,它表示它不是 git 存储库:

在此输入图像描述

虽然该.git文件夹确实存在,但 VS Code 无法读取它。

仅使用远程 SSH 打开文件夹(即不在容器内)确实具有有效的 git 集成(但 Python 集成是有问题的,因为它没有在开发环境中打开)。

有什么问题?


这是一个类似的问题:在 VS Code 远程容器扩展创建的容器内未检测到 Git 存储库

然而,那里的用户似乎因为worktree他的指令而遇到问题.git/config,而我没有。

git docker visual-studio-code vscode-remote-ssh

7
推荐指数
1
解决办法
1754
查看次数

Visual Studio Code 远程 ssh 创建了太多 vscode-server 进程

我的远程服务器上有太多与 vscode-server 相关的进程。我在这台服务器上使用远程 SSH 扩展大约半年了。似乎每次我启动连接时,即使我关闭连接,该进程也会被创建并保持活动状态。

32101 ?        Sl     0:00 /home/codeally/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/node /tmp/vscode-remote-containers-server-34c19751-a5ad-42ba-9941-b3ed5ffaca29.js
32216 ?        Sl     0:00 /home/codeally/.vscode-server/bin/6a995c4f4cc2ced6e3237749973982e751cb0bf9/node /tmp/vscode-remote-containers-server-1fcdaf18-27e1-417c-857e-3244a36d6fcf.js
32287 ?        Sl     0:00 /home/codeally/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/node /tmp/vscode-remote-containers-server-43dcbb33-671b-4310-9e9e-01d9418efe4d.js
32347 ?        Sl     0:00 /home/codeally/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/node /tmp/vscode-remote-containers-server-43dcbb33-671b-4310-9e9e-01d9418efe4d.js
32427 ?        Sl     0:00 /home/codeally/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/node /tmp/vscode-remote-containers-server-43dcbb33-671b-4310-9e9e-01d9418efe4d.js
32462 ?        Sl     0:00 /home/codeally/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/node /tmp/vscode-remote-containers-server-43dcbb33-671b-4310-9e9e-01d9418efe4d.js
32600 pts/56   Ss+    0:00 /bin/bash --init-file /root/.vscode-server/bin/92da9481c0904c6adfe372c12da3b7748d74bdcb/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh
32687 ?        Sl     0:00 /home/codeally/.vscode-server/bin/6a995c4f4cc2ced6e3237749973982e751cb0bf9/node /tmp/vscode-remote-containers-server-1fcdaf18-27e1-417c-857e-3244a36d6fcf.js
32712 ?        Sl     0:00 /home/codeally/.vscode-server/bin/b3e4e68a0bc097f0ae7907b217c1119af9e03435/node /tmp/vscode-remote-containers-server-43dcbb33-671b-4310-9e9e-01d9418efe4d.js
root@cr-0:~# ps ax | grep -i code | wc -l
371
Run Code Online (Sandbox Code Playgroud)

经过一些连接尝试后,进程数量仍在增加。但我发现有时连接退出时它可能会杀死进程。

root@cr-0:~# ps ax | grep -i code | …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-remote-ssh

7
推荐指数
0
解决办法
473
查看次数

Visual Studio Code 远程 SSH 权限被拒绝(公钥)

我使用的是 Mac OS,可以使用命令通过终端和 ssh 成功连接到主机

ssh -i ~/full/path/to/private_key name@ip
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用远程 SSH“连接到主机”在 Visual Studio Code 中使用完全相同的命令时,它返回“无法建立与“ip”的连接:权限被拒绝(公钥)”。

如何修复它?我尝试将本地公钥添加到主机上的authorized_keys中,但没有帮助。

ssh visual-studio-code vscode-remote-ssh

5
推荐指数
1
解决办法
5681
查看次数

vscode 服务器断开连接后无法关闭

在过去的几周里,我的团队一直非常成功地使用 VS Code Remote。我们的设置是此版本的大幅修改版本,它使用 AWS EC2 实例作为远程服务器。

\n

为了降低成本,每台服务器都设置为在不活动 30 分钟后关闭(其中 \xe2\x80\x9cinactivity\xe2\x80\x9d 定义为 \xe2\x80\x9cpgrep无法检测到任何应该使系统保持活动状态的特定进程\xe2\x80\x9d)。不活动检查之一是

\n
pgrep -f .vscode-server/bin/\n
Run Code Online (Sandbox Code Playgroud)\n

这在我们 5 个开发者系统中的 4 个上效果很好。在开发人员关闭最后一个远程窗口后的几分钟内,所有服务器端 VS Code 进程都会关闭,30 分钟后远程服务器也会关闭。

\n

5 日,由于某种原因,系统从未通过不活动测试。(请参阅下面的每个开发人员实例的 CPU 利用率图,其中绿线徘徊在接近于零的位置,但从未消失。)ps x显示了许多.vscode-server/bin/显示了在用户断开其 VS Code UI 后长时间运行的我很乐意在这里发布一些经过编辑的进程信息,但是命令行太长了,很难分辨哪些信息是相关的。

\n

我可以查找哪些设置或命令行信息来找出是什么阻止了 VS Code Server 的这一实例在断开连接后正常退出?

\n

远程服务器 CPU 利用率图

\n

vscode-remote vscode-remote-ssh

5
推荐指数
0
解决办法
611
查看次数

如何使用命令行直接打开远程 vscode 工作区?

目前,文件中给出以下 SSH 配置~/.ssh/config

\n
Host cdd\n    User TKTK\n    HostName TKTK\n    IdentityFile ~/.ssh/id_rsa\n    CertificateFile ~/.ssh/id_rsa-cert.pub\n
Run Code Online (Sandbox Code Playgroud)\n

我可以使用 VSCode CLI 打开任何$folder,使用:

\n
code --folder-uri "vscode-remote://ssh-remote+cdd/$folder"\n
Run Code Online (Sandbox Code Playgroud)\n

我的客户端 VSCode 版本在 M1 Mac 上运行。

\n
\xe2\x9d\xaf code --version\n1.74.0\n5235c6bb189b60b01b1f49062f4ffa42384f8c91\narm64\n
Run Code Online (Sandbox Code Playgroud)\n

当我执行此操作时,它会打开文件夹并显示工作区文件,而不是直接打开 VSCode 工作区本身。然后,无论是自动,还是在单击“打开工作区”后,整个窗口都会重新启动,并且工作区实际上会打开。

\n

请注意,我没有使用开发容器,我只是使用VSCode Remote SSH

\n

打开工作区文件而不是打开工作区本身的示例

\n

如何直接从 CLI 打开远程 VSCode 工作区而不重新加载整个窗口?

\n

visual-studio-code vscode-remote vscode-remote-ssh

2
推荐指数
1
解决办法
3122
查看次数