~/talk

Microservices for building an IDE – The innards of JetBrains Rider

Talkat NDC Oslo 2020 · 2020-06-08..06-12· [microservices]
slides:none on file

Rider combines an IntelliJ JVM front end and a .NET ReSharper back end using a homegrown, open‑source “Rider protocol” that exchanges a generated view model DSL (not raw RPC). It sends document deltas, uses versioned messages for conflict resolution, and exposes signals and properties plus lifetimes for automatic disposal. Multiple processes run on demand (IntelliJ, ReSharper, debugger, WPF preview, Roslyn/Unity hosts — four processes while debugging), and the system is shipping and working in production.

AI-written summary · about

  1. 0:00Start
  2. 3:50JetBrains
  3. 6:33ReSharper IDE
  4. 8:13Why build a .NET IDE?
  5. 12:31Options!
  6. 14:48Both sides are an IDE...
  7. 19:10Example: Context actions (Alt+Enter)
  8. 22:33Data types aren't that complex...
  9. 26:30Model-View-View Model MVVM
  10. 27:45Conflict resolution...
  11. 28:15Conflict conventions!
  12. 29:07Rider protocol
  13. 31:47Primitives
  14. 32:48Signal (event)
  15. 33:43Property
  16. 33:53Hierarchical + lifetimes
  17. 44:55Two processes!
  18. 47:53Shared view model
  19. 52:04Model the view as well
  20. 52:47Multiple machines
  21. 55:12Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.