vknabel / vscode-swift-development-environment

New home of Swift Development Environment for VS Code
https://marketplace.visualstudio.com/items?itemName=vknabel.vscode-swift-development-environment
Apache License 2.0
175 stars 14 forks source link

update readme for easier iOS devilment setting #65

Closed haifengkao closed 4 years ago

haifengkao commented 4 years ago

sorry for the late reply. I think the readme should be updated as well.

As a pure iOS dev, I don't really need the per-project setting. Single global settings is good enough. The current readme is really scary for the new users (like the guy who wrote https://funnyitworkedlasttime.dev/posts/2020-01-10-swift-vscode-sourcekit-lsp/)

Besides, the original example only works for sourcekite. The sourcekit-lsp implementation doesn't read swift.targets.compilerArguments.

At this moment, it's not possible for sourcekit-lsp to support iOS and WatchOS in the same project unless swift.targets.compilerArguments is handled correctly. It's not an easy task because we will need to activate two sourcekit-lsp servers with different SDK settings (iOS and WatchOS) at the same time.

Anyway, thank you for your great extension :)

vknabel commented 4 years ago

@haifengkao

sorry for the late reply. I think the readme should be updated as well.

Don't worry. It was far from being time critical. 😊

As a pure iOS dev, I don't really need the per-project setting. Single global settings is good enough.

I do feel your pain. There shouldn't be that many building and absolute path details within the project configuration. Though changing this would require far more work.

The current readme is really scary for the new users (like the guy who wrote https://funnyitworkedlasttime.dev/posts/2020-01-10-swift-vscode-sourcekit-lsp/) Besides, the original example only works for sourcekite. The sourcekit-lsp implementation doesn't read swift.targets.compilerArguments.

Well, yes. The readme has grown historically especially as the current situation with supporting different LSPs is quite complex.

At this moment, it's not possible for sourcekit-lsp to support iOS and WatchOS in the same project unless swift.targets.compilerArguments is handled correctly. It's not an easy task because we will need to activate two sourcekit-lsp servers with different SDK settings (iOS and WatchOS) at the same time.

That's right. Though I am not sure if we should even spawn multiple language servers at the same time. Either the configuration would be far too low level, or we were required to actually parse Xcode projects.

Anyway, thank you for your great extension :)

Thanks for your feedback and contributions!

A few quick questions: What is your opinion on sourcekite versus sourcekit-lsp? Do you use both depending on the actual projects? How do you debug your iOS/watchOS apps? Do you currently fall back to Xcode for those purposes?

Edit: up to now SDE has been focused on sourcekite, though I currently think about moving it more towards features around language support (like supporting Migrations, Refactorings, Xcode projects, ...). But it would be quite an effort.