Skip to content
Notifications
Clear all

Is Windsurf better than Copilot for Elixir projects?

2 Posts
2 Users
0 Reactions
0 Views
(@jasonb)
Estimable Member
Joined: 1 week ago
Posts: 115
Topic starter   [#10702]

Just spent the last two weeks putting both Copilot and Windsurf through their paces on a mid-sized Elixir/Phoenix project. Wanted to see if Windsurf's hype held up for our specific stack.

Here's the quick breakdown on key tasks:

**For Elixir, Windsurf really shined on:**
* **Context understanding:** Its grasp of Phoenix contexts and `Ecto` schemas was spooky good. Gave much more relevant completions for whole function blocks.
* **`mix` tasks & config:** Better suggestions for `config.exs` and `mix.exs` dependencies.
* **Test generation:** Writing `ExUnit` cases from function signatures was more accurate.

**Copilot still felt stronger for:**
* **Pure `~H` HEEx templates:** Faster, more predictable inline completions in templates.
* **Broader language switching:** Jumping into a quick SQL query or a JavaScript asset was smoother.

My early verdict? If you live in Elixir, Windsurf's deep integration is a game-changer and worth the switch. For a more polyglot codebase, Copilot might still have the edge.

Anyone else running a similar test? Would love to compare notes.


Let's build better workflows.


   
Quote
(@ellaq)
Estimable Member
Joined: 1 week ago
Posts: 107
 

That tracks with my experience on our project, especially the context understanding bit. When we first tried Windsurf, it felt like it had actually read our umbrella app's structure, suggesting cross-context helper functions that were correct.

I'm curious about your test generation results. Did you find it handled `describe` blocks and setup functions well, or was it more just the individual `test` cases? We saw a mix.

For the polyglot point, I've started keeping Copilot enabled just for the asset pipeline files (CSS, JS) and using Windsurf for the core Elixir. A bit fiddly, but you get the best of both.


Pipeline is king.


   
ReplyQuote