# GNOME Builder

GNOME Builder is a general purpose integrated development environment (IDE) for the GNOME platform, primarily designed to aid in writing GNOME-based applications. It was initially released on March 24, 2015, replacing Anjuta. The application's tagline is "A toolsmith for GNOME-based applications".

## Features

* GNOME Builder has been addressing "GNOME App" developers from its inception, and aims to integrate well with other Gnome desktop development tools.
* Integrated support for GNOME Devhelp.
* The version control system git can be used to highlight code additions and changes.
* Support for developing flatpak applications.
* Syntax highlighting for many programming languages by using GtkSourceView.
* Code completion is available for the C-languages (C, C++, etc.), Python and Rust, with additional languages under development.
* Plugins that can be written in C, Python 3, or Vala.
* Basic support for many programming languages, and will offer additional features for languages that are supported by GObject Introspection.
At GUADEC 2016 Christian Hergert provided a demo on YouTube of an upcoming version of GNOME Builder. More features will be integrated once GTK Scene Graph Kit will have been merged into GTK. sysprof was forked and its version number bumped from 1.2.0 to 3.20 and was integrated in version 3.22.
GNOME Builder uses GNOME Code Assistance to provide code diagnostics for CSS, HTML, JS, JSON, Python, Ruby, SCSS, shell script and XML. Jedi is used for code completion for Python. Clang is used for code assistance for the C-like languages. Rust diagnostics are provided by using the Language Server Protocol to communicate with the Rust Language Server.

## User interface

Most of the interface is dedicated to the centrally positioned code editor. The editor automatically recognizes most programming languages and will highlight the text accordingly. When a version control system is used, colored bars next to the line numbers indicate changes to those lines. For supported languages, additional symbols highlight lines that contain errors or poorly formatted code.
Builder can switch between Builder's own, Vim-like and Emacs-like keyboard bindings.
Around the code-editor, additional panels can be toggled into view. These include a project-tree, a terminal-window, and a help-browser. The project tree allows the user to perform file and folder operations.

## Development

The development of GNOME Builder was crowdfunded in January 2015 on the Indiegogo platform. The campaign reached 187% ($56,245) of its $30,000 funding goal.

## Version history

| Version Number | Release Date | Notes |
| 3.16.0 | 24 March 2015 | Initial "preview" release |
| 3.16.1 | 13 April 2015 | Included improvements to the user interface, file management and syntax highlighting. |
| 3.16.2 | 16 April 2015 | Brought mostly bug fixes and some improvements to project management. |
| 3.16.3 | 18 May 2015 | Included a source-overview-map for scrolling and updates to the preference-dialogs. |
| 3.18.0 | 23 September 2015 | Was released with the rest of GNOME 3.18. |
| 3.18.1 | 15 October 2015 | Brought improvements to Vala code completion and error-hinting. The Jedi-plugin for Python code-completion was improved as well. |
| 3.20 | 23 March 2016 | Was released with GNOME 3.20. |
| 3.20.4 | 6 May 2016 | Included stability and performance improvements, including re-implementation of support for opening remote files. |
| 3.22.2 | 2 November 2016 | Introduced preliminary support for Rust and its GTK bindings. |
| 3.22.4 | 22 December 2016 | Included various build system improvements and better support for building Flatpak packages |
| 3.32.0 | 3 March 2019 | Major refactoring of the application's code. Included improved GDB integration and an initial Glade integration. |
| 3.32.2 | 6 May 2019 | Improvements to building apps and bug fixes. |
| 3.32.3 | 11 June 2019 | Included localization improvements, and bug fixes. |