Current filter:
                                You should refresh the page.
                                  • When the cursor is on the name of a property with custom attribute, clicking on the Quick Actions menu causes the "Gathering Suggestions" dialog to be displayed for several seconds. This happened in VS 2019 RC and VS 2017

                                    See https://davesparks.tinytake.com/sf/MzQyOTcwOF8xMDI2Njc4Mg for demonstration.

                                    The attribute is defined as follows :

                                    [C#]
                                    [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)] public sealed class PlugInPropertyAttribute : Attribute {

                                    The solution is large (95 projects) and targets .Net Framework 4.7.2. The custom attribute is referenced 99+ times in the solution. It is also used in parent classes of the class shown in demonstration.

                                    I attempted, but failed, to reproduce the issue in a simple project with just the one example class and some of the classes that it references.

                                    Please let me know if there is any further information I can provide to help you to troubleshoot this issue.

                                Show all comments
                                • Pavel A (DevExpress) 04.02.2019

                                  Hello Dave,

                                  Thank you for contacting us and pointing out to this issue.

                                  To help us research it, please provide the following information:
                                  - CodeRush settings (from "%AppData%\CodeRush\Settings");
                                  - CodeRush log files (from "%LocalAppData%\CodeRush\Logs");
                                  - Information about extensions you have installed (click the Copy Info button in the Help -> About Microsoft Visual Studio dialog).

                                  We are looking forward to your response.

                                • Pavel A (DevExpress) 04.03.2019

                                  Hello Dave,

                                  Thank you for providing the information we requested.

                                  First, we track the working time of our code actions and save that information in the "Performance %current_datetime%" log files.
                                  For some reasons, I do not see any "Performance*" log files in your attachment, only "Package*" files for the 2016 year.
                                  The information from log files can significantly help us understand which of our code actions works so long.
                                  Therefore, please execute the following steps:

                                  1. From Visual Studio menu, click the "Extensions -> CodeRush -> Support -> CodeRush Logs..." menu.
                                  2. Delete all CodeRush log files from the opened folder.
                                  2. Restart Visual Studio and reproduce the issue with the "Gathering Suggestions" dialog.
                                  3. Close Visual Studio.
                                  4. Collect and provide us with the full content of the folder with CodeRush log files including the "Performance *" files.

                                  Second, I noticed that you have installed many extensions that may provide own code actions into the Light Bulb menu.
                                  I have installed the most of them on the clean VIsual Studio 2019 and tried to reproduce the issue, but all works fine on my side.
                                  So, it would be also helpful if you temporary disable CodeRush and try to reproduce the issue without it.

                                  We are looking forward to your results.

                                • Dave Sparks 04.03.2019

                                  The issue does not occur with CodeRush disabled.

                                  I followed your instructions and no 'Performance *.log' file were added to the log folder - only the attached file. Is there an option to enable the performance logs?

                                • Dave Sparks 04.03.2019

                                  I found an option to enable the Performance Monitor in the CodeRush options under IDE -> Diagnostic. After ticking this, I deleted the log files, restarted VS, reproduced the issue, then shutdown VS. There are now two log files including UIPerformance *.log. I have attached both.

                                • Pavel A (DevExpress) 04.04.2019

                                  Hello Dave,

                                  Thank you for providing additional information.
                                  Performance Monitor collects information about freezes on the UI thread and I can see in it that the UI thread waits about 15 seconds until Light Bulb suggestions are collected.

                                  It appears that I misinformed you in my previous reply. At present, we create "Performance *" log files only for the internal version of CodeRush and do not ship this functionality yet.
                                  Let me take a moment to apologize for this mistake.

                                  I have prepared a special build for you that should generate this diagnostic information: CodeRush-18.2.9.19094.exe
                                  Please install it, reproduce the issue and provide us with the requested log files.

                                  Your cooperation is greatly appreciated.

                                • Dave Sparks 04.04.2019

                                  Here's the new logs - but it doesn't look like there's much there for you to see...

                                • Dave Sparks 04.04.2019

                                  Note that this issue appears to be related to the level of inheritance. Only happens if there are at least three class ancestors (even if I they are empty classes). If, however, I copy the class and it's all ancestors to a separate test project it works fine. The ancestors possibly need to be in separate libraries for the issue to occur? Wish I could find a way to give you a reproducible project without giving you all my code! 

                                • Pavel A (DevExpress) 04.05.2019

                                  Hello Dave,

                                  Thank you for providing the log files.
                                  You are right - they don't indicate any significant slowdown.
                                  However, to eliminate their influence, I suggest you temporary disable code actions from them and try to reproduce the issue.
                                  In addition, we saw that your "Package *" log files contained a few exceptions with the "Rename" code action.
                                  Perhaps, these exceptions relate to the issue with the "Gathering Suggestions" dialog window.

                                  To disable these code actions execute the following steps:

                                  1. Go to the "Editor\C#\Code Actions\Code Actions Catalog" options page.
                                  2. Uncheck the "Rename", "Remove Unused Member", "Use Expression Body" and "Convert to Property with Backing Field" code actions.

                                  We are looking forward to hear your results.

                                • Dave Sparks 04.07.2019

                                  Hi

                                  Unchecking the "Rename", "Remove Unused Member", "Use Expression Body" and "Convert to Property with Backing Field" code actions did not appear to make much difference - see the "Logs (with suggested code actions unchecked)" folder in the attached zip file.

                                  However, via a binary search process I managed to identify the "Pull Member Up" code action as the culprit. The issue was reproduced with only the "Pull Member Up" code action checked (all other code actions unchecked) - see the "Logs (with Pull Member Up checked only)" folder in the attached file. On the other hand, with all actions checked except for the "Pull Member Up" code action, "Gathering Suggestions"  only takes a second - see the "Logs (with Pull Member Up unchecked only)" folder.

                                • Pavel A (DevExpress) 04.08.2019

                                  Hello Dave,

                                  Thank you for your cooperation and sharing these results.
                                  With this information, I was able to reproduce a similar issue with the "Pull Member Up" code action. We will analyze it and notify you of our results.

                                  As a temporary workaround, you can disable the "Pull Member Up" code action.

                                • Dave Sparks 04.11.2019

                                  I can confirm this is fixed now. Thanks!

                                • Pavel A (DevExpress) 04.12.2019

                                  I am happy to hear that the issue is resolved. Thank you for informing us.

                                1 Solution

                                Creation Date Importance Sort by

                                Fixed: