public AddExistingEnvironmentView(
     IServiceProvider serviceProvider,
     ProjectView[] projects,
     ProjectView selectedProject
     ) : base(serviceProvider, projects, selectedProject)
 {
     _logger = Site.GetService(typeof(IPythonToolsLogger)) as IPythonToolsLogger;
     _allGlobalInterpreters = InterpreterView.GetInterpreters(Site, null).ToArray();
     PageName = Strings.AddExistingEnvironmentTabHeader;
     ResetProjectDependentProperties();
 }
Пример #2
0
 protected override void ResetProjectDependentProperties()
 {
     LocationPath               = SelectedProject?.HomeFolder ?? Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
     VirtualEnvName             = GetDefaultEnvName();
     Interpreters               = new ObservableCollection <InterpreterView>(InterpreterView.GetInterpreters(Site, null, true));
     BaseInterpreter            = Interpreters.FirstOrDefault(v => v.Id == SelectedProject?.ActiveInterpreterId) ?? Interpreters.LastOrDefault();
     RequirementsPath           = SelectedProject?.RequirementsTxtPath ?? string.Empty;
     CanInstallRequirementsTxt  = File.Exists(RequirementsPath);
     WillInstallRequirementsTxt = CanInstallRequirementsTxt && WillCreateVirtualEnv;
     SetAsCurrent               = SetAsCurrent && SelectedProject != null;
 }
        protected override void ResetProjectDependentProperties()
        {
            // When there's no project, the only action that is viable is to register a custom environment.
            IEnumerable <InterpreterView> available = SelectedProject != null
                ? InterpreterView.GetInterpreters(Site, SelectedProject?.Node).Where(view => SelectedProject.InterpreterIds.IndexOf(view.Id) < 0)
                : Enumerable.Empty <InterpreterView>();

            var interpreters = new ObservableCollection <InterpreterView>(available);

            interpreters.Insert(0, CustomInterpreter);

            Interpreters = interpreters;

            if (Interpreters.Count > 1)
            {
                SelectedInterpreter = (InterpreterView)Interpreters[1];
            }
            else
            {
                SelectedInterpreter = CustomInterpreter;
            }
        }