Visual Studio For Mac - 如何从终端源填充路径?

Viz*_*onz 1 visual-studio-mac

Visual Studio For Mac 8.7.4(内部版本 38) -netcore 3.1

问题:

是否可以让Visual Studio for Mac使用或PATH中的集合?.zshrc.bash_profile

语境:

我很难理解为什么Environment.GetEnvironmentVariables()在Visual Studio for Mac(全新安装)中返回以下条目PATH:

"/Library/Frameworks/Mono.framework/Commands:/Applications/Visual Studio.app/Contents/Resources:/Applications/Visual Studio.app/Contents/MacOS:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:~/.dotnet/tools:/usr/local/share/dotnet:/usr/local/share/dotnet/"
Run Code Online (Sandbox Code Playgroud)

但是,当我在 JetBrains Rider(全新安装)的同一项目中调试相同的单元测试时,下面的代码PATH从我的终端输出内容。

using System;
using NUnit.Framework;

namespace NunitTesting
{
    public class Tests
    {
        [Test]
        public void EnvironmentTest()
        {
            var envVariables = Environment.GetEnvironmentVariables();
            Console.WriteLine(envVariables);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*ard 7

Visual Studio for Mac 不会运行您的 Bash 配置文件或 zsh 配置文件,因此不会使用其中定义的任何环境变量。

\n

您的选择是:

\n
    \n
  1. 从 Bash 或 zsh 终端运行 Visual Studio for Mac。

    \n

    打开-n“/Applications/Visual Studio.app”

    \n
  2. \n
\n

从终端运行它将使 Visual Studio for Mac 继承终端中定义的环境变量。

\n

然而,这并不理想,因为您无法从 Dock 或使用 Finder 运行 Visual Studio。另一种选择是使用启动代理。

\n
    \n
  1. 创建启动代理。
  2. \n
\n

在例如environment.plist中创建.plist 文件~/Library/LaunchAgents/。

\n

使用.plist文件中的launchctl修改PATH环境变量。

\n
<?xml version=\xe2\x80\x9c1.0\xe2\x80\x9d encoding=\xe2\x80\x9cUTF-8\xe2\x80\x9d?>\n<!DOCTYPE plist PUBLIC \xe2\x80\x9c-//Apple//DTD PLIST 1.0//EN\xe2\x80\x9d \xe2\x80\x9chttps://www.apple.com/DTDs/PropertyList-1.0.dtd\xe2\x80\x9d>\n<plist version=\xe2\x80\x9c1.0\xe2\x80\x9d>\n<dict>\n<key>Label</key>\n<string>my.startup</string>\n<key>ProgramArguments</key>\n<array>\n<string>sh</string>\n<string>-c</string>\n<string>launchctl setenv PATH /Volumes/YourDrive/YourPath</string>\n</array>\n<key>RunAtLoad</key>\n<true/>\n</dict>\n</plist>\n
Run Code Online (Sandbox Code Playgroud)\n

https://apple.stackexchange.com/questions/51677/how-to-set-path-for-finder-launched-applications

\n