-
-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Codist 6.6 Beta #214
Comments
Hi @fitdev I found that some features of Codist were not working in the newly introduced markdown editor from VS 17.4 preview 2. Beta 7456 should have this fixed. Please help download and test the beta. During my local test, something weird occurred. If the above weirdness happens to you, please let me know. |
Thank you for letting me know about this. I have not yet installed the latest VS Preview. Will do so next week probably. However I am not a good choice for testing markdown features since I do not use markdown in VS at all, and don't even know what features Codist has in regards to markdown. I only use Codist with C#. But I will certainly let you know if I encounter any issues with the latest beta. |
BTW It would be really great if you could implement a more detailed list of interfaces in the Super Quick Info tooltips, where it shows the whole interface inheritance chain for each interface. I am now working on types with like 30+ interfaces with complex hierarchies and generic parameters and it would help a lot to know exactly through which higher level interface a lower level interface like Here's an example screenshot: |
Well, understood. You situations are really complicated. What do you think is the best way to show the above interfaces? Should those interfaces duplicated by inheritance be displayed multiple times? Anyway, I will release a version 6.5.1 to address the issue #215 first and see whether the problem is resolved. |
Ideally I think there should be two possible views between which you can switch. Or maybe a unified view but with an option to turn a list-like view into a more detailed tree-like view.
(I hope I have not made a mistake, but you get the idea). I think I think probably the Regarding responsiveness: At this moment I have not encountered any issues. But as I have explained, I do not multi-target, and very rarely edit files in shared projects, which is likely why I have not been affected. |
Thank you for your comment. I think variant 2 is identical to the "simpler, list like view" actually. |
I don't think so, because the current list does not duplicate items, whereas my proposal does (when some interface is inherited through more than one path). After thinking a bit more about this, I think that my variant 2 of the tree-like list would be the best. However I would add 2 more optimizations to it:
Also I think this feature may be particularly useful for interface hierarchies involving generics. There is often a need to resolve C#'s current l.imitation where it complains that the same generic interface is inherited more than once through different type parameters, which can lead to their unification. So, to resolve such issue when designing interface hierarchies it is very helpful to be able to easily see exactly through what inheritance chain such generic interfaces are inherited. |
Build 7456 had introduced a terrible bug which caused the Surrounding with Snippet command to crash VS. |
Another related Super Quick Info improvement I want to propose is to reposition the Because when you have many type parameters with complex constraints, it becomes quite difficult to find them in the long multi-line title. And same goes for tooltips on generic type parameters themselves - they could be formatted better: |
You are right. |
The previous version could still starve threads in the C# Interactive window. @fitdev and @laicasaane |
Well, there's a beta 7556, which performs a little faster than 7550. However, either 7550 or 7556 can not highlight submissions in C# Interactive window as previous version did. The new versions just highlight the most recent submission and former submissions will not get highlight any more. I found that VS inevitably leaks memory resource, after opening and closing files, by creating a new instance without extension and observe its resource usage on my machine. The recent VS preview version also has a bug when installing extension on multiple side-by-side versions of VS. I had both VS 2017 and 2022 on my machine. If I install Codist on both instance during one installation process, the extension installer will report the installation on both instances are success, however, the result is on the contrary--Codist just gets removed on all VS. |
Beta 7572 should have fixed previous problem in 7556 by caching parsed results for recent commands. @fitdev |
I only have |
*.razor files could not be improved. I installed Razor language service on my VS and found the content type of a Razor document does not appear to contain C#. However, I haven't been working with web projects for quite a few years, and my work fellows all use VS Code to program their front-end projects. Thus I would not support C# highlighting in *.cshtml files. |
Just installed 7572. As you experienced yourself, I too had to install it 3 times for it to be installed on 2022 (I too have multiple versions, and it was only installed on the first one - 2017). Checked razor files - no highlighting at all. It would be nice if you could try to add highlighting in at least the |
So, if you were not talking about |
I tried some Razor files with I will release a new version in near future despite of that, then go for the Quick Info request. |
@fitdev and @laicasaane There's a new version which has introduced a alternative style to display C# symbol signature in Super Quick Info (screenshot above). With that style, you can very easily spot out the name of the symbol, its member type, and its container symbol. To activate the new style, select the "Use alternative style" in the Super Quick Info/C# options page. |
@wmjordan The Base type line should be broken down too |
@wmjordan Some symbols are highlighted in black |
I really like the alternative QuickInfo style. Great work! However a few issues / suggestions:
|
As stating here #216 I believe there should be an option to let us list the arguments of a method in several lines. This should be a separated setting. |
Thank you all for the quick and reasonable feedback.
This has the same solution as #220.
Will be fixed in the next beta.
Thanks for reminding. Yes, I saw that and I will add it back later.
You are right. Even without the namespace info at the bottom, it is easy to hover the mouse cursor onto the symbol to see its namespace. I will remove it in the next beta.
I will try that.
Yes, I am facing this problem. I am thinking whether it is possible to provide a better default behavior, good by default, instead of such an option. |
I mean, the Base type section should be represented in multiple lines rather than in a single line, just as the Interface section The image will look somewhat like this:
|
Maybe during the tooltip creation process you can simply track that:
In other words you only render the section with type params / returns documentation if the appropriate subsection is not present in the header below the symbol name. Otherwise you include documentation (if present) in the appropriate subsection below the symbol name header. That's just my idea. Of course you know the architecture better so maybe I am wrong. |
There's a problem when merging documentations into the signature part. In some of my code, there are some members with long documentation for the If we merge the long |
Yes, I agree. It is problematic. Perhaps we can do it for type parameters only then. Also, a suggestion for the future - it would be nice if tooltips can be made pinnable (in a similar way to how symbol lists can be pinned). |
Would it confuse the user why some documentations are on the signature part but others are below?
Yes, I am considering a rewritten C# Quick Info. It is possible to do so in the future, maybe in version 6.7. |
Personally I don't think it's a big deal. I think that if we can display a tooltip more effectively by utilizing space better it is still worth it. And yes, of course, if there is no documentation just hide it - no sense in wasting space.
That's great! BTW: When do you think you will rework interface inheritance representation as per my suggestion above? Version 6.7 too? I think it would be great if base classes would be included there too, so that it is clear through which base classes different interfaces are inherited (in case of classes). |
Your suggestion is valuable. However, I have to take some time to think about it. |
Another small suggestion. Perhaps you can add concrete type information for cases where members are inherited from base generic classes/interfaces: For example here Also, maybe less important than the returns subsection, but the containing type name subsection might also benefit from generic type parameter resolution. I.e. perhaps the "resolved" / effective container type name can be specified in parentheses after the declared type name (or the other way around): |
Good. Currently I am rolling back my VS installation to 17.4 preview 2.1, as I have just discovered that the recently preview 3 has a critical bug which causes a VS process related to Roslyn keeps consuming a lot of CPU resources. |
There's a new beta which improves the display of type parameters. After some contemplation, I decided to keep the type parameter documentation below the summary documentation.
This has been implemented in the new beta, however, except for inherited interfaces. |
I am still on Preview 2 so has not noticed it. Thank you for letting me know. I like the new beta. Type parameters now are more clear. Good work!
Well, I have mixed feelings about it, but considering their documentation may be long too, perhaps the current way of displaying it is more appropriate. |
There's a new beta which has many small tweaks and trivial enhancements. |
Oh, I see. There's a bug in the symbol location Quick Info. It will be fixed in the next beta. |
There's a new beta version that has fixed global namespace problem. And more improvements. |
Yep. I want that too. Yet I need time to implement that. Today I upgraded VS to 17.4 preview 4. Again, weird CPU consumption issue occurred. Have to downgrade again... |
There's a new beta version which enables click and go on expressions on the symbol signature. However, those symbols in the signature expression can not be syntax highlighted--too much work... |
Thanks! Just a bit of info on type is lost, but as long as we can go to definition I think it's fine. |
Version 7670 has fixed the nullable type bug. |
I kept the buggy 17.4 preview 4. And today I added a function to monitor CPU as well as memory usage on the computer. |
Is the performance drop really serious on Preview 4? I am still on Preview 2. Should I wait upgrading? |
A small suggestion about QuickInfo Tooltips: It would be very nice if you could display number of implemented / inherited interfaces in the parentheses after |
I think so. The roslyn bug is terrible. It is a multi-threaded related problem which can drain one CPU core on your machine just doing nonsense. I reported with stack trace of the problematic threads, yet no one in MS replied. Having been bugged once more, I reverted again...back to preview 2.1.
It is not too big deal, but I am planning to rearrange the base type/interfaces on the Quick Info, thus this change won't live too long. I think it is possible to merge interfaces into the base types. For instance, |
Thank you for letting me know. I will avoid upgrading for now then. Hopefully they will fix it when DotNet 7 RTMs in November. |
Mark dotnet/razor#8642 |
Download
Codist 7690
Codist 7670
Codist 7668
Codist 7664
Codist 7655
Codist 7634
Codist 7622
Codist 7617
Codist 7608
Codist 7572
Codist 7556
Codist 7550
Codist 7525
Codist 7507
Codist 7456
Codist 7450
Codist 7434
What's new
The text was updated successfully, but these errors were encountered: