FLEXIBLE SWIFT - SWIFT AND IOS DEVELOPMENT IN JETBRAINS
Since JetBrains discontinued AppCode, Swift developers who love JetBrains IDEs have been a bit stranded.
So we built Flexible Swift: first-class Swift and iOS development in the IDE you already know.
It started in March as a grammar and a PSI tree, and it has been on a pretty steep release curve ever since. Here’s where it stands:
- Debugging: LLDB through the Debug Adapter Protocol (lldb-dap), including on the iOS Simulator. If you’re curious what that protocol looks like, I wrote about what a debugger is actually talking to.
- SwiftUI previews:
#Previewrenders to an image - and from Linux or Windows, the build can run on a remote Mac over SSH. - Xcode’s new project format: it reads the JSON
project.xcprojformat of Xcode 27.2 without xcodebuild, with a one-click migration fromproject.pbxproj. - Packages: a package manager tab (installed, search, dependency tree) and inlay hints in
Package.swift. - Docs and templates: hover docs for about 370 standard library symbols, plus live and postfix templates.
- Formatting and linting: SwiftLint, and SwiftFormat or swift-format on save.
- AI: an AI tab for Claude Code, Codex, Cursor, Gemini CLI and others (or Ollama, OpenAI, Anthropic and Gemini over HTTP), and a built-in MCP server with 18 tools - loopback only, with token auth.
Big thanks to @mariussoutier, who reported several issues early on. One of them: Go to Declaration on a member access made the RAM spike. The resolver searched the whole project and walked the full PSI tree every time. The fix was a lexer-only member index - which also halved the index size. Bug reports like that make a plugin better fast.
The limits: the Simulator tool window needs macOS with Xcode. SwiftUI previews need a Mac (local or remote), and only #Preview blocks render. The debugger does line breakpoints.
Get it here: plugins.jetbrains.com/plugin/31023-flexible-swift
Cheers, Paul
P.S. Later this month I’ll write more about how the SwiftUI preview works without Xcode on the machine :)
| Education | EBS Business School, SFSU, HSG |
| Experience | 20 Years Enterprise Systems |
| Built | Scipio ERP - ERP & Ecommerce System |
| Author | "Start/Up - Set the net on fire" |
| JetBrains | 5x Plugins Published |
| Languages | Java, Python, JS, TS, Rust, Go, Swift, PHP |
| Frontend | React, Vue, Angular, HTML/CSS |
| Databases | PostgreSQL, MySQL, MongoDB |
| Caching | Redis, Memcached |
| Enterprise | L'Oréal, Amadeus, Konica Minolta, Orange |
| Digital | 1&1 Internet, Sedo.com, Creditsafe |
| Public | DRK, Kanton Basel, Aktion Mensch, Börsenverein |