Giter VIP home page Giter VIP logo

xmldocinspections's People

Contributors

matkoch avatar ulrichb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

xmldocinspections's Issues

Not supported in 2021.1

Manually updating the package info shows the plugin should work with a simple change to the package. Would be great to get an official update rather than hacking the package, however.

Allow ignoring constructors

I'm normally using DI/IoC in my apps. In other words, the IoC container instantiates most of my objects and thus very few of my constructors are ever called "manually". For example:

/// <summary>
///     Provides the ability to flush floobargles into a sink.
/// </summary>
public class SinkFlusher : IFlooFlusher
{
    private readonly ISinkProvider _sinkProvider;

    public IfcModelOperations(ISinkProvider sinkProvider)
    {
        _sinkProvider = sinkProvider;
    }

    /// <summary>
    ///     Flushes the floobargle <see cref="floo" />.
    /// </summary>
    public void Flush(Floobargle floo)
    {
        _sinkprovider.GetSink().Flush(floo);
    }

}

Even for the few manual constructors I call, most would only have a pointless "Initializes a new instance of the X class" description, which I'd rather be without. For example:

/// <summary>
///     Floobargles are used for enhancing the app's flushing experience by around 37%.
/// </summary>
public class Floobargle
{
    public Floobargle(string name)
    {
        Name = name;
    }

    public string Name { get; }

}

A constructor doc comment would be pointless here.

In summary, I would like an option for Xml Doc Inspections to ignore constructors.

If not for me, then please do it for the floobargles. The poor guys...

Allow attribute opt-in

I would like to opt-in required XML documentation by using attributes.

Background is that I'm already facilitating attributes to mark certain "public API" types/methods, which inherently means that they should have a proper documentation.

[Rider] PluginException: No display name specified in plugin descriptor XML file for configurable XmlDocInspectionsOptionsPage

Plugin version: 2.20.0.98
Rider version: 2023.2.1 (Build #RD-232.9559.61, built on August 22, 2023)

Stack trace No. 1:

com.intellij.diagnostic.PluginException: No display name specified in plugin descriptor XML file for configurable com.jetbrains.rider.settings.XmlDocInspectionsOptionsPage;
specify it using 'displayName' or 'key' attribute to avoid necessity to load the configurable class when Settings dialog is opened [Plugin: XmlDocInspections]
	at com.intellij.openapi.options.ex.ConfigurableWrapper.getDisplayName(ConfigurableWrapper.java:156)
	at com.intellij.ide.util.gotoByName.GotoActionModel.lambda$new$0(GotoActionModel.java:81)
	at com.intellij.openapi.util.NotNullLazyValue$4.compute(NotNullLazyValue.java:120)
	at com.intellij.openapi.util.NotNullLazyValue$4.getValue(NotNullLazyValue.java:105)
	at com.intellij.ide.util.gotoByName.GotoActionModel.getConfigurablesNames(GotoActionModel.java:378)
	at com.intellij.ide.util.gotoByName.GotoActionItemProvider.processOptions(GotoActionItemProvider.java:148)
	at com.intellij.ide.util.gotoByName.GotoActionItemProvider.filterElements(GotoActionItemProvider.java:94)
	at com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContributor.lambda$fetchWeightedElements$4(ActionSearchEverywhereContributor.java:137)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContributor.fetchWeightedElements(ActionSearchEverywhereContributor.java:136)
	at com.intellij.ide.actions.searcheverywhere.MixedResultsSearcher$ContributorSearchTask.run(MixedResultsSearcher.java:184)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)
	at com.intellij.util.ConcurrencyUtil.lambda$underThreadNameRunnable$3(ConcurrencyUtil.java:206)
	at com.intellij.codeWithMe.ClientId$Companion.decorateRunnable$lambda$4(ClientId.kt:304)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:272)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)

Stack trace No. 2:

com.intellij.diagnostic.PluginException: No display name specified in plugin descriptor XML file for configurable com.jetbrains.rider.settings.XmlDocInspectionsOptionsPage;
specify it using 'displayName' or 'key' attribute to avoid necessity to load the configurable class when Settings dialog is opened [Plugin: XmlDocInspections]
	at com.intellij.openapi.options.ex.ConfigurableWrapper.getDisplayName(ConfigurableWrapper.java:156)
	at com.intellij.openapi.options.ex.Weighted.lambda$static$0(Weighted.java:27)
	at java.base/java.util.TimSort.binarySort(TimSort.java:296)
	at java.base/java.util.TimSort.sort(TimSort.java:221)
	at java.base/java.util.Arrays.sort(Arrays.java:1307)
	at java.base/java.util.ArrayList.sort(ArrayList.java:1721)
	at com.intellij.openapi.options.ex.ConfigurableWrapper$CompositeWrapper.getConfigurables(ConfigurableWrapper.java:349)
	at com.intellij.openapi.options.ex.EpBasedConfigurableGroupKt.collect(EpBasedConfigurableGroup.kt:148)
	at com.intellij.openapi.options.ex.EpBasedConfigurableGroupKt.collect(EpBasedConfigurableGroup.kt:157)
	at com.intellij.openapi.options.ex.EpBasedConfigurableGroupKt.access$collect(EpBasedConfigurableGroup.kt:1)
	at com.intellij.openapi.options.ex.EpBasedConfigurableGroup.<init>(EpBasedConfigurableGroup.kt:110)
	at com.intellij.openapi.options.ex.ConfigurableExtensionPointUtil.getConfigurableGroup(ConfigurableExtensionPointUtil.java:119)
	at com.intellij.ide.actions.ShowSettingsUtilImpl$Companion.getConfigurableGroups(ShowSettingsUtilImpl.kt:48)
	at com.intellij.ide.actions.ShowSettingsUtilImpl.getConfigurableGroups(ShowSettingsUtilImpl.kt)
	at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:60)
	at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:47)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:339)
	at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.java:47)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$myActionProcessor$1.performAction(IdeKeyEventDispatcher.kt:502)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner$lambda$5$lambda$4(IdeKeyEventDispatcher.kt:865)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner$lambda$5(IdeKeyEventDispatcher.kt:865)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:362)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.doPerformActionInner(IdeKeyEventDispatcher.kt:863)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcherKt.access$doPerformActionInner(IdeKeyEventDispatcher.kt:1)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction$intellij_platform_ide_impl(IdeKeyEventDispatcher.kt:587)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.kt:513)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.kt:454)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.kt:447)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.kt:309)
	at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.kt:617)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:587)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:67)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:369)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:368)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:368)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:363)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:992)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:992)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:363)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:861)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:405)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

image

image

Missing Warning for public members when using ResharperCommandlineTools

Hello,

We are using Resharper 2020.2.4 and the latest version of XmlDocInspections (2.11.0.7380202) in Visual Studio 2019

We see the warning / error when inspecting the code in visual studio, but when we run the inspection with the ResharperCommandlineTools on our build machines, the warning / error is not present in the XML.

It worked perfectly with older versions of ResharperCommandlineTools (before 2020.2.x).

greetings from Austria

Two XML Doc warnings (+ quick fixes) when CS1591 is enabled

Hello!

I just found out about this plugin, but one question...

Currently using Rider 2018.1.

When I select the light bulb or alt + enter, I get 2 options with the same name and that perform the same action (at least how I see it). Is it normal??

screen shot 2018-04-25 at 2 42 41 pm

Thanks for this awesome plugin 😀

Allow ignoring types/members that can inherit documentation

If I document an interface or base class and implement/inherit that, I can mouseover the new class name and Intellisense gives me the documentation for the base class/interface. That means I don't really feel like adding boilerplate /// <inheritdoc /> to all my public implementing/overriding members and class definitions.

I'd like an option to make Xml Doc Inspections ignore implementing/child classes if the parent class/interface has documentation, and ignore all implementing/overriding members if the corresponding parent class/interface member has documentation.

ReSharper 2016.1 support?

I miss this having this extension after upgrading to R# 2016.1..

Does anyone know what it takes to upgrade it?

Enable only when xml-doc generation is enabled

The hints should only be displayed when the "XML documentation file" option is checked in the project properties.
It's annoying to have these hints requesting to create xml-doc in projects where you don't want to create xml-doc.

Allow skipping warnings for overriding members

Usually there is no need to explicitly document overriding members as the documentation from the base class is sufficient and is already shown by ReSharper IntelliSense.
An option to disable warnings for such members is required to reduce visual noise. Optionally a sub-option can be added to only skip warnings if the base class member actually has documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.