APOLLO TERMINAL v1.0 –
> █type '/help' for commands
Skip to main content
0200 / 00:00:00 / 1970.01.01
×
HOME ABOUT NEWS PROJECTS REFERENCES LINKS

FLEXIBLE SWIFT - SWIFT AND IOS DEVELOPMENT IN JETBRAINS

Flexible Swift plugin logo

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: #Preview renders 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.xcproj format of Xcode 27.2 without xcodebuild, with a one-click migration from project.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 :)

Background
EducationEBS Business School, SFSU, HSG
Experience20 Years Enterprise Systems
BuiltScipio ERP - ERP & Ecommerce System
Author"Start/Up - Set the net on fire"
JetBrains5x Plugins Published
Tech Stack
LanguagesJava, Python, JS, TS, Rust, Go, Swift, PHP
FrontendReact, Vue, Angular, HTML/CSS
DatabasesPostgreSQL, MySQL, MongoDB
CachingRedis, Memcached
Key Clients
EnterpriseL'Oréal, Amadeus, Konica Minolta, Orange
Digital1&1 Internet, Sedo.com, Creditsafe
PublicDRK, Kanton Basel, Aktion Mensch, Börsenverein
← PREV NEXT → TOP ↑