The following is a description of API that plugin developers can use to extend or add new features to Builder.


I. Builder Core API
Overview
Core Objects
IdeApplication — Application singleton and extensions
IdeContext — Encapsulates all processing related to a project
IdeObject — Base object for IdeContext related objects
IdeService — Provide project services for plugins
Application Extensions
IdeApplicationAddin — extend functionality of IdeApplication
IdeApplicationTool — Implement command-line tools for Builder
Logging and Tracing
Debug logging and tracing — tracing and debug facilities for Builder and plugins
Logging — Standard logging facilities for Builder
Builder Versioning
Version Checking — Conditionally include code based on Builder version
Build Identifier — Identify a build by unique build identifier
II. The Buffer Subsystem
Files and URIs
ide-uri
ide-file
IdeFileSettings
Buffers
ide-buffer-manager
IdeBuffer
IdeBufferAddin — addins for IdeBuffer
IdeBufferChangeMonitor
Tracking Unsaved Files
ide-unsaved-files
ide-unsaved-file
III. Source Code Editing
The Editor Perspective
ide-editor-perspective
IdeEditorSidebar — The left sidebar for the editor
IdeEditorUtilities — Container for utilities in the editor perspective
The Editor View
ide-editor-view
IdeEditorViewAddin
IdeSourceView
IdeSourceMap — Source code overview minimap
Search and Replace
IdeEditorSearch
Auto-completion
ide-completion
ide-completion-context
IdeCompletionProvider
ide-completion-list-box-row
Semantic Highlighting
ide-highlight-engine
IdeHighlighter
ide-highlight-index
Auto-Indentation
IdeIndenter
ide-indent-style
Reformatting Code
IdeFormatter
ide-formatter-options
Snippets
IdeSnippet — A snippet to be inserted into a file
IdeSnippetChunk — An chunk of text within the source snippet
IdeSnippetContext — Context for expanding IdeSnippetChunk
IdeSnippetStorage — storage and loading of snippets
IV. The Build Subsystem
Core Build API
IdeBuildManager — Manages the active build configuration and pipeline
IdeBuildSystem
IdeBuildTarget
The Build Pipeline
ide-build-pipeline
IdeBuildPipelineAddin
IdeBuildStage
Reusable Build Stages
IdeBuildStageLauncher
IdeBuildStageMkdirs
ide-build-stage-transfer
Build Configurations
ide-configuration-manager
IdeConfigurationProvider
IdeConfiguration
ide-environment
ide-environment-variable
Utility and Fallback API
IdeCompileCommands — Integration with compile_commands.json
IdeBuildSystemDiscovery
ide-directory-build-system
V. The Diagnostics Subsystem
API Reference
ide-source-location
ide-source-range
IdeDiagnosticProvider
ide-diagnostics-manager
ide-diagnostics
ide-diagnostic
ide-fixit
VI. The Device Subsystem
API Reference
ide-device-manager
IdeDeviceProvider
IdeDevice
IdeLocalDevice
VII. Project Search
Search Engine
ide-search-engine
IdeSearchProvider
IdeSearchResult
Performance Considerations
IdeSearchReducer — Reduces the number of search results created
Source Code Indexing
IdeCodeIndexEntries
IdeCodeIndexEntry — information about code index entry
IdeCodeIndexer — Interface for background indexing source code
VIII. Refactoring
IdeRenameProvider
IdeProjectEdit
IX. Workbench and View Layout
API Reference
ide-workbench
IdeWorkbenchHeaderBar
IdePerspective
ide-omni-bar
Extending the Workbench
IdeWorkbenchAddin
ide-workbench-message
Layout Management
IdeLayoutView
ide-layout-grid-column
IdeLayoutGrid — A grid for IdeLayoutView
IdeLayoutStackAddin
IdeLayoutStackHeader — The header above document stacks
IdeLayoutStack — A stack of IdeLayoutView
IdeLayout
IdeLayoutPane
IdeLayoutTransientSidebar
Keyboard Shortcuts
X. The Version Control Subsystem
IdeVcs
ide-vcs-uri
IdeVcsConfig
IdeVcsInitializer
ide-directory-vcs
XI. SDKs and Runtimes
ide-runtime-manager
IdeRuntimeProvider
IdeRuntime
XII. Running Project Programs
ide-run-manager
IdeRunner
Extending Runners
IdeRunnerAddin
XIII. The Debugger Subsystem
API Reference
IdeDebuggerBreakpoints
IdeDebuggerBreakpoint
IdeDebuggerFrame
IdeDebuggerInstruction
IdeDebuggerLibrary
IdeDebuggerRegister
IdeDebuggerThreadGroup
IdeDebuggerThread
ide-debugger-types
IdeDebuggerVariable
IdeDebugger — Base class for debugger implementations
ide-debug-manager
XIV. Symbol Extraction and Resolution
IdeSymbolNode
IdeSymbolResolver
IdeSymbolTree
ide-symbol
IdeTagsBuilder
XV. Unit Testing
API Reference
IdeTestManager — Unit test discover and execution manager
IdeTestProvider
IdeTest
XVI. Project Management and Templates
API Reference
ide-project-info
IdeProjectItem
ide-project
Extending Project Creation Workflow
IdeGenesisAddin
ide-recent-projects
Templates
IdeProjectTemplate
IdeTemplateProvider
IdeTemplateBase
XVII. Application and Plugin Preferences
API Reference
IdePreferencesAddin
XVIII. Processes, Threading, and Tasks
Threading
ide-thread-pool
Worker Processes
IdeWorker
Subprocesses
IdeSubprocessLauncher
IdeSubprocess
IdeSubprocessSupervisor
Pausable Tasks
ide-pausable
XIX. Language Server Protocol
API Reference
IdeLangservClient
IdeLangservCompletionProvider
IdeLangservDiagnosticProvider
ide-langserv-formatter
IdeLangservHighlighter
IdeLangservRenameProvider
ide-langserv-symbol-node
IdeLangservSymbolResolver
ide-langserv-symbol-tree
XX. Downloads and Transfers
API Reference
IdeTransfer
ide-transfer-manager
ide-pkcon-transfer
Widgets
IdeTransferButton
ide-transfers-button
XXI. Miscellaneous and Utility API
API Reference
ide-doap-person
ide-doap
ide-dnd
ide-flatpak
ide-glib
ide-gtk
ide-line-reader
ide-posix
ide-enums
ide-progress
ide-ref-ptr
ide-settings
Internal Extension Management
ide-extension-adapter
ide-extension-set-adapter
Widgets
ide-cell-renderer-fancy
IdeFancyTreeView
Object Hierarchy
API Index
Annotation Glossary
Copyright and Legal Information