public UnityHlslAllErrorsPredicate(Lifetime lifetime, ISolution solution, UnitySolutionTracker unitySolutionTracker, ISettingsStore settingsStore) { myUnitySolutionTracker = unitySolutionTracker; mySuppressShaderErrors = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())) .GetValueProperty(lifetime, (UnitySettings key) => key.SuppressShaderErrorHighlighting); mySuppressShaderErrorsInRenderPipeline = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())) .GetValueProperty(lifetime, (UnitySettings key) => key.SuppressShaderErrorHighlightingInRenderPipelinePackages); }
public UnityYamlDisableStrategy(Lifetime lifetime, ISolution solution, ISettingsStore settingsStore, UnityYamlSupport unityYamlSupport) { myUnityYamlSupport = unityYamlSupport; var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext())); myShouldRunHeuristic = boundStore.GetValueProperty(lifetime, (UnitySettings s) => s.ShouldApplyYamlHugeFileHeuristic); }
public LtgConfigWatcher(Lifetime lifetime, ISettingsStore settingsStore) { _boundSettings = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide); _filepath = _boundSettings.GetValueProperty <string>(lifetime, _boundSettings.Schema.GetScalarEntry((ZenSharpSettings s) => s.TreeFilename), null); _filepath.Change.Advise_HasNew(lifetime, v => Initialize(v.New)); }
public UnitySettingsSynchronizer(Lifetime lifetime, ISolution solution, UnityHost host, ISettingsStore settingsStore) { var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); var entry = boundStore.Schema.GetScalarEntry((UnitySettings s) => s.EnableShaderLabHippieCompletion); boundStore.GetValueProperty <bool>(lifetime, entry, null).Change.Advise_HasNew(lifetime, args => { solution.Locks.ExecuteOrQueueEx(lifetime, "EnableShaderLabHippieCompletion", () => host.PerformModelAction(rd => rd.EnableShaderLabHippieCompletion.Value = args.New)); }); var useYamlMergeSetting = boundStore.Schema.GetScalarEntry((UnitySettings s) => s.UseUnityYamlMerge); boundStore.GetValueProperty <bool>(lifetime, useYamlMergeSetting, null).Change.Advise_HasNew(lifetime, args => { solution.Locks.ExecuteOrQueueEx(lifetime, "UseUnityYamlMerge", () => host.PerformModelAction(rd => rd.UseUnityYamlMerge.Value = args.New)); }); var mergeParametersSetting = boundStore.Schema.GetScalarEntry((UnitySettings s) => s.MergeParameters); boundStore.GetValueProperty <string>(lifetime, mergeParametersSetting, null).Change.Advise_HasNew(lifetime, args => { solution.Locks.ExecuteOrQueueEx(lifetime, "MergeParameters", () => host.PerformModelAction(rd => rd.MergeParameters.Value = args.New)); }); }
public PrefabImportCache(Lifetime lifetime, ISolution solution, ISettingsStore store, MetaFileGuidCache metaFileGuidCache, UnityExternalFilesModuleFactory unityExternalFilesModuleFactory, IShellLocks shellLocks) { myMetaFileGuidCache = metaFileGuidCache; myShellLocks = shellLocks; metaFileGuidCache.GuidChanged.Advise(lifetime, e => { myShellLocks.AssertWriteAccessAllowed(); var set = new HashSet <Guid>(); if (e.oldGuid != null) { InvalidateImportCache(e.oldGuid.Value, set); } if (e.newGuid != null) { InvalidateImportCache(e.newGuid.Value, set); } }); myUnityExternalFilesPsiModule = unityExternalFilesModuleFactory.PsiModule; var boundSettingsStoreLive = store.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); myCacheEnabled = boundSettingsStoreLive.GetValueProperty(lifetime, (UnitySettings key) => key.IsPrefabCacheEnabled); }
public UnityPluginInstaller( Lifetime lifetime, ILogger logger, ISolution solution, IShellLocks shellLocks, UnityPluginDetector detector, RdNotificationsModel notifications, ISettingsStore settingsStore, PluginPathsProvider pluginPathsProvider, UnityVersionDetector unityVersionDetector) { myPluginInstallations = new JetHashSet <FileSystemPath>(); myLifetime = lifetime; myLogger = logger; mySolution = solution; myShellLocks = shellLocks; myDetector = detector; myNotifications = notifications; myPluginPathsProvider = pluginPathsProvider; myUnityVersionDetector = unityVersionDetector; myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); myQueue = new ProcessingQueue(myShellLocks, myLifetime); }
public UnityPluginInstaller( Lifetime lifetime, ILogger logger, ISolution solution, IShellLocks shellLocks, UnityPluginDetector detector, RdNotificationsModel notifications, ISettingsStore settingsStore, ApplicationPackages applicationPackages, ApplicationPackagesLocallyInstalled applicationPackagesLocallyInstalled, IEnumerable <ApplicationPackageArtifact> packages, IDeployedPackagesExpandLocationResolver resolver) { myPluginInstallations = new JetHashSet <FileSystemPath>(); myLifetime = lifetime; myLogger = logger; mySolution = solution; myShellLocks = shellLocks; myDetector = detector; myNotifications = notifications; myApplicationPackages = applicationPackages; myApplicationPackagesLocallyInstalled = applicationPackagesLocallyInstalled; myPackages = packages; myResolver = resolver; myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); myQueue = new ProcessingQueue(myShellLocks, myLifetime); }
public YamlSupport(Lifetime lifetime, ISettingsStore settingsStore) { // We can't use IApplicationWideContextBoundSettingsStore here because this a ShellComponent, because it's used // in UnityYamlProjectFileLanguageService // Keep a live context so that we'll get new mount points, e.g. Solution IsParsingEnabled = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide) .GetValueProperty(lifetime, (YamlSettings s) => s.EnableYamlParsing2); }
public UnityEditorProtocol(Lifetime lifetime, ILogger logger, UnityHost host, IScheduler dispatcher, IShellLocks locks, ISolution solution, PluginPathsProvider pluginPathsProvider, ISettingsStore settingsStore, JetBrains.Application.ActivityTrackingNew.UsageStatistics usageStatistics, UnitySolutionTracker unitySolutionTracker, IThreading threading) { myComponentLifetime = lifetime; myLogger = logger; myDispatcher = dispatcher; myLocks = locks; mySolution = solution; myPluginPathsProvider = pluginPathsProvider; myUsageStatistics = usageStatistics; myThreading = threading; myHost = host; myBoundSettingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); mySessionLifetimes = new SequentialLifetimes(lifetime); if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null) { return; } unitySolutionTracker.IsUnityProject.View(lifetime, (lf, args) => { if (!args) { return; } var solFolder = mySolution.SolutionFilePath.Directory; AdviseModelData(lifetime); // todo: consider non-Unity Solution with Unity-generated projects var protocolInstancePath = solFolder.Combine("Library/ProtocolInstance.json"); protocolInstancePath.Directory.CreateDirectory(); var watcher = new FileSystemWatcher(); watcher.Path = protocolInstancePath.Directory.FullPath; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite; //Watch for changes in LastAccess and LastWrite times watcher.Filter = protocolInstancePath.Name; // Add event handlers. watcher.Changed += OnChanged; watcher.Created += OnChanged; lf.Bracket(() => { }, () => { watcher.Dispose(); }); watcher.EnableRaisingEvents = true; // Begin watching. // connect on start of Rider CreateProtocols(protocolInstancePath); }); }
public UnitySettingsSynchronizer( Lifetime lifetime, ISolution solution, UnityHost host, ISettingsStore settingsStore) { myLifetime = lifetime; myHost = host; myBoundStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); }
public UnitySettingsSynchronizer( Lifetime lifetime, ISolution solution, SolutionModel solutionModel, ISettingsStore settingsStore) { myLifetime = lifetime; mySolutionModel = solutionModel; myBoundStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); }
public UnityEditorProtocol(Lifetime lifetime, ILogger logger, UnityHost host, IScheduler dispatcher, IShellLocks locks, ISolution solution, PluginPathsProvider pluginPathsProvider, ISettingsStore settingsStore, Application.ActivityTrackingNew.UsageStatistics usageStatistics, UnitySolutionTracker unitySolutionTracker) { myComponentLifetime = lifetime; myLogger = logger; myDispatcher = dispatcher; myLocks = locks; mySolution = solution; myPluginPathsProvider = pluginPathsProvider; myUsageStatistics = usageStatistics; myHost = host; myBoundSettingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); mySessionLifetimes = new SequentialLifetimes(lifetime); myUnityModel = new Property <EditorPluginModel>(lifetime, "unityModelProperty", null) .EnsureReadonly(myReadonlyToken).EnsureThisThread(); if (!unitySolutionTracker.IsAbleToEstablishProtocolConnectionWithUnity.Value) { return; } if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null) { return; } var solFolder = mySolution.SolutionFilePath.Directory; AdviseModelData(lifetime, mySolution.GetProtocolSolution()); // todo: consider non-Unity Solution with Unity-generated projects var protocolInstancePath = solFolder.Combine("Library/ProtocolInstance.json"); protocolInstancePath.Directory.CreateDirectory(); var watcher = new FileSystemWatcher(); watcher.Path = protocolInstancePath.Directory.FullPath; watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite; //Watch for changes in LastAccess and LastWrite times watcher.Filter = protocolInstancePath.Name; // Add event handlers. watcher.Changed += OnChanged; watcher.Created += OnChanged; watcher.EnableRaisingEvents = true; // Begin watching. // connect on start of Rider CreateProtocols(protocolInstancePath); }
public UnitySettingsSynchronizer(Lifetime lifetime, ISolution solution, UnityHost host, ISettingsStore settingsStore) { var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); var entry = boundStore.Schema.GetScalarEntry((UnitySettings s) => s.EnableShaderLabHippieCompletion); boundStore.GetValueProperty<bool>(lifetime, entry, null).Change.Advise(lifetime, args => { if (args.HasNew) host.PerformModelAction(rd => rd.EnableShaderLabHippieCompletion.Value = args.New); }); }
public ClassUsageTextStyleProvider(Lifetime lifetime, IThreading threading, IHighlighterCustomization highlighterCustomization, DefaultTextControlSchemeManager textControlSchemeManager, HighlightingSettingsManager highlightingSettingsManager, ISettingsStore settingsStore) { this.threading = threading; this.highlighterCustomization = highlighterCustomization; this.highlightingSettingsManager = highlightingSettingsManager; this.settingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide); textControlSchemeManager.ColorsChanged.Advise(lifetime, Refresh); }
public CgSupportSettings(Lifetime lifetime, ISettingsStore settingsStore, RunsProducts.ProductConfigurations productConfigurations) { var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide); IsErrorHighlightingEnabled = boundStore.GetValueProperty(lifetime, (UnitySettings s) => s.EnableCgErrorHighlighting); if (!productConfigurations.IsInternalMode()) { IsErrorHighlightingEnabled.SetValue(lifetime, false); } }
public UnityPluginInstaller( Lifetime lifetime, ILogger logger, ISolution solution, IShellLocks shellLocks, UnityPluginDetector detector, NotificationsModel notifications, ISettingsStore settingsStore, PluginPathsProvider pluginPathsProvider, UnityVersion unityVersion, UnityHost unityHost, UnitySolutionTracker unitySolutionTracker, UnityRefresher refresher) { myPluginInstallations = new JetHashSet <FileSystemPath>(); myLifetime = lifetime; myLogger = logger; mySolution = solution; myShellLocks = shellLocks; myDetector = detector; myNotifications = notifications; myPluginPathsProvider = pluginPathsProvider; myUnityVersion = unityVersion; myUnitySolutionTracker = unitySolutionTracker; myRefresher = refresher; myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); myQueue = new ProcessingQueue(myShellLocks, myLifetime); unityHost.PerformModelAction(rdUnityModel => { rdUnityModel.InstallEditorPlugin.AdviseNotNull(lifetime, x => { myShellLocks.ExecuteOrQueueReadLockEx(myLifetime, "UnityPluginInstaller.InstallEditorPlugin", () => { var installationInfo = myDetector.GetInstallationInfo(myCurrentVersion); QueueInstall(installationInfo, true); }); }); }); unitySolutionTracker.IsUnityProjectFolder.AdviseOnce(lifetime, args => { if (!args) { return; } myShellLocks.ExecuteOrQueueReadLockEx(myLifetime, "IsAbleToEstablishProtocolConnectionWithUnity", InstallPluginIfRequired); BindToInstallationSettingChange(); }); }
public OptionsPageViewModel(Lifetime lifetime, ISettingsStore settingsStore) { Text = new Property <string>(lifetime, "OptionsExampleViewModel.Text"); var checkMeOption = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide) .GetValueProperty(lifetime, (MySettingsKey key) => key.CheckMe); checkMeOption.Change.Advise_HasNew(lifetime, v => { Text.Value = v.New ? "checked" : "not checked"; }); }
public UiMinimizerSettings(Lifetime lifetime, ISolution solution, ISettingsStore settingsStore) { if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null) { return; } var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide); var hideSolutionConfiguration = boundStore.GetValueProperty(lifetime, (UnitySettings s) => s.HideSolutionConfiguration); var rdUnityModel = solution.GetProtocolSolution().GetRdUnityModel(); BindRdPropertyToProperty(lifetime, rdUnityModel.HideSolutionConfiguration, hideSolutionConfiguration); }
public AwsSettingsHost(Lifetime lifetime, [NotNull] ISolution solution, [NotNull] ISettingsStore settingsStore) { var model = solution.GetProtocolSolution().GetAwsSettingModel(); var contextBoundSettingsStoreLive = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); model.ShowLambdaGutterMarks.Advise(lifetime, isEnabled => { var entry = settingsStore.Schema.GetScalarEntry((LambdaGutterMarkSettings s) => s.Enabled); contextBoundSettingsStoreLive.SetValue(entry, isEnabled, null); solution.GetComponent <DaemonImpl>().Invalidate(); }); }
public ReflectedReferenceProviderValidator(Lifetime lifetime, IShellLocks shellLocks, ChangeManager changeManager, ISettingsStore settingsStore, ISolution solution) { var providerValidator = this; changeManager.Changed2.Advise(lifetime, Handler(solution, providerValidator)); settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())) .GetValueProperty<MvcCustomReferencesSettings, bool>(lifetime, mvcSettings => mvcSettings.Enabled) .Change.Advise_NoAcknowledgement(lifetime, () => { if (lifetime.IsTerminated) return; shellLocks.ExecuteOrQueueReadLockEx(lifetime, "ReflectedReferenceProviderValidator", () => shellLocks.ExecuteWithWriteLock(providerValidator.FireOnChanged)); }); }
public UnityRefresher(IShellLocks locks, Lifetime lifetime, ISolution solution, UnityEditorProtocol pluginProtocolController, ISettingsStore settingsStore) { myLocks = locks; myLifetime = lifetime; mySolution = solution; myPluginProtocolController = pluginProtocolController; if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null) { return; } myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); myPluginProtocolController.Refresh.Advise(lifetime, Refresh); }
public UnityRefresher(IShellLocks locks, Lifetime lifetime, ISolution solution, UnityEditorProtocol editorProtocol, ISettingsStore settingsStore, ILogger logger) { myLocks = locks; myLifetime = lifetime; mySolution = solution; myEditorProtocol = editorProtocol; myLogger = logger; if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null) { return; } myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); }
public UnityEditorProtocol(Lifetime lifetime, ILogger logger, UnityHost host, IScheduler dispatcher, IShellLocks locks, ISolution solution, ISettingsStore settingsStore, JetBrains.Application.ActivityTrackingNew.UsageStatistics usageStatistics, UnitySolutionTracker unitySolutionTracker, IThreading threading, UnityVersion unityVersion, NotificationsModel notificationsModel, IHostProductInfo hostProductInfo, IFileSystemTracker fileSystemTracker) { myPluginInstallations = new JetHashSet <FileSystemPath>(); myComponentLifetime = lifetime; myLogger = logger; myDispatcher = dispatcher; myLocks = locks; mySolution = solution; myUsageStatistics = usageStatistics; myThreading = threading; myUnityVersion = unityVersion; myNotificationsModel = notificationsModel; myHostProductInfo = hostProductInfo; myHost = host; myBoundSettingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.Smart(solution.ToDataContext())); mySessionLifetimes = new SequentialLifetimes(lifetime); if (solution.GetData(ProjectModelExtensions.ProtocolSolutionKey) == null) { return; } unitySolutionTracker.IsUnityProject.View(lifetime, (lf, args) => { if (!args) { return; } var solFolder = mySolution.SolutionDirectory; AdviseModelData(lifetime); // todo: consider non-Unity Solution with Unity-generated projects var protocolInstancePath = solFolder.Combine("Library/ProtocolInstance.json"); fileSystemTracker.AdviseFileChanges(lf, protocolInstancePath, OnChangeAction); // connect on start of Rider CreateProtocols(protocolInstancePath); }); }
public TestCache(Lifetime lifetime, ISolution solution, IUnitTestingSettingsAccessor settingsAccessor, IShellLocks shellLocks, IPsiConfiguration psiConfiguration, ISettingsStore settingsStore, KarmaTestProvider testProvider, JasmineElementFactory jasmineFactory, IPersistentIndexManager persistentIndexManager, IJavaScriptDependencyManager javaScriptDependencyManager) { _lifetime = lifetime; _solution = solution; _settingsAccessor = settingsAccessor; _shellLocks = shellLocks; _psiConfiguration = psiConfiguration; _testProvider = testProvider; myJasmineFactory = jasmineFactory; _persistentIndexManager = persistentIndexManager; _javaScriptDependencyManager = javaScriptDependencyManager; _settingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext()), BindToContextFlags.Normal); _settingsStore.Changed.Advise(lifetime, OnSettingsChange); Active = new Property<bool>(lifetime, "KarmaTestCache", true); }
public TestCache(Lifetime lifetime, ISolution solution, IUnitTestingSettingsAccessor settingsAccessor, IShellLocks shellLocks, IPsiConfiguration psiConfiguration, ISettingsStore settingsStore, KarmaTestProvider testProvider, JasmineElementFactory jasmineFactory, IPersistentIndexManager persistentIndexManager, IJavaScriptDependencyManager javaScriptDependencyManager) { _lifetime = lifetime; _solution = solution; _settingsAccessor = settingsAccessor; _shellLocks = shellLocks; _psiConfiguration = psiConfiguration; _testProvider = testProvider; myJasmineFactory = jasmineFactory; _persistentIndexManager = persistentIndexManager; _javaScriptDependencyManager = javaScriptDependencyManager; _settingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext()), BindToContextFlags.Normal); _settingsStore.Changed.Advise(lifetime, OnSettingsChange); Active = new Property <bool>(lifetime, "KarmaTestCache", true); }
public UnrealPluginInstaller(Lifetime lifetime, ILogger logger, UnrealPluginDetector pluginDetector, PluginPathsProvider pathsProvider, ISolution solution, ISettingsStore settingsStore, IShellLocks shellLocks, UnrealHost unrealHost) { myLifetime = lifetime; myLogger = logger; myPathsProvider = pathsProvider; myShellLocks = shellLocks; myUnrealHost = unrealHost; myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); myPluginDetector = pluginDetector; myPluginDetector.InstallInfoProperty.Change.Advise_NewNotNull(myLifetime, installInfo => { myShellLocks.ExecuteOrQueueReadLockEx(myLifetime, "UnrealPluginInstaller.CheckAllProjectsIfAutoInstallEnabled", () => { var unrealPluginInstallInfo = installInfo.New; if (unrealPluginInstallInfo.EnginePlugin.IsPluginAvailable) { // TODO: add install plugin to Engine } ; if (!myBoundSettingsStore.GetValue((UnrealLinkSettings s) => s.InstallRiderLinkPlugin)) { foreach (var installDescription in unrealPluginInstallInfo.ProjectPlugins) { if (installDescription.IsPluginAvailable == false || installDescription.PluginVersion != myPathsProvider.CurrentPluginVersion) { myUnrealHost.PerformModelAction(model => model.OnEditorModelOutOfSync()); } } return; } InstallPluginIfRequired(unrealPluginInstallInfo); }); }); BindToInstallationSettingChange(); BindToNotificationFixAction(); }
public UnityYamlDisableStrategy(Lifetime lifetime, ISolution solution, SolutionCaches solutionCaches, ISettingsStore settingsStore, UnityYamlSupport unityYamlSupport) { mySolutionCaches = solutionCaches; myUnityYamlSupport = unityYamlSupport; var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext())); var oldValue = boundStore.GetValue((UnitySettings s) => s.ShouldApplyYamlHugeFileHeuristic); if (!oldValue) { mySolutionCaches.PersistentProperties[SolutionCachesId] = false.ToString(); } if (mySolutionCaches.PersistentProperties.TryGetValue(SolutionCachesId, out var result)) { myShouldRunHeuristic = Boolean.Parse(result); } else { myShouldRunHeuristic = true; } }
public UnityYamlSupport(Lifetime lifetime, YamlSupport yamlSupport, SolutionCaches solutionCaches, ISolution solution, ISettingsStore settingsStore) { var settings = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext())); IsUnityYamlParsingEnabled = settings.GetValueProperty(lifetime, (UnitySettings key) => key.IsYamlParsingEnabled); if (!yamlSupport.IsParsingEnabled.Value) { IsUnityYamlParsingEnabled.Value = false; } IsUnityYamlParsingEnabled.Change.Advise(lifetime, v => { if (v.HasNew && v.New) { yamlSupport.IsParsingEnabled.Value = true; if (v.HasOld) { solutionCaches.PersistentProperties[UnityYamlDisableStrategy.SolutionCachesId] = false.ToString(); } } }); }
public UnityPluginInstaller( Lifetime lifetime, ILogger logger, ISolution solution, IShellLocks shellLocks, UnityPluginDetector detector, RdNotificationsModel notifications, ISettingsStore settingsStore, ProjectReferenceChangeTracker changeTracker) { myPluginInstallations = new JetHashSet <FileSystemPath>(); myLifetime = lifetime; myLogger = logger; mySolution = solution; myShellLocks = shellLocks; myDetector = detector; myNotifications = notifications; myBoundSettingsStore = settingsStore.BindToContextLive(myLifetime, ContextRange.Smart(solution.ToDataContext())); BindToInstallationSettingChange(); changeTracker.RegisterProjectChangeHandler(InstallPluginIfRequired); }
public UnrealPluginInstaller(Lifetime lifetime, ILogger logger, UnrealPluginDetector pluginDetector, PluginPathsProvider pathsProvider, ISolution solution, ISettingsStore settingsStore, UnrealHost unrealHost, NotificationsModel notificationsModel, RiderBackgroundTaskHost backgroundTaskHost) { Lifetime = lifetime; myLogger = logger; myPathsProvider = pathsProvider; mySolution = solution; myUnrealHost = unrealHost; myNotificationsModel = notificationsModel; myBackgroundTaskHost = backgroundTaskHost; myBoundSettingsStore = settingsStore.BindToContextLive(Lifetime, ContextRange.Smart(solution.ToDataContext())); myPluginDetector = pluginDetector; myPluginDetector.InstallInfoProperty.Change.Advise_NewNotNull(Lifetime, installInfo => { mySolution.Locks.ExecuteOrQueueReadLockEx(Lifetime, "UnrealPluginInstaller.CheckAllProjectsIfAutoInstallEnabled", () => { HandleAutoUpdatePlugin(installInfo.New); }); }); BindToInstallationSettingChange(); BindToNotificationFixAction(); }
public UnityYamlSupport(Lifetime lifetime, YamlSupport yamlSupport, ISolution solution, ISettingsStore settingsStore) { var settings = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext())); IsUnityYamlParsingEnabled = settings.GetValueProperty(lifetime, (UnitySettings key) => key.IsYamlParsingEnabled); if (!yamlSupport.IsParsingEnabled.Value) { IsUnityYamlParsingEnabled.Value = false; } IsUnityYamlParsingEnabled.Change.Advise(lifetime, v => { if (v.HasNew && v.New) { yamlSupport.IsParsingEnabled.Value = true; if (v.HasOld) { settings.SetValue((UnitySettings key) => key.ShouldApplyYamlHugeFileHeuristic, false); } } }); }
public YouTrackService(ISettingsStore store, IVsWebBrowsingService wbs, Lifetime lifetime) { this.wbs = wbs; this.lifetime = lifetime; this.store = store.BindToContextLive(lifetime, ContextRange.ApplicationWide); }
public YamlSupport(Lifetime lifetime, ISettingsStore settingsStore) { var boundStore = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide); IsParsingEnabled = boundStore.GetValueProperty(lifetime, (YamlSettings s) => s.EnableYamlParsing); }
public SolutionWideWritableContextBoundSettingsStore(Lifetime lifetime, ISolution solution, ISettingsStore settingsStore) { BoundSettingsStore = settingsStore.BindToContextLive(lifetime, ContextRange.ManuallyRestrictWritesToOneContext(solution.ToDataContext())); }