[2026-10-15] eagle: personal/projects/balda/balda.md personal/projects/balda/execution-broker.md personal/projects/balda/setup.md work/projects/vscode-migration/tech-design-xcode-build-server.md work/projects/vscode-migration/xcode-build-server.md

This commit is contained in:
Alexey Martemyanov committed 2026-10-15 12:36:46 +06:00
1 parent ed60df36f8
commit a364f53bbb
5 files changed
+13 -10

No files matched your search

@@ -16,21 +16,21 @@
- an unclear number of users and an unclear owner.
- The Swift language server (sourcekit-lsp) can get build information from a *build server* instead of a Swift package. [sourcekit-xcode-bsp](https://github.com/slime-studio/sourcekit-xcode-bsp) is an open-source build server that reads `.xcodeproj` / `.xcworkspace` with swift-build, the build engine Apple open-sourced from Xcode.
- **Requirements:**
- No change to the Xcode projects, schemes, CI or release, and nothing changes for people who only use Xcode.
- No change to the Xcode projects, schemes, CI or release, and **nothing changes** for people who only use Xcode.
- Opt-in and easy to remove.
- macOS and iOS, including tests and packages.
- **macOS and iOS**, including tests and packages.
- People who use both Xcode and VS Code don't build or index everything twice.
## Problem Statement
Code intelligence and debugging in VS Code and Cursor need build information that today only Xcode has. We want to provide it from the Xcode projects as they are, without restructuring the codebase around it.
Code autocompletion, jump-to-definition and debugging in VS Code and Cursor need build information that today only Xcode has. We want to provide it from the Xcode projects as they are, without restructuring the codebase around it.
## Recommended Approach
Add an opt-in VS Code setup to the repository: a workspace file and a few scripts in `scripts/vscode/`. Nothing else in the repository changes.
**What a developer gets**
- Completion, jump to definition, references and live errors for app, test and package code, on macOS or iOS. One platform is chosen per worktree and can be switched.
- Completion, jump-to-definition, references and live errors for app, test and package code, on macOS or iOS. One platform is chosen per worktree and can be switched.
- Tasks to build any scheme and run unit tests; errors and failed tests show in the Problems panel.
- Debugging with breakpoints:
- the macOS app, launched from the editor;