swiftlang / vscode-swift

Visual Studio Code Extension for Swift
https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang
Apache License 2.0
754 stars 52 forks source link

Use lldb-dap by default when using Swift 6 #1013

Open plemarquand opened 2 months ago

plemarquand commented 2 months ago

Currently vscode-swift uses the CodeLLDB extension to facilitate debugging with all swift versions. In Swift 6 lldb-dap started shipping in the toolchain. lldb-dap can be used as a replacement, removing the need to use a separate extension to debug.

There is currently a setting to start using lldb-dap available in the settings. I propose we use lldb-dap by default if the user is using Swift 6, deprecate the existing setting, and add a new one to explicitly enable using CodeLLDB in Swift 6 if users want the current behaviour.

If the user is using a Swift 5.x version the setting would have no effect. Ideally we could hide it if the user is using Swift 5.x but I dont know of a VS Code API to dynamically hide settings.

dschaefer2 commented 2 months ago

The defaults for these settings should just do the right thing: use lldb-dap if they have it or else rely on CodeLLDB.

Also note that CodeLLDB doesn't support Windows ARM so you have to use lldb-dap there.

matthewbastien commented 1 month ago

This is going to have to wait until lldb-dap is close to feature parity with CodeLLDB.

dschaefer2 commented 1 month ago

Yes, boo, but I get it. Need to get there first.