public void Init() { LoadOrCreateSettings(); tools = new ObservableCollection <Tool>(); orgUrls = new ObservableCollection <string>(); localRepos = new Dictionary <string, ObservableCollection <Repo> >(); foreach (var repoRoot in Settings.RepoRoots) { try { Repo.AddRepos(orgUrls, localRepos, repoRoot); } catch (Exception e) { MessageBox.Show(e.Message); } } Tools.DataContext = tools; Orgs.DataContext = orgUrls; RepoNames.ItemsSource = null; Repos.ItemsSource = null; //Visual Studio 2019 VSTool.AddTools(tools, Settings.VSRoot); //VS Code VSCodeTool.AddTools(tools, Settings.VSCodeExe); //dotnet sdk DotNetSDKTool.AddTools(tools, Settings.DotnetSDKRoot, "SDK"); //Windows Terminal NuGetFreeTool.AddTools(tools, Settings.WindowsTerminalExe, argument: "-p PowerShell"); //Windows Explorer NuGetFreeTool.AddTools(tools, Settings.ExplorerExe); foreach (var toolExe in Settings.ToolExes) { NuGetFreeTool.AddTools(tools, Environment.ExpandEnvironmentVariables(toolExe)); } foreach (var webUrl in Settings.WebUrls) { Uri uri = new Uri(webUrl); WebTool.AddTools(tools, webUrl, uri.Host, Settings.BrowserExe); } }