public TestUpdateNotifier(UpdatesManager manager, JetBrains.Application.Communication.WebProxySettingsReader reader) { var category = manager.Categories.FirstOrDefault(c => c.Key == "xunitcontrib"); var updateXsltTestResult = manager.TestUpdatesXstl(category.Value, reader); Console.WriteLine(); }
/// <summary> /// The initializer for this ShellComponent. /// </summary> /// <param name="lifetime"> /// The lifetime for this object. /// </param> public void Init(JetBrains.DataFlow.Lifetime lifetime) { RegistryUtils registryUtils = new RegistryUtils(); object oneTimeInitializationRequiredRegistryKey = registryUtils.CUGetValue("LastInitializationDate"); DateTime initializationDate = Convert.ToDateTime(oneTimeInitializationRequiredRegistryKey); string todayAsString = DateTime.Today.ToString("yyyy-MM-dd"); string value = registryUtils.LMGetValue("InstallDate") as string; DateTime lastInstalledDate; try { lastInstalledDate = Convert.ToDateTime(value); // If the installer stored a date that has now been read back in and seems to be in the future // then use the LocalUserInstallDate value. if (lastInstalledDate > DateTime.Today) { lastInstalledDate = GetInstallDateFromLocalUserRegistry(registryUtils, todayAsString); } } catch (FormatException ex) { // In some locales the installer saves the date in a format we can't parse back out. // Use today as the installed date and store it in the HKCU key. lastInstalledDate = GetInstallDateFromLocalUserRegistry(registryUtils, todayAsString); } if (oneTimeInitializationRequiredRegistryKey == null || initializationDate < lastInstalledDate) { SettingsStore settingsStore = Shell.Instance.GetComponent<SettingsStore>(); IContextBoundSettingsStoreLive settings = settingsStore.BindToContextLive(lifetime, ContextRange.ApplicationWide); bool checkReSharperCodeStyleOptionsAtStartUp = settings.GetValue((StyleCopOptionsSettingsKey key) => key.CheckReSharperCodeStyleOptionsAtStartUp); if (checkReSharperCodeStyleOptionsAtStartUp) { if (!StyleCopOptionsPage.CodeStyleOptionsValid(settings)) { DialogResult result = MessageBox.Show( @"Your ReSharper code style settings are not completely compatible with StyleCop. Would you like to reset them now?", @"StyleCop", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) { StyleCopOptionsPage.CodeStyleOptionsReset(settings); } } } } registryUtils.CUSetValue("LastInitializationDate", todayAsString); }
public override bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { var invocationExpression = provider.GetSelectedElement<IInvocationExpression>(true, false); assertion = invocationExpression != null ? InlineAssertion.TryFromInvocationExpression(invocationExpression) : null; return assertion != null; }
public override bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { var declaration = Provider.GetSelectedElement<IDeclaration>(true, false); contractInfo = ContractInfo.TryCreate(declaration, Provider.SelectedTreeRange, IsAvailableForType); return contractInfo != null; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IPsiFile GetByPaths (JetBrains.ReSharper.PsiPlugin.Tree.IPathsDeclaration param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.PsiFile) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.PsiFile.PSI_PATHS) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IPsiFile) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IPsiFile GetByInterfaces (JetBrains.ReSharper.PsiPlugin.Tree.IInterfacesDefinition param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.PsiFile) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.PsiFile.PSI_INTERFACES) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IPsiFile) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition GetByOptionStringValue (JetBrains.ReSharper.PsiPlugin.Tree.IOptionStringValue param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.OptionDefinition) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.OptionDefinition.PSI_OPTION_STRING_VALUE) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition) current; }
internal static void TestExtraDefinition (int level, JetBrains.ReSharper.PsiPlugin.Tree.IExtraDefinition param, String caller) { if (!CanVisitFurther(param)) return; VisitElement (level, param, caller); { JetBrains.ReSharper.PsiPlugin.Tree.IPathValue child = ((JetBrains.ReSharper.PsiPlugin.Tree.IExtraDefinition)param).PathValue; TestPathValue (level + 1, (JetBrains.ReSharper.PsiPlugin.Tree.IPathValue)child, "PathValue"); } }
internal static void TestChoiceTail (int level, JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail param, String caller) { if (!CanVisitFurther(param)) return; VisitElement (level, param, caller); { JetBrains.ReSharper.PsiPlugin.Tree.ISequence child = ((JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail)param).Sequence; TestSequence (level + 1, (JetBrains.ReSharper.PsiPlugin.Tree.ISequence)child, "Sequence"); } }
public static JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail GetBySequence (JetBrains.ReSharper.PsiPlugin.Tree.ISequence param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.ChoiceTail) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.ChoiceTail.PSI_SEQUENCE) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IChoiceTail) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaration GetByRuleName (JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaredName param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.RuleDeclaration) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.RuleDeclaration.PSI_RULE_NAME) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaration) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaration GetByExtras (JetBrains.ReSharper.PsiPlugin.Tree.IExtrasDefinition param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.RuleDeclaration) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.RuleDeclaration.PSI_EXTRAS) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaration) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaration GetByParameters (JetBrains.ReSharper.PsiPlugin.Tree.IRuleBracketTypedParameters param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.RuleDeclaration) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.RuleDeclaration.PSI_PARAMETERS) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IRuleDeclaration) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IExtraDefinition GetByPathValue (JetBrains.ReSharper.PsiPlugin.Tree.IPathValue param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.ExtraDefinition) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.ExtraDefinition.PSI_PATH_VALUE) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IExtraDefinition) current; }
public static JetBrains.ReSharper.PsiPlugin.Tree.IPathElement GetByRoleName (JetBrains.ReSharper.PsiPlugin.Tree.IRoleName param) { if (param == null) return null; TreeElement current = (TreeElement)param; if (current.parent is JetBrains.ReSharper.PsiPlugin.Tree.Impl.PathElement) { if (current.parent.GetChildRole (current) != JetBrains.ReSharper.PsiPlugin.Tree.Impl.PathElement.PSI_ROLE_NAME) return null; current = current.parent; } else return null; return (JetBrains.ReSharper.PsiPlugin.Tree.IPathElement) current; }
/// <summary> /// Performs the QuickFix, ensures the file is both writable and creates a transaction. /// </summary> /// <param name="solution"> /// Current Solution. /// </param> /// <param name="progress"> /// Progress Indicator for the fix. /// </param> /// <returns> /// The execute transaction. /// </returns> protected override Action<ITextControl> ExecutePsiTransaction(ISolution solution, JetBrains.Application.Progress.IProgressIndicator progress) { return delegate(ITextControl textControl) { solution.GetComponent<DocumentManagerOperations>().SaveAllDocuments(); using (solution.GetComponent<DocumentTransactionManager>().CreateTransactionCookie(JetBrains.Util.DefaultAction.Commit, "action name")) { var services = solution.GetPsiServices(); services.Transactions.Execute( "Code cleanup", () => services.Locks.ExecuteWithWriteLock(() => { ExecuteTransactionInner(solution, textControl); })); } }; }
public sealed override bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { attributesOwnerDeclaration = provider.GetSelectedElement<IAttributesOwnerDeclaration>(true, false); if (attributesOwnerDeclaration != null && attributesOwnerDeclaration.GetNameRange().Contains(provider.SelectedTreeRange) && !attributesOwnerDeclaration.OverridesInheritedMember() && !attributesOwnerDeclaration.AttributesEnumerable.Any(IsAttribute)) { createAttributeFactory = CreateAttributeFactoryIfAvailable(attributesOwnerDeclaration, provider.PsiModule, out attributeToRemove); if (createAttributeFactory != null) { return true; } } attributeToRemove = null; createAttributeFactory = null; attributesOwnerDeclaration = null; return false; }
internal static void TestOptionDefinition (int level, JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition param, String caller) { if (!CanVisitFurther(param)) return; VisitElement (level, param, caller); { JetBrains.ReSharper.Psi.Tree.ITokenNode child = ((JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition)param).OptionIdentifierValue; TestTokenNode (level + 1, (JetBrains.ReSharper.Psi.Tree.ITokenNode)child, "OptionIdentifierValue"); } { JetBrains.ReSharper.Psi.Tree.ITokenNode child = ((JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition)param).OptionIntegerValue; TestTokenNode (level + 1, (JetBrains.ReSharper.Psi.Tree.ITokenNode)child, "OptionIntegerValue"); } { JetBrains.ReSharper.PsiPlugin.Tree.IOptionName child = ((JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition)param).OptionName; TestOptionName (level + 1, (JetBrains.ReSharper.PsiPlugin.Tree.IOptionName)child, "OptionName"); } { JetBrains.ReSharper.PsiPlugin.Tree.IOptionStringValue child = ((JetBrains.ReSharper.PsiPlugin.Tree.IOptionDefinition)param).OptionStringValue; TestOptionStringValue (level + 1, (JetBrains.ReSharper.PsiPlugin.Tree.IOptionStringValue)child, "OptionStringValue"); } }
public override bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { var awaitExpression = provider.GetSelectedElement<IAwaitExpression>(true, false); if (awaitExpression != null && awaitExpression.AwaitKeyword == provider.SelectedElement) { awaitedExpression = awaitExpression.Task; var typeElement = (awaitedExpression?.Type() as IDeclaredType)?.GetTypeElement(); if (typeElement != null) { var hasConfigureAwaitMethod = typeElement.Methods.Any( method => { Debug.Assert(method != null); if (method.ShortName == configureAwaitMethodName && method.Parameters.Count == 1) { Debug.Assert(method.Parameters[0] != null); return method.Parameters[0].Type.IsBool(); } return false; }); if (hasConfigureAwaitMethod) { return true; } } } awaitedExpression = null; return false; }
internal static void TestOptionsDefinition (int level, JetBrains.ReSharper.PsiPlugin.Tree.IOptionsDefinition param, String caller) { if (!CanVisitFurther(param)) return; VisitElement (level, param, caller); }
/// <summary> /// Initializes a new instance of the StyleCopCodeStyleChecker class. /// </summary> /// <param name="lifetime"> /// The lifetime for this instance. /// </param> public StyleCopCodeStyleChecker(JetBrains.DataFlow.Lifetime lifetime) { StyleCopReferenceHelper.EnsureStyleCopIsLoaded(); this.Init(lifetime); }
/// <summary> /// Determines whether the specified cache is available. /// </summary> /// <param name="cache"> /// The cache. /// </param> /// <returns> /// <c>True.</c> if the specified cache is available; otherwise, <c>False.</c> . /// </returns> public bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { return true; }
public void OnPsiChange(JetBrains.ReSharper.Psi.Tree.ITreeNode elementContainingChanges, PsiChangedElementType type) { if (elementContainingChanges != null) { } }
public object Load(JetBrains.Application.Progress.IProgressIndicator progress, bool enablePersistence) { return true; }
/// <summary> /// True if this QuickFix is available. /// </summary> /// <param name="cache"> /// The cache object to use. /// </param> /// <returns> /// The is available. /// </returns> public bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { // TODO Not all StyleCop issues can be suppressed. We should check here and return false for those that cannot be handled. return true; }
public void Execute(ISolution solution, JetBrains.TextControl.ITextControl textControl) { textControl.Document.ReplaceText(_documentRange.TextRange, _functionCallReplacementText); }
/// <summary> /// Determines whether the current QuickFix is available for the violation. /// </summary> /// <remarks> /// Essentially to display the bulb item in the IDE the current ViolationID must match the name of the QuickFix Class. /// </remarks> /// <param name="cache"> /// Current Data Cache. /// </param> /// <returns> /// Whether the current QuickFix is available for the violation. /// </returns> public bool IsAvailable(JetBrains.Util.IUserDataHolder cache) { // use a more resiliant matching method - this caught me out // quite a bit while I was refactoring and debugging and wondering // why no bulb items were appearing if (this.Highlighting.CheckId.StartsWith("SA") || this.Highlighting.CheckId.StartsWith("BB")) { return this.GetType().Name.Substring(2).StartsWith(this.Highlighting.CheckId.Substring(2)); } return this.GetType().Name.StartsWith(this.Highlighting.CheckId); }
public override bool IsAvailable(JetBrains.Util.IUserDataHolder cache) => true;
public void Save(JetBrains.Application.Progress.IProgressIndicator progress, bool enablePersistence) { }
/// <summary> /// Process clean-up on file. /// </summary> /// <param name="projectFile"> /// The project file to process. /// </param> /// <param name="rangeMarker"> /// The range marker to process. /// </param> /// <param name="profile"> /// The code cleanup settings to use. /// </param> /// <param name="progressIndicator"> /// The progress indicator. /// </param> public void Process( IPsiSourceFile projectFile, IRangeMarker rangeMarker, CodeCleanupProfile profile, JetBrains.Application.Progress.IProgressIndicator progressIndicator) { if (projectFile == null) { return; } if (!this.IsAvailable(projectFile)) { return; } ISolution solution = projectFile.GetSolution(); ICSharpFile file = projectFile.GetDominantPsiFile<CSharpLanguage>() as ICSharpFile; if (file == null) { return; } var services = solution.GetPsiServices(); services.Transactions.Execute("Code cleanup", () => this.InternalProcess(profile, file)); StyleCopTrace.Out(); }