# &package_name; SDK Reference

## Builder Core API

### Overview

Access to Builder's SDK is centered around a project context named IdeContext. You access various subsystems such as the debugger or build manager via accessor methods on the IdeContext.

To simplify access to the project context, many internal objects share a common base class named IdeObject. It provides direct access to the IdeContext via ide_object_get_context() as well as convenience API for lifecycle management.

### Core Objects

### Application Extensions

### Logging and Tracing

### Builder Versioning

## The Buffer Subsystem

### Files and URIs

### Buffers

### Tracking Unsaved Files

## Source Code Editing

### The Editor Perspective

### The Editor View

### Search and Replace

### Auto-completion

### Semantic Highlighting

### Auto-Indentation

### Reformatting Code

### Snippets

## The Build Subsystem

### Core Build API

### The Build Pipeline

### Reusable Build Stages

### Build Configurations

### Utility and Fallback API

## The Diagnostics Subsystem

### API Reference

## The Device Subsystem

### API Reference

## Project Search

### Search Engine

### Performance Considerations

### Source Code Indexing

## The Documentation Subsystem

### API Reference

## Refactoring

## Workbench and View Layout

### API Reference

### Extending the Workbench

### Layout Management

### Keyboard Shortcuts

## The Version Control Subsystem

## SDKs and Runtimes

## Running Project Programs

### Extending Runners

## The Debugger Subsystem

### API Reference

## Symbol Extraction and Resolution

## Unit Testing

### API Reference

### Widgets

## Project Management and Templates

### API Reference

### Extending Project Creation Workflow

### Templates

## Application and Plugin Preferences

### API Reference

## Processes, Threading, and Tasks

### Threading

### Worker Processes

### Subprocesses

### Pausable Tasks

## Language Server Protocol

### API Reference

## Downloads and Transfers

### API Reference

### Widgets

## Miscellaneous and Utility API

### API Reference

### Internal Extension Management

### Widgets

## Object Hierarchy

## API Index

## Index of deprecated API

## Copyright and Legal Information

This document is the API reference for for &package_name; &package_version;. The latest version of this API reference is also available online.

If you find any issues in this API reference, please report it using the online bug reporting tool at bugzilla.gnome.org.

Copyright © 2014-2017 Christian Hergert, et al.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to:

            The Free Software Foundation, Inc.,
            59 Temple Place - Suite 330,
            Boston, MA 02111-1307,
            USA