### Namespace

# Ide – 42.0

An IDE for GNOME

Version | 42.0
Authors | Christian Hergert
License | GPL-3.0-or-later
Website | https://wiki.gnome.org/Apps/Builder
Source | https://gitlab.gnome.org/GNOME/gnome-builder/

#### Build

C headers | `libide-code.h, libide-core.h, libide-debugger.h, libide-editor.h, libide-foundry.h, libide-greeter.h, libide-gui.h, libide-io.h, libide-lsp.h, libide-plugins.h, libide-projects.h, libide-search.h, libide-sourceview.h, libide-terminal.h, libide-threading.h, libide-tree.h, libide-vcs.h`
pkg-config files | `gnome-builder-1.0`

#### Dependencies

GLib—2.0 | The base type system library
| Browse documentation
GObject—2.0 | The base type system library
| Browse documentation
Dazzle—1.0 | Supporting library for Gtk Applications
| Browse documentation

#### Additional documentation

- Classes Hierarchy

#### Classes

Application |
Buffer |
BufferChangeMonitor |
BufferManager |
BuildManager |
CellRendererFancy |
CloneSurface |
CommandManager |
CompileCommands |
Completion |
CompletionContext |
CompletionListBoxRow |
Config |
ConfigManager |
Context |
Debugger |
DebuggerBreakpoint |
DebuggerBreakpoints |
DebuggerFrame |
DebuggerInstruction |
DebuggerLibrary |
DebuggerRegister |
DebuggerThread |
DebuggerThreadGroup |
DebuggerVariable |
DebugManager |
DeployStrategy |
Device |
DeviceInfo |
DeviceManager |
DeviceProvider |
Diagnostic |
Diagnostics |
DiagnosticsManager |
DiagnosticTool |
DirectoryVcs |
Doap |
DoapPerson |
EditorPage |
EditorSearch |
EditorSidebar |
EditorSurface |
EditorUtilities |
EditorWorkspace |
Environment |
EnvironmentEditor |
EnvironmentVariable |
ExtensionAdapter |
ExtensionSetAdapter |
FallbackBuildSystem |
FancyTreeView |
FileSettings |
FormatterOptions |
Frame |
FrameEmptyState |
FrameHeader |
GreeterRow |
GreeterWorkspace |
Grid |
GridColumn |
HeaderBar |
HighlightEngine |
HoverContext |
LineChangeGutterRenderer |
LocalDevice |
Location |
LspClient |
LspCodeAction |
LspCodeActionProvider |
LspCompletionItem |
LspCompletionProvider |
LspCompletionResults |
LspDiagnostic |
LspDiagnosticProvider |
LspFormatter |
LspHighlighter |
LspHoverProvider |
LspRenameProvider |
LspSearchProvider |
LspService |
LspSymbolNode |
LspSymbolResolver |
LspSymbolTree |
LspWorkspaceEdit |
MarkedView |
Notification |
Notifications |
NotificationsButton |
Object |
ObjectBox |
OmniBar |
Page |
Pane |
Panel |
PersistentMap |
PersistentMapBuilder |
Pipeline |
PipelineStage |
PipelineStageLauncher |
PipelineStageMkdirs |
PipelineStageTransfer |
PkconTransfer |
PreferencesSurface |
PreferencesWindow |
PrimaryWorkspace |
Project |
ProjectFile |
ProjectInfo | This class contains information about a project that can be loaded. This information should be used to display a list of available projects.
Range |
RecentProjects |
RunManager |
Runner |
Runtime |
RuntimeManager |
SearchButton |
SearchEngine |
SearchResult |
Settings |
SimpleBuildSystemDiscovery |
SimpleBuildTarget |
SimpleToolchain |
Snippet |
SnippetChunk |
SnippetContext |
SnippetParser |
SnippetStorage |
SourceView |
SubprocessLauncher |
SubprocessSupervisor |
Surface |
SurfacesButton |
Symbol |
SymbolNode |
TaggedEntry |
TaggedEntryTag |
Task |
TemplateBase |
Terminal |
TerminalLauncher |
TerminalPage |
TerminalPopover |
TerminalSearch |
TerminalSurface |
TerminalWorkspace |
Test |
TestManager |
TestProvider |
TextEdit |
Toolchain |
ToolchainManager |
Transfer |
TransferButton |
TransferManager |
TransientSidebar |
Tree |
TreeModel |
TreeNode |
UnsavedFiles |
VcsFileInfo |
VcsMonitor |
Workbench |
Workspace |

#### Interfaces

ApplicationAddin |
BufferAddin |
BuildSystem |
BuildSystemDiscovery |
BuildTarget |
BuildTargetProvider |
CodeAction |
CodeActionProvider |
CodeIndexEntries |
CodeIndexer |
Command |
CommandProvider |
CompletionDisplay |
CompletionProposal |
CompletionProvider |
ConfigProvider |
ConfigViewAddin |
ContextAddin |
DependencyUpdater |
DiagnosticProvider |
EditorAddin |
EditorPageAddin |
Formatter |
FrameAddin |
GreeterSection |
Gutter |
Highlighter |
HoverProvider |
Indenter |
OmniBarAddin |
PipelineAddin |
PreferencesAddin |
ProjectTemplate |
ProjectTreeAddin |
RenameProvider |
RunnerAddin |
RuntimeProvider |
SearchProvider |
SessionAddin |
Subprocess |
SymbolResolver |
SymbolTree |
TemplateProvider |
ToolchainProvider |
TreeAddin |
Vcs |
VcsBranch |
VcsCloner |
VcsConfig |
VcsInitializer |
VcsTag |
WorkbenchAddin |
Worker |
WorkspaceAddin |

#### Structs

BuildLog |
CodeIndexEntry |
CodeIndexEntryBuilder |
DebuggerAddressRange |
File |
HighlightIndex |
LineReader |
MarkedContent |
PtyIntercept |
PtyInterceptSide |
RunButton |
SearchReducer |
SnippetInfo |
ThreadPool |
Triplet |
UnsavedFile |
VcsUri |

#### Aliases

DebuggerAddress |
PtyFd |

#### Enumerations

ArtifactKind |
BufferState |
BuildLogStream |
CompletionActivation |
CompletionColumn |
CursorType |
DebuggerBreakMode | The type of breakpoint.
DebuggerBreakpointChange | Describes the type of modification to perform on a breakpoint.
DebuggerDisposition | The disposition determines what should happen to the breakpoint at the next stop of the debugger.
DebuggerMovement | Describes the style of movement that should be performed by the debugger.
DebuggerStopReason | Represents the reason a process has stopped executing in the debugger.
DebuggerStream | The type of stream for the log message.
DeviceKind |
DiagnosticSeverity |
DoapError |
EditorSearchDirection |
EditorSearchSelect |
HighlightResult |
IndentStyle |
LspCompletionKind |
LspTrace |
MarkedKind |
ObjectLocation |
ProcessKind |
SourceViewModeType | The type of keyboard mode.
SourceViewMovement | The type of movement.
SourceViewTheatric | The style of theatric.
SymbolKind |
TaskKind |
TestStatus |
ThreadPoolKind |
TransferError |
TreeNodeVisit |
VcsConfigType |
VcsFileStatus |

#### Bitfields

BufferLineChange |
BufferOpenFlags | The `IdeBufferOpenFlags` enumeration is used to specify how a document should be opened by the workbench. Plugins may want to have a bit of control over where the document is opened, and this provides a some control over that.
BuildLocality |
PipelinePhase |
SourceScrollAlign |
SpacesStyle |
SymbolFlags |
TreeNodeFlags |

#### Error Domains

BuildError |
DeviceError |
RuntimeError |

#### Callbacks

BufferChangeMonitorForeachFunc |
BufferForeachFunc | Callback prototype for ide_buffer_manager_foreach().
BuildLogObserver |
DiagnosticsLineCallback | This function prototype is used to notify a caller of every line that has a diagnostic, and the most severe `IdeDiagnosticSeverity` for that line.
ExtensionSetAdapterForeachFunc |
FileWalkCallback |
HighlightCallback |
PtyInterceptCallback |
RunHandler |
SnippetStorageForeach |
TaskThreadFunc |
TextIterCharPredicate |
ThreadFunc |
TreeNodeCompare | This callback function is a convenience wrapper around GCompareFunc.
TreeTraverseFunc | This function prototype is used to traverse a tree of `IdeTreeNode`.
WidgetContextHandler |

#### Functions

build_error_quark |
code_get_resource |
create_host_triplet |
create_project_id | Escapes the project name into something suitable using as an id. This can be uesd to determine the directory name when the project name should be used.
editor_get_resource |
environ_parse | Parses a KEY=VALUE style key-pair into `key` and `value`.
find_program_in_host_path | Like `g_find_program_in_path()` but checks the host system which may not be the same as the container we’re running within.
g_content_type_get_symbolic_icon | This function is similar to `g_content_type_get_symbolic_icon()` except that it takes our bundled icons into account to ensure that they are taken at a higher priority than the fallbacks from the current icon theme such as Adwaita.
g_file_add_ignored_pattern | Adds a pattern that can be used to match ignored files. These are global to the application, so they should only include well-known ignored files such as those internal to a build system, or version control system, and similar.
g_file_find_async | Searches descendants of `file` for files matching `pattern`.
g_file_find_finish | Gets the files that were found which matched the pattern.
g_file_find_in_ancestors_async |
g_file_find_in_ancestors_finish |
g_file_find_with_depth |
g_file_find_with_depth_async | Searches descendants of `file` for files matching `pattern`.
g_file_get_children_async | This function is like `g_file_enumerate_children_async()` except that it returns a `GPtrArray` of `GFileInfo` instead of an enumerator.
g_file_get_children_finish | Completes an asynchronous request to ide_g_file_get_children_async().
g_file_get_uncanonical_relative_path | This function is similar to `g_file_get_relative_path()` except that `file` and `other` only need to have a shared common ancestor.
g_file_is_ignored | Checks if `file` should be ignored using the internal ignore rules. If you care about the version control system, see `IdeVcs` and ide_vcs_is_ignored().
g_file_walk | Calls `callback` for every directory starting from `directory`.
g_file_walk_with_ignore | Calls `callback` for every directory starting from `directory`.
g_host_file_get_contents | This is similar to `g_file_get_contents()` but ensures that we get the file from the host, rather than our mount namespace.
get_application_id |
get_main_thread | Gets `GThread` of the main thread.
get_process_kind | Gets the kind of process we’re running as.
get_program_name |
get_projects_dir | Gets the directory to store projects within.
get_relocatable_path | Gets the path to a resource that may be relocatable at runtime.
get_system_arch |
get_system_page_size |
get_system_type |
get_user_shell | Gets the user preferred shell on the host.
gettext |
greeter_get_resource |
gtk_show_uri_on_window |
gtk_window_present |
language_format_header |
log_get_verbosity | Retrieves the log verbosity, which is the number of times -v was provided on the command line.
log_increase_verbosity | Increases the amount of logging that will occur. By default, only warning and above will be displayed.
log_init | Initializes the logging subsystem. This should be called from the application entry point only. Secondary calls to this function will do nothing.
log_set_verbosity | Sets the explicit verbosity. Generally you want to use `ide_log_increase_verbosity()` instead of this function.
log_shutdown | Cleans up after the logging subsystem and restores the original log handler.
lsp_decode_completion_kind |
lsp_decode_symbol_kind |
lsp_decode_text_edit | Attempt to parse an encoded LSP text edit into an `IdeTextEdit`.
path_collapse | This function will collapse a path that starts with the users home directory into a shorthand notation using ~/ for the home directory.
path_expand | This function will expand various “shell-like” features of the provided path using the POSIX wordexp(3) function. Command substitution will not be enabled, but path features such as ~user will be expanded.
path_is_c_like |
path_is_cpp_like |
path_is_ignored | Checks if `path` should be ignored using the global file ignores registered with Builder.
set_application_id | Sets the application id that will be used.
shell_supports_dash_c |
shell_supports_dash_login |
source_search_context_backward_async | This function is an alternate implementation of async backward search that works around an issue in upstream GtkSourceView until it is fixed and we can remove this.
source_search_context_backward_finish2 |
source_style_scheme_apply_style |
sourceview_get_resource |
text_iter_backward_find_char |
text_iter_backward_paragraph_start | Searches backwards until we find the beginning of a paragraph.
text_iter_backward_sentence_start |
text_iter_backward_WORD_end |
text_iter_backward_word_end |
text_iter_backward_WORD_start |
text_iter_backward_word_start |
text_iter_current_symbol |
text_iter_find_chars_backward | Search backward for a `str` string, starting at `iter` position till `limit` if there’s one. In case of succes, `iter` is updated to `str` start position.
text_iter_find_chars_forward | Search forward for a `str` string, starting at `iter` position till `limit` if there’s one. In case of succes, `iter` is updated to the found `str` start position, otherwise, its position is undefined.
text_iter_forward_find_char | Similar to gtk_text_iter_forward_find_char but lets us acces to the iter in the predicate.
text_iter_forward_paragraph_end | Searches forward until the end of a paragraph has been hit.
text_iter_forward_sentence_end |
text_iter_forward_WORD_end |
text_iter_forward_word_end |
text_iter_forward_WORD_start |
text_iter_forward_word_start |
text_iter_in_string | Check if `iter` position in the buffer is part of `str`.
text_util_delete_line |
vte_pty_create_slave |
widget_get_context | Gets the context for the widget.
widget_get_workbench | Gets the `IdeWorkbench` that contains `widget`.
widget_get_workspace | Gets the `IdeWorkspace` containing `widget`.
widget_reveal_and_grab |
widget_set_context_handler | Calls `handler` when the `IdeContext` has been set for `widget`.

#### Function Macros

BUG |
CHECK_VERSION | Compile-time version checking. Evaluates to `TRUE` if the version of libide is greater than the required one.
context_warning |
DEPRECATED_FOR |
DEPRECATED_IN_3_28_FOR |
DEPRECATED_IN_3_30_FOR |
DEPRECATED_IN_3_32_FOR |
DEPRECATED_IN_3_34_FOR |
DEPRECATED_IN_3_36_FOR |
DEPRECATED_IN_3_38_FOR |
DEPRECATED_IN_3_40_FOR |
DEPRECATED_IN_41_FOR |
DEPRECATED_IN_42_FOR |
diagnostics_get_size |
ENCODE_VERSION |
FILE_SETTINGS_PROPERTY |
GOTO | Appends to the jump to label to the tracing log and then jumps to the label `_l`.
is_flatpak |
object_message |
object_warning |
RETURN | Similar to `IDE_EXIT` but allows providing a return value.
TODO | Appends to the tracing log that unsupported code has been reached.
TRACE_MSG | Similar to `IDE_PROBE` but allows specifying a log message.
UNAVAILABLE |
widget_warning |

#### Constants

BUILD_CHANNEL | The release channel of Builder. This should be a string such as “other”, “flatpak-stable”, or “flatpak-nightly”.
BUILD_IDENTIFIER | A string containing a tag that defines the version of Builder that was built. Generally, this will be a small version tag plus some information to identify the git commit hash when applicable.
BUILD_TYPE | The build type of the installed build.
DEBUGGER_ADDRESS_INVALID |
ENABLE_TRACE |
FILE_SETTINGS_EXTENSION_POINT |
LOG_LEVEL_TRACE |
LSP_COMPLETION_PROVIDER_PRIORITY |
MAJOR_VERSION | Libide major version component (e.g. 1 if `IDE_VERSION` is 1.2.3)
MINOR_VERSION | Libide minor version component (e.g. 2 if `IDE_VERSION` is 1.2.3)
PIPELINE_PHASE_MASK |
PIPELINE_PHASE_WHENCE_MASK |
PTY_FD_INVALID |
PTY_INTERCEPT_MAGIC |
RECENT_PROJECTS_BOOKMARK_FILENAME |
RECENT_PROJECTS_BUILD_SYSTEM_GROUP_PREFIX |
RECENT_PROJECTS_BUILD_SYSTEM_HINT_GROUP_PREFIX |
RECENT_PROJECTS_DIRECTORY |
RECENT_PROJECTS_GROUP |
RECENT_PROJECTS_LANGUAGE_GROUP_PREFIX |
TOOLCHAIN_LANGUAGE_ANY |
TOOLCHAIN_LANGUAGE_C |
TOOLCHAIN_LANGUAGE_CPLUSPLUS |
TOOLCHAIN_LANGUAGE_D |
TOOLCHAIN_LANGUAGE_FORTRAN |
TOOLCHAIN_LANGUAGE_PYTHON |
TOOLCHAIN_LANGUAGE_VALA |
TOOLCHAIN_TOOL_AR |
TOOLCHAIN_TOOL_CC |
TOOLCHAIN_TOOL_CPP |
TOOLCHAIN_TOOL_EXEC |
TOOLCHAIN_TOOL_LD |
TOOLCHAIN_TOOL_PKG_CONFIG |
TOOLCHAIN_TOOL_STRIP |
VERSION | Libide version.
VERSION_S | Libide version, encoded as a string, useful for printing and concatenation.