-
Notifications
You must be signed in to change notification settings - Fork 60
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
Set swift.swiftSDK for target platforms #1390
base: main
Are you sure you want to change the base?
Set swift.swiftSDK for target platforms #1390
Conversation
SourceKit-LSP now provides code editing support for non-macOS Darwin platforms starting Swift 6.1 using the --swift-sdk flag. Set this flag to the appropriate target triple when using the "Select Target Platform" feature on macOS. Issue: swiftlang#1335
: ""; | ||
if (sdkForTarget !== undefined) { | ||
if (sdkForTarget !== "") { | ||
configuration.sdk = sdkForTarget; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if we should keep configuration.sdk
for toolchains less than 6.1 or if we should just avoid setting it entirely since it doesn't provide any code editing support from SourceKit-LSP. Also it seems like we'll need either configuration.sdk
or configuration.swiftSDK
set, but not both together.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if we should keep
configuration.sdk
for toolchains less than 6.1 or if we should just avoid setting it entirely since it doesn't provide any code editing support from SourceKit-LSP.
I'm leaning towards just hiding this command altogether on unsupported toolchain and OS combinations instead of showing a warning notification. The setting description in the package.json
should probably have a warning about this as well.
Also it seems like we'll need either
configuration.sdk
orconfiguration.swiftSDK
set, but not both together.
I'm not entirely sure of the difference between the two, but I'm guessing configuration.sdk
is for older Swift versions that don't support the --swift-sdk
option? In which case we could even change the behaviour of this command depending on the Swift version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, yes good points, seems like it only makes sense to really show the option for supported combinations (currently only Darwin-based platforms). Potentially in the future it would make sense to have a list of common target-triples for other platforms as well to enable convenient switching.
It doesn't look like setting configuration.sdk
makes much difference for any code editing/SourceKit support functionality. Perhaps it did something for much older toolchains, but it doesn't seem to do much in terms of code editing support for 5.10 or 6 at least. Probably better to avoid setting it to something automatically to prevent confusion.
SourceKit-LSP now provides code editing support for non-macOS Darwin platforms starting Swift 6.1 using the
--swift-sdk
flag. Set this flag to the appropriate target-triple when using theSelect Target Platform
feature on macOS.Issue: #1335