private void AddHighlighting(IHighlightingConsumer consumer, AbstractUnityCodeInsightProvider codeInsightsProvider, ICSharpDeclaration element, string tooltip, string displayName) { if (SettingsStore.GetIndexedValue((CodeInsightsSettings key) => key.DisabledProviders, codeInsightsProvider.ProviderId)) { base.AddHighlighting(consumer, element, tooltip); return; } if (SettingsStore.GetValue((UnitySettings key) => key.GutterIconMode) == GutterIconMode.Always) { base.AddHighlighting(consumer, element, tooltip); } displayName = displayName ?? codeInsightsProvider.DisplayName; var declaredElement = element.DeclaredElement; if (declaredElement == null || !declaredElement.IsValid()) { return; } var extraActions = new List <CodeLensEntryExtraActionModel>(); if (!myConnectionTracker.IsConnectionEstablished()) { extraActions.Add(new CodeLensEntryExtraActionModel("Unity is off", null)); extraActions.Add(new CodeLensEntryExtraActionModel("Start Unity", AbstractUnityCodeInsightProvider.StartUnityActionId)); } consumer.AddHighlighting(new UnityCodeInsightsHighlighting(element.GetNameDocumentRange(), displayName, displayName, codeInsightsProvider, declaredElement, myIconHost.Transform(codeInsightsProvider.IconId), CreateBulbItemsForUnityDeclaration(element), extraActions)); }
public void GetValue_GivenIntSettingWithInvalidValue_ShouldReturnDefaultValueAndLogError() { // Arrange. var settingsFromDb = Substitute.For <IDbSet <Setting> >(); settingsFromDb.Find(new[] { "SomeKey" }).Returns(new Setting { Id = "SomeKey", Value = "123x" }); var log = Substitute.For <ILogger>(); var testObject = new SettingsStore(settingsFromDb, log); // Act. var value = testObject.GetValue("SomeKey", 666); // Assert. Assert.AreEqual(666, value); log.Received(1).LogError( "Setting \"SomeKey\" contains an invalid integer value \"123x\". Using default value \"666\".", Arg.Any <bool>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <int>()); }
private void AddHighlighting(IHighlightingConsumer consumer, AbstractUnityCodeInsightProvider codeInsightsProvider, ICSharpDeclaration element, string tooltip, string displayName, DaemonProcessKind kind, bool addOnlyHotIcon = false) { if (SettingsStore.GetIndexedValue((CodeInsightsSettings key) => key.DisabledProviders, codeInsightsProvider.ProviderId)) { base.AddHighlighting(consumer, element, tooltip, displayName, kind, addOnlyHotIcon); return; } if (SettingsStore.GetValue((UnitySettings key) => key.GutterIconMode) == GutterIconMode.Always) { base.AddHighlighting(consumer, element, tooltip, displayName, kind, addOnlyHotIcon); } var isIconHot = IsHotIcon(element, kind); if (addOnlyHotIcon && !isIconHot) { return; } displayName = displayName ?? codeInsightsProvider.DisplayName; var declaredElement = element.DeclaredElement; if (declaredElement == null || !declaredElement.IsValid()) { return; } // Since 19.2, Rider will show new code vision for scripts which will show // asset usages if (myUnityApi.IsDescendantOfMonoBehaviour(declaredElement as ITypeElement) || declaredElement is IMethod method && !myUnityApi.IsEventFunction(method) && myHandlerReferenceCache.IsEventHandler(method)) { return; } var extraActions = new List <CodeLensEntryExtraActionModel>(); if (mySolutionTracker.IsUnityProject.HasTrueValue() && !myConnectionTracker.IsConnectionEstablished()) { extraActions.Add(new CodeLensEntryExtraActionModel("Unity is not running", null)); extraActions.Add(new CodeLensEntryExtraActionModel("Start Unity Editor", AbstractUnityCodeInsightProvider.StartUnityActionId)); } var iconId = isIconHot ? InsightUnityIcons.InsightHot.Id : InsightUnityIcons.InsightUnity.Id; consumer.AddHighlighting(new UnityCodeInsightsHighlighting(element.GetNameDocumentRange(), displayName, tooltip, displayName, codeInsightsProvider, declaredElement, myIconHost.Transform(iconId), CreateBulbItemsForUnityDeclaration(element), extraActions)); }
public void GetValue_GivenNonExistingSetting_ShouldReturnDefaultValue() { // Arrange. var settingsFromDb = Substitute.For <IDbSet <Setting> >(); settingsFromDb.Find(new[] { "SomeKey" }).Returns((Setting)null); var log = Substitute.For <ILogger>(); var testObject = new SettingsStore(settingsFromDb, log); // Act. var value = testObject.GetValue("SomeKey", "Default"); // Assert. Assert.AreEqual("Default", value); }
public void GetValue_GivenExistingIntSetting_ShouldReturnValue() { // Arrange. var settingsFromDb = Substitute.For <IDbSet <Setting> >(); settingsFromDb.Find(new[] { "SomeKey" }).Returns(new Setting { Id = "SomeKey", Value = "123" }); var log = Substitute.For <ILogger>(); var testObject = new SettingsStore(settingsFromDb, log); // Act. var value = testObject.GetValue("SomeKey", 666); // Assert. Assert.AreEqual(123, value); }
//--------------------------------------------------------------------------------------------- private void LoadUserSettings() { UserPasswordMinLength = _settingsStore.GetValue("UserPasswordMinLength", UserPasswordMinLength); }