GNOME Builder
   HOME

TheInfoList



OR:

GNOME Builder is a general purpose
integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) for the
GNOME A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
platform, primarily designed to aid in writing GNOME-based applications. It was initially released on March 24, 2015, replacing
Anjuta Anjuta was an integrated development environment written for the GNOME project. It had support for C, C++, Java, JavaScript, Python and Vala programming language. In May 2022, the project was archived due to a lack of maintainers. Since Oct ...
. 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 Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
can be used to highlight code additions and changes. * Support for developing
flatpak Flatpak is a utility for software deployment and package management for Linux. It provides a sandbox environment in which users can run application software in (partial) isolation from the rest of the system. Flatpak was known as xdg-app unti ...
applications. *
Syntax highlighting Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
for many programming languages by usin
GtkSourceView
*
Code completion Code completion is an autocompletion feature in many integrated development environments (IDEs) that speeds up the process of coding applications by fixing common mistakes and suggesting lines of code. This usually happens through popups while typ ...
is available for the C-languages ( C, C++, etc.),
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (prog ...
and
Rust Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
, with additional languages under development. * Plugins that can be written in C,
Python 3 The programming language Python (programming language), Python was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at Centrum Wiskunde & Informatica, CWI in the Netherlands as a successor ...
, or
Vala Vala or VALA may refer to: Religion and mythology * Vala (Vedic), a demon or a stone cavern in the Hindu scriptures * Völva, also spelled Vala, a priestess in Norse mythology and Norse paganism Fiction * Vala (Middle-earth), an angelic being in ...
. * 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 of an upcoming version of GNOME Builder. More features will be integrated once
GTK Scene Graph Kit GTK Scene Graph Kit (GSK) is the rendering and scene graph API for GTK introduced with version 3.90. GSK lies between the graphical control elements (widgets) and the rendering. Like GDK, GSK is part of GTK and licensed under the GNU Lesser G ...
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 A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be command languages. Typical operations performed by shell scripts include file manipu ...
and XML. Jedi is used for code completion for Python.
Clang Clang () is a compiler front end for the programming languages C, C++, Objective-C, Objective-C++, and the software frameworks OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP. It acts as a drop-in replacement for the GNU Compiler ...
is used for code assistance for the C-like languages. Rust diagnostics are provided by using the
Language Server Protocol The Language Server Protocol (LSP) is an open, JSON-RPC-based protocol for use between source code editors or integrated development environments (IDEs) and servers that provide "language intelligence tools": programming language-specific feature ...
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 Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code ...
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 Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
-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 Crowdfunding is the practice of funding a project or venture by raising money from a large number of people, typically via the internet. Crowdfunding is a form of crowdsourcing and alternative finance, to fund projects "without standard financial ...
in January 2015 on the Indiegogo platform. The campaign reached 187% ($56,245) of its $30,000 funding goal.


Version history


See also

*
Glade Interface Designer Glade Interface Designer is a graphical user interface builder for GTK, with additional components for GNOME. In its third version, Glade is programming language–independent, and does not produce code for events, but rather an XML file th ...
*
Anjuta Anjuta was an integrated development environment written for the GNOME project. It had support for C, C++, Java, JavaScript, Python and Vala programming language. In May 2022, the project was archived due to a lack of maintainers. Since Oct ...
* GNOME Devhelp


References


External links

*
gnome-builder
on GNOME's
GitLab GitLab is a software forge primarily developed by GitLab Inc. It is available as a community edition and a commercial edition. History GitLab was created in 2011 by Ukrainian programmer Dmitriy Zaporozhets as a side project written in Rub ...
instance * * FOSDEM2013
Has the GNOME community gone crazy?
- Video {{GTK GNOME Applications Integrated development environments Free integrated development environments Software that uses Meson