eclipse-acute / aCute

Eclipse aCute - C# edition in Eclipse IDE
https://projects.eclipse.org/projects/tools.acute
Eclipse Public License 2.0
80 stars 33 forks source link

.sln file support #95

Open omajid opened 7 years ago

omajid commented 7 years ago

.sln files are meta-project files meant to collect a bunch of projects that IDEs can use. A sln file describes what projects are part of a larger set of projects.

They are generated by dotnet new but are also available as a new project template in aCute. But aCute doesnt really seem to use/understand them to create nested/related projects.

wcdeich4 commented 7 years ago

It would be a great idea to add .sln support to aCute.

mickaelistria commented 7 years ago

For .csproj files, aCute is going to use a language server. It would actually make sense to have this same language server also supporting edition of .sln files. It seems like those .sln files aren't based on some metalanguage such as XML or JSON, are they? If not, are you aware of some textmate files or other tools for those .sln we could use in aCute?

wcdeich4 commented 7 years ago

I thought .sln files were based on XML, but it is not a particular object serialized into XML, it is just information about the projects stored in loosely based XML format. My advice would be to install Visual Studio Community on your PC (or a friend's PC if you only have Mac / linux, lol) & create several "solutions" each containing several projects & then open the .sln file for each "solution" in NotePad++ and just follow that pattern. If you want Visual Studio to be able to open that .sln file you need to get the pattern just right b/c Visual Studio won't tolerate small discrepancies.

omajid commented 7 years ago

For .csproj files, aCute is going to use a language server. It would actually make sense to have this same language server also supporting edition of .sln files.

Agreed. I believe omnisharp already (somehow) supports them: https://github.com/OmniSharp/omnisharp-roslyn/pull/741

It seems like those .sln files aren't based on some metalanguage such as XML or JSON, are they?

No, they are a completely different text-based file format. I have an example at https://github.com/omajid/LicenseCheck/blob/master/LicenseCheck.sln, but you can generate them yourself using dotnet new sln, dotnet sln add. Here is a blog post that goes over the basics: https://garywoodfine.com/creating-editing-solution-files-dotnet-core-ubuntu/

If not, are you aware of some textmate files or other tools for those .sln we could use in aCute?

Here is what I could find after lots of googling:

wcdeich4 commented 7 years ago

Oh yeah, @omajid is correct. I was thinking of the .csproj files.