当我尝试从 WSL 执行代码时,如下所示:
cmd.exe
wsl code .
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/bin/bash: code: command not found
Run Code Online (Sandbox Code Playgroud)
但是,如果我执行相同的命令但首先以管理员身份运行 cmd.exe,vscode 会按预期打开。
问题是为什么当我以非管理员身份运行时无法识别“代码”,我该如何解决?
附加信息:WSL2 版本 41959 vscode 版本 1.38 vscode 远程 WSL 扩展版本 0.39.5
visual-studio-code windows-subsystem-for-linux vscode-remote
我有一个创建多个 Docker 映像的项目。我想在 vscode-remote 中为每个图像设置一个 devcontainer,以便我可以为每个图像启动一个容器。
我一次只需要启动并连接到一个容器/图像。
是否支持拥有多个 devcontainer 文件?也许像.devcontainer/devcontainer1.json和 .devcontainer/devcontainer2.json(假设我只有两个想要使用的图像)?
每个 devcontainer 将使用不同名称的图像,并且还需要不同的runArgs.
我经常通过打开 Visual Studio Code code .,然后必须单击在容器中重新打开按钮。
我是否缺少强制它从命令行执行此操作的任何快捷方式?
我正在使用VS Code并安装了Remote Development扩展程序。我devcontainer为我的 Angular 应用程序创建了一个。到目前为止,一切正常。该Dockerfile和devcontainer.json文件是非常简单的:
Dockerfile:
FROM mcr.microsoft.com/vscode/devcontainers/typescript-node:0-12
Run Code Online (Sandbox Code Playgroud)
devcontainer.json:
{
"name": "Angular App",
"dockerFile": "Dockerfile",
"settings": {
"git.path": "/usr/bin/git",
"terminal.integrated.shell.linux": "/bin/bash"
},
"extensions": [
"angular.ng-template",
"natewallace.angular2-inline",
"dbaeumer.vscode-eslint"
],
"forwardPorts": [4200, 9876],
"mounts": [ ],
"remoteEnv": { },
"postCreateCommand": "yarn install",
}
Run Code Online (Sandbox Code Playgroud)
在我的容器之外,我的 git 路径位于C:\Program Files\...目录中。在我的容器中,git 路径是/usr/bin/git,这就是我设置"git.path"属性的原因,我通过使用which git容器内的命令验证了这一点。当然,任何 git 命令都不起作用,因为它们总是会导致错误。
致命:无法 chdir 到“C:/Workspace/my-angular-app”:没有这样的文件或目录
我总是可以使用该Remote-Containers: Reopen Locally命令,一旦我回到 Windows(容器外),我的源代码控制就会亮起我所有的差异,并且 git 工作得很好。但是,如果有办法让 git …
我正在使用 macbook(MacOS) 连接到远程 Ubuntu 服务器。我将公共 ssh 密钥复制到服务器,ssh-copy-id并检查了 ssh 密钥在终端上是否有效。当我这样做时ssh username@x.x.x.x,无需输入密码即可建立连接)。但是,当我尝试通过 Visual Studio Code 连接到服务器时,VSCode 不断要求输入密码。有没有办法来解决这个问题?
提前致谢!
在“VS Code远程开发”中启动附加容器时,是否有人找到了在启动vscode集成终端时更改容器外壳的方法。
它似乎运行类似的东西。
docker exec -it <containername> /bin/bash
Run Code Online (Sandbox Code Playgroud)
我正在寻找相当于
docker exec -it <containername> /bin/zsh
Run Code Online (Sandbox Code Playgroud)
我发现的附加容器的唯一设置是
"remote.containers.defaultExtensions": []
Run Code Online (Sandbox Code Playgroud) 在VSCode 用于构建开发映像的.devcontainer目录中,例如这里的Python 3 目录,它们始终具有一个Docker文件和一个base.Docker文件。Docker文件和devcontainer.json文件都没有引用base.Docker文件。它是做什么用的?
我有一个应用程序(sveltekit)在里面运行,并且想从本地网络上的其他设备访问它。
我可以从 localhost:3000 上的主机正常访问它。
我想以某种方式从本地网络上的另一台机器访问它。这可能吗?Sveltekit cli有 --host 标志,它输出以下内容:
$ svelte-kit dev --host
local: http://localhost:3000
network: http://172.17.0.3:3000
Run Code Online (Sandbox Code Playgroud)
如何从本地网络上的不同设备访问该网络 URL?
OS: Pop OS
VSCode: 1.63.0
Docker: Latest stable version.
Run Code Online (Sandbox Code Playgroud)
networking docker visual-studio-code vscode-remote sveltekit
我正在尝试远程调试使用clusters 的NodeJs 应用程序。当我在本地运行我的应用程序并附加到它时,VS Code 会看到子进程和断点工作:
VS 代码配置:
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 50131,
"internalConsoleOptions": "neverOpen",
"skipFiles": ["<node_internals>/**"],
"autoAttachChildProcesses": true
},
Run Code Online (Sandbox Code Playgroud)
VS 代码结果:
但是,在远程主机中,进程以相同的方式启动,相同的端口,我可以将调试器附加到它,但是 VS Code 看不到子进程和源映射(将本地文件断点连接到远程,在调试配置中我有正确的主机地址):
所以本地 env 和远程之间的区别是 Windows 与 Unix,并且在远程应用程序中是通过 Forever 运行的(但是,即使是 Forever 模块,没有集群远程调试工作正常)。
哪里会出问题?
编辑:我无法在我的组织中使用 SSH 调试。
我有一个可以在容器内的虚拟机中远程工作的设置,并且我已经使用这些设置几个月了。我按照本指南设置了我的客户端环境。
今天,当我移除容器时,它断开了连接(因为我正在构建一个新容器),从那一刻起我就无法连接到工作。我接通后立即断开连接。我尝试了几件事
docker system prune(客户端和服务器)容器正在工作,问题是我经常与容器断开与 VSCode 的连接
在日志中我可以读到
[23918 ms] Start: Run in container: set -o noclobber ; mkdir -p '/home/root/.vscode-server/data/Machine' && { > '/home/root/.vscode-server/data/Machine/.installExtensionsMarker' ; } 2> /dev/null
[24517 ms]
[24517 ms]
[24517 ms] Exit code 1
[24518 ms] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink -f /proc/$pid/cwd ; xargs -0 < /proc/$pid/environ …Run Code Online (Sandbox Code Playgroud) vscode-remote ×10
docker ×4
containers ×1
dockerfile ×1
git ×1
networking ×1
node.js ×1
ssh ×1
ssh-keys ×1
sveltekit ×1