Correct, jetbrains doesn't integrate with SPM (nor does Xcode for that matter). AFAIK, appcode is apple-only and relies on xcodebuild. I've been perfectly able to run Swift on Ubuntu all the way through 17.10. There are other options like SwiftEnv or a manual install that all work fine for me. I've just tried CLion on Ubuntu and find autocorrect working and SPM fetching as normally. It needs some minor configuration that took me ~2 minutes.
The pains on Linux are far and above known to me (I worked on the Vapor team and am an active Swift Server dev). But to say it's a pain to build it unrelated to other Linux problems.
If I'd had to list the pains in Linux they're still pretty far fetched and specific.
- I've seen some crashes in libdispatch when doing some more advanced work back before NIO and even when we wrote our own async lib for this reason.
- LinuxMain is a big annoyance to me and I cannot concur more than that. That is definitely a big issue and not far fetched nor specific.
- There is a crash now and then in Foundation. I've seen it happen once every few weeks in some applications, but it's far fetched enough that it doesn't happen often/consistently and it almost never able to be traced.
- Debug compilation has (had) some bugs with the Vapor BCrypt implementation specificially where some mathematical operations were incredibly slow and you had to run release to get a normal performance.
- Foundation was previously very unreliable on Linux. Aside from
NSUnimplemented there were occasions like Base64 being unusable and very commonly crashing. This was also a problem with a few other features.
Almost all of the above issues aren't a problem anymore on Linux through other libraries such as NIO or community libs. I'd go as far as to say Swift on Linux as an ecosystem is more reliable and mature than iOS. I'd say iOS has a huge technical Objective-C background to carry with it which is extremely noticable all throughout the development of an iOS app. I've seen Xcode crash in InterfaceBuilder on dragging a TableCell into an XIB.
These things are apparently acceptable for iOS development, but Swift on Linux is getting a huge amount of complaints being more reliable, performant and active than iOS development. I'd say apple did a top-notch job on Linux support.
Back to topic; I don't stand to gain (much) from Windows support. I wouldn't use it I think. But I'd love to see Swift on Windows for the sake of Swift being a great language and that Swift GUI apps would be easy to make cross-platform. If they do plan to support Windows, I honestly hope it becomes as good as Linux.