HOME

TheInfoList



OR:

GNOME Builder is a general purpose
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE) for the
GNOME A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
platform, primarily designed to aid in writing GNOME-based applications. It was initially released on March 24, 2015. 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 Devhelp is a GTK/GNOME browser for API documentation; it works natively with gtk-doc (which is the API reference format for GTK/GNOME documentation). It is integrated in GNOME development tools such as GNOME Builder, Glade and Anjuta, and is an ...
. * The version control system
git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data inte ...
can be used to highlight code additions and changes. * Support for developing
flatpak Flatpak, formerly known as xdg-app, is a utility for software deployment and package management for Linux. It is advertised as offering a sandbox environment in which users can run application software in isolation from the rest of the system. ...
applications. *
Syntax highlighting Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms ...
for many programming languages by usin
GtkSourceView
*
Code completion Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS smartphones, this is called predictive text. In graphical user interfaces, users can typically press the tab ...
is available for the C-languages ( C,
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
, 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 (pro ...
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 was conceived in the late 1980s, and its implementation was started in December 1989 by Guido van Rossum at CWI in the Netherlands as a successor to ABC capable of exception handling and interfacing with the ...
, 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 The GLib Object System, or GObject, is a free software library providing a portable object system and transparent cross-language interoperability. GObject is designed for use both directly in C programs to provide object-oriented C-based APIs a ...
. 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 Ge ...
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 scripting languages. Typical operations performed by shell scripts include file manip ...
and XML. Jedi is used for code completion for Python.
Clang Clang is a compiler front end for the C, C++, Objective-C, and Objective-C++ programming languages, as well as the OpenMP, OpenCL, RenderScript, CUDA, and HIP frameworks. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), ...
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 programming language-specific features like code completion, syntax hig ...
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 In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
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. In 2015, over was raised worldwide by crow ...
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 *
GNOME Devhelp Devhelp is a GTK/GNOME browser for API documentation; it works natively with gtk-doc (which is the API reference format for GTK/GNOME documentation). It is integrated in GNOME development tools such as GNOME Builder, Glade and Anjuta, and is an ...


References


External links

*
gnome-builder
on GNOME's
GitLab GitLab Inc. is an open-core company that operates GitLab, a DevOps software package which can develop, secure, and operate software. The open source software project was created by Ukrainian developer Dmitriy Zaporozhets and Dutch developer S ...
instance * * FOSDEM2013
Has the GNOME community gone crazy?
- Video {{GTK GNOME Applications Integrated development environments Software that uses Meson