# Builder 3.22 Planning We have a pretty aggressive roadmap for 3.22, and so it's time to get involved if any of this interests you.
## Project and File Templates Now that the plumbing has landed for templates, it's time to propagate that into the UI for 3.22. We need to allow the users to select a template using GNOME 3 patterns and selection a desired language. https://wiki.gnome.org/Apps/Builder/Templates ## Panel Engine Plugins have become a necessity for Builder for a few reasons. Now that developers are starting to extend Builder, we need to come up with a way to manage panels that has some degree of flexibility without compromising our "code-first" editing story. Work has started on a new panel engine for GTK+. https://wiki.gnome.org/Apps/Builder/Panels ## Improved Shortcuts One thing that has gotten significantly more difficult since the GtkActionGroup/GtkUIManager days is managing complex shortcut engines. Especially when you need pre-defined sets of keybindings. Some applications such as GIMP might want a "Photoshop emulation" layer. Builder has this problem with managing Vim, Emacs, and Gedit keybinding modes. We intend to improve this story in 3.22 and bridge the gap between GAction, G_SIGNAL_ACTION, and custom keyboard shortcut layers. https://wiki.gnome.org/Apps/Builder/Shortcuts ## Custom Commands Tightly integrated with extended shortcut features will be the ability to execute custom commands. Users should be able to map a keyboard short to some arbitrary command, possibly executed in the application runtime (such as Xdg-App). https://wiki.gnome.org/Apps/Builder/CustomCommands ## Multi-Process Builder gained support for multi-process in 3.20, but still needs more plugins ported to take advantage of the feature. We'd like to see clang and Vala run in multi-process mode and be resiliant to crashes. Additionally, we'd like to see the use of cpu and memory cgroups to prevent runaway memory leaks and cpu hogs. https://wiki.gnome.org/Apps/Builder/MultiProcess ## Auto-Indenters As Builder gains features, we see more variety in syntax formatting. We currently support a few modes well (GNU C89, Python), but we can do a lot better. We'd also like an indent engine that works even better in the presence of an AST. https://wiki.gnome.org/Apps/Builder/AutoIndenters ## Run Support The first step to gaining a debugger is to support executing programs. Builder currently lacks this feature and it has a few caveats to it's success. We generally want to run programs from an "installed" state to avoid out-of-tree bugs. We also need to run inside of runtimes. Abstracting such issues in the precense of build system abstractions is some work. Even more so when we need to negotiate debugger integration with the runtime (such as Xdg-App). https://wiki.gnome.org/Apps/Builder/Running ## Build Tooling While Builder 3.20 can build projects inside an Xdg-App runtime, we do not yet have a way to build-finish, export, or deploy an application. Extending this story will have wide-reaching impact. https://wiki.gnome.org/Apps/Builder/XdgApp ## Terminal We'd like to allow users to bring their GNOME Terminal profiles with them. By default, we would like to see this match GNOME Terminal settings, or find some defaults that we like based on light/dark mode. https://wiki.gnome.org/Apps/Builder/Terminal ## Command Bar We would like to extend the Command Bar to support history. Additionally, we'd like to see it support a basic interaction model so you can programmatically do small tasks you might normally use a terminal for. For example: "hex(10)" => "0xa" https://wiki.gnome.org/Apps/Builder/CommandBar ## Perspectives Perspectives (that side-bar-thingy) in 3.20 were the first introduction into a long-running goal in Builder to have "workspaces" for different types of development. For example, a UI designer will have its own perspective. We would like to spend some time researching if the side-bar is the best way to achieve our perspective switcher, or if another model is more effective. https://wiki.gnome.org/Apps/Builder/Perspectives ## Search The search bar has not changed much since the beginning of Builder. We'd like to see it extended to support more interactive features. For example, if I type "libide/" while working on the Builder project, I probably want to see a directory listing of the libide/ directory. There are many other "smart handlers" we can implement here. https://wiki.gnome.org/Apps/Builder/GlobalSearch ## Spell Check Now that GSpell has been split out into a library, implementing spell- check for Builder should be a much easier project. We'd like to see code-spell-check implemented for strings and comments, as well as breaking function_names and checking their individual components. https://wiki.gnome.org/Apps/Builder/SpellCheck ## Search and Replace A long-missing feature, which is pretty self explanatory. We would like to do a design review of the current search-replace in Gedit, and see if that is something we want to copy, or if we should work on a new design that can be shared between projects. https://wiki.gnome.org/Apps/Builder/SearchAndReplace ## Distraction-Free Mode I'm writing this email from Gedit's "distraction-free" mode. A feature that came out of a discussion Palo and I had back at the Brno GUADEC. This is something we'd like to see in Builder as well, and is somewhat dependent on the panel engine landing first. https://wiki.gnome.org/Apps/Builder/DistractionFreeMode That's quite an exhaustive list! Please come join us and help make it a reality sooner rather than later. -- Christian _______________________________________________ Builder-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/builder-list
