fernandoescolar / vscode-solution-explorer

This is a Visual Studio Code extension that provides a (.sln) Visual Studio Solution explorer panel..
MIT License
348 stars 73 forks source link

Syntax coloring for `.sln` files #295

Closed geekley closed 8 months ago

geekley commented 11 months ago

Is your feature request related to a problem? Please describe. I believe .sln files don't currently have syntax highlighting in VSCode (I assume even in C# Dev Kit, which I don't and can't use).

Describe the solution you'd like Please add simple syntax coloring for .sln files. Should be easy enough to make a tmLanguage syntax file or modify the one linked below. It should support at the bare minimum strings and comments. Then preferably keywords and operators as well, like = | . and Project/EndProject, the header, etc. And GUIDs.

If you want to go further than just syntax, you could also provide a "goto definition" for project GUIDs to their definition lines and from the path there linking to the corresponding .XXproj file.

Describe alternatives you've considered Interpreting it as .ini or .properties isn't quite the right syntax.

Additional context VSCode Guide: Syntax Highlighting This grammar is what GitHub uses. It's not perfect IMO, but it's a great start. The spec? VSCode Guide: Provide Definitions of a Symbol

eduarddejong commented 9 months ago

Currently I am just combining this extension with one that I already used before, which turns out to still work without any issues: https://marketplace.visualstudio.com/items?itemName=logerfo.sln-support It's a very simple one. But I think there there are some other extensions too.

However having this feature would be really great.

Still a lot of thanks for making this really useful - open source - extension.

geekley commented 8 months ago

Thanks! I left some review comments in the commit suggesting improvements.

There's also the grammar from this extension which appears to be quite comprehensive - though you can't just copy it because it uses AGPL license, it might still be useful for learning and to catch potentially missing grammar rules.