Hello all people,
I’m engaged on CodePerfect, an IDE for Go. It’s constructed like a online game: instantaneous startup, GPU-rendered UI, near-zero latency, indexes massive codebases rapidly, comparatively small useful resource footprint. It’s written in C/C++ and designed from the bottom up for efficiency.
At the moment it caters to customers who code in Vim or Chic Textual content, who simply need a light-weight editor that will get out of the way in which, however nonetheless need IDE options with out the effort of writing configs and establishing plugins. CodePerfect gives the very best of each worlds: the velocity of Vim, with a whole batteries-included IDE out of the field. Amongst different issues it helps:
- Go to definition
- Discover usages
- Parameter hints
- Undertaking-wide discover/exchange
- Rename identifier
- Discover implementations/interfaces
- Generate implementation
- Built-in debugger/construct
- AST-based navigation
- Postfix completions
- Vim keybindings
- Fuzzy seek for all the pieces
- Reside project-wide search
- Command palette (cmd+ok)
- and extra
…all whereas operating at 144 FPS with nearly no lag.
We obtain efficiency by:
(a) avoiding third-party code as a lot as doable, particularly issues like Electron, language servers, and different heavy dependencies;
(b) writing easy, linear-control-flow, “non-pessimized” code, with out pointless abstractions or “patterns”; and
(c) amortizing reminiscence allocation with arenas.
That’s principally it; there aren’t actually any loopy 200 IQ optimizations or algorithms or something like that. We do make use of acceptable knowledge constructions and issues like multithreading and mmap, however the primary driver of efficiency is simply writing easy code and banking on fashionable computer systems being insanely quick.
If you wish to play with it, there’s a free 7 day trial, no cc or signup wanted (obtain hyperlink). After that, as talked about, it’s a one-time payment for a perpetual license, and a subscription for ongoing updates. You should purchase both individually, or each.
I’d love to listen to your suggestions, questions, recommendations, and what you personally need/want in an IDE. We’re sure to nonetheless have bugs and lacking options and any stories could be tremendously appreciated. We even have a Discord.
Thanks for studying!