如何解决使用远程 ssh 在 VS Code 中设置全局环境变量
我需要使用安装在 Windows 10 上的 VS Code 并在 RHEL 7.x 上使用扩展名 Remote - SSH 运行它。
默认的 RHEL 7.x 与 git 1.8.x 一起运行。我安装了较新的 git 版本,但这不在默认的 $PATH 环境中。
我发现这个说明 https://code.visualstudio.com/docs/remote/wsl#_advanced-environment-setup-script 描述了如何在使用 WSL 时专门为 VS Code 设置环境变量。
如果你想运行额外的命令或修改环境,这可以在设置脚本中完成 ~/.vscode-server/server-env-setup
这似乎只有在您使用 WSL 时才有效。为什么这不适用于 Remote - SSH extension?
我的特殊情况是,在使用 VS Code 时,我只想要并需要 git>=2。当我通过 ssh 定期连接时,我希望并需要操作系统默认工具和设置。
这给了我一个特殊的要求,即我不想编辑 ~/.bashrc
、~/.cshrc
或任何其他用户环境文件。
我希望只能为 VS Code 编辑环境。某种类型,也许像:
#!/bin/bash
export PATH=/opt/rh/rh-git29/root/usr/bin\:$PATH
export LD_LIBRARY_PATH=/opt/rh/httpd24/root/usr/lib64:$LD_LIBRARY_PATH
...
#!/bin/csh
setenv PATH /opt/rh/rh-git29/root/usr/bin\:$PATH
setenv LD_LIBRARY_PATH /opt/rh/httpd24/root/usr/lib64:$LD_LIBRARY_PATH
...
有什么我还没有找到的地方可以提出我的工作请求,或者这是否是对 VS Code 团队的某种请求?
问候。
解决方法
我想我在this issue comment和后续回复中找到了解决方案:
- 当 vscode-server 最初启动时,它使用登录 shell,在您的主目录中获取
.profile
。 - 但是,以下任何通过 VS Code 启动的交互式 shell 都是非登录 shell,因此只有源
.bashrc
- 摆弄这一点的一个复杂问题是 vscode-server 显然在其生命周期内缓存了环境,因此在服务器重新启动之前,对这些点文件的更改不会变得可见。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。