我在Windows上运行并使用过。出于简单性的考虑,我一直使用 HTTPS 访问 Github,这似乎是在 VS Code 中旋转开发容器时自行共享和设置的。凭据是共享的,按照https://code.visualstudio.com/docs/remote/containers#_sharing-git-credentials-with-your-container。
最近,我开始使用 Terraform 运行项目,由于某些原因,我只能使用类似 SSH 的 URL 引用托管在 Github 上的一些内部模块。
我花了很长时间尝试在开发容器上用 HTTPS 设置替换 SSH,但没有取得太大成功。
最初
在我本地:
$ 猫.ssh/config
Host github.com
AddKeysToAgent yes
IdentityFile ~/.ssh/github
ForwardAgent Yes
Run Code Online (Sandbox Code Playgroud)
我检查了一下,代理确实正在运行。当检查我的本地和开发容器上的“$SSH_AUTH_SOCK”时,它们指向不同的代理。
如何让该开发容器使用正在运行且具有我的 github 密钥的转发的本地主机代理?
我在 Windows 7 上使用 Visual Studio Code,以及 Microsoft 的远程 SSH 扩展。我添加了新的远程主机,并将配置保存在 ssh_config 文件中。
当我打开该文件,一切正常,这两个User和Host值。但是,当扩展要求我输入密码时,我可以看到它没有使用 myuser@myremotehost.com ,这些值写在 ssh_config 文件中,而是使用正确的主机,但它也使用我的 Windows 用户名而不是我的用户名在 ssh_config 文件中设置。
有什么解决办法吗?
我已经使用VSCode 远程容器插件有一段时间了,没有出现任何问题。但是今天,当我尝试打开我的项目时,远程容器无法打开,并出现以下错误:
Command failed: docker exec -w /home/vscode/.vscode-server/bin/9833dd88 24d0faab /bin/sh -c echo 34503 >.devport
rejected promise not handled within 1 second: Error: ENOSPC: no space left on device, mkdir '/home/vscode/.vscode-server/data/logs/20191209T160810
Run Code Online (Sandbox Code Playgroud)
看起来容器的磁盘空间不足,但我不知道如何添加更多空间。
经过进一步检查,我有点困惑。df当我从容器中运行时,它显示我已使用60G磁盘空间,但根目录的大小仅为 ~ 9G。
$ df
Filesystem Size Used Avail Use% Mounted on
overlay 63G 61G 0 100% /
tmpfs 64M 0 64M 0% /dev
tmpfs 7.4G 0 7.4G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/sda1 63G 61G 0 100% /etc/hosts …Run Code Online (Sandbox Code Playgroud) 使用远程开发扩展包,Visual Studio Code 能够打开在当前系统上运行的 Docker 容器,并在使用 SSH 连接的远程主机上打开文件夹。
如果有一个 Docker 容器在远程 SSH 主机上运行,VSCode 如何打开这个容器中的文件/文件夹?
VS Code 允许在远程机器上使用源代码和源代码执行的本地开发体验:https : //code.visualstudio.com/docs/remote/remote-overview
是否有与 IntelliJ 一起使用的类似工具?VSCode 扩展包不需要在本地挂载来自远程源的文件。它实际上在远程机器上的幕后运行一个服务器,并一次处理一个文件,因为您需要将它们访问到运行在本地计算机上的 IDE。
我的设置是带有开发容器的 VS Code。当我启动一个生成类似于 URL 的输出的应用程序时,VS Code 将提取端口号并自动转发该端口。此处详细描述了此过程。
我的问题有两个:
自动转发端口有什么好处?
如何有效防止 VS Code 自动转发任意端口?
我考虑和测试的解决方案包括使用以下设置:
{
// Prevent VS Code's automatic port forwarding
"remote.autoForwardPorts": false,
"remote.restoreForwardedPorts": false,
"remote.portsAttributes": {
"1-65000": {
"label": "Application",
"onAutoForward": "ignore"
}
},
}
Run Code Online (Sandbox Code Playgroud)
我已经在用户级别、开发容器级别(也称为远程)和工作区级别尝试了这些设置。此外,我也尝试过这些设置devcontainer.json。我还重建了开发容器以确保应用设置。
然而,我在这方面运气并不好。VS Code 会自动转发端口。我正在寻找持久的解决方案。
I am not able to save any files on my remote server with VSCode Remote SSH because I am not a root user.
I've followed the official documentation about how to set up ssh with SSH config file but even if my user as sudo privileges, I can't find any options in VSCode to save with sudo.
here is my SSH config file /Users/geoff/.ssh/config:
Host gcpmain
User geoff
HostName <IP_ADDRESS>
IdentityFile ~/.ssh/gc_rsa
Run Code Online (Sandbox Code Playgroud)
Obviously, when I try to save any …
我正在一个没有直接互联网连接的网络中工作。
我的台式电脑上有 VS Code,并使用“远程 - SSH”扩展(版本 0.55)在 Linux VM 上进行开发。它运作得很好。
我有时需要在桌面 VS Code(使用 VS Code 可以轻松完成code --install-extension <path-to-vsix>)和“远程 - SSH”服务器的 Linux 端安装其他扩展。
我的问题是“在这种情况下,如何正确地将扩展安装到Linux服务器中?”
我将描述我所做的事情,有时部分有效,但我已经使用此过程来升级扩展和丢失的功能(例如输出的着色),因此肯定缺少一些东西。我想知道缺少的步骤。
cd /tmp
mkdir cmaketools && cd cmaketools
7z x -tzip ~/.vscode-server/data/CachedExtensionVSIXs/ms-vscode.cmake-tools-1.4.2
cd ~/.vscode-server/extensions/
mv /tmp/cmaketools/extension ms-vscode.cmake-tools-1.4.2
cd ms-vscode.cmake-tools-1.4.2/
cp /tmp/cmaketools/extension.vsixmanifest .vsixmanifest
Run Code Online (Sandbox Code Playgroud) 我正在笔记本电脑 (Linux) 上使用 VSCode 远程 SSH 来处理驻留在 Linux 主机上的项目。
如果我在 VSCode 中打开内部终端,我可以通过执行以下操作从主机打开文件code some_file.txt。我经常希望能够在并非源自 VSCode 的终端上执行相同的操作。
连接到标准(非 VSCode 内部)终端时是否可以打开 VSCode 服务器中的文件?
我已经搜索了一段时间来寻找一个好的解决方案,但似乎没有很多其他人具有与我相同的设置。
我的设置包括一台低规格笔记本电脑 (Surface pro 3) 和一台运行 ProxMox 的服务器计算机(规格更高)(这是我的 Ubuntu 22.04 开发虚拟机所在的位置)。
我想要实现的是使用 VS Code 远程开发在服务器上使用远程开发来开发 Flutter 应用程序,同时在我的 Surface 上查看应用程序的输出。仅我的 Surface 还不够强大,无法很好地运行 Android 模拟器,因此如果服务器能够处理繁重的工作并将视觉输出转发到我的 Surface,那就太棒了。有谁知道这怎么可能?
我目前取得的唯一成功是将 Flutter 应用程序作为 Web 服务器运行,然后使用 Dart 调试扩展通过 Chrome 访问实例。但这并不是很理想。我的一部分认为我可能必须使用物理 Android 设备并将 ADB 转发给它或其他东西,但我不确定这是否是最佳选择。
我将不胜感激任何帮助,谢谢。