# GNOME Builder

Welcome to the Builder project!

We’re excited to have you here! The Builder project started out of a class teaching people to program for the GNOME platform. In the process, we realized that we need to improve our tooling so we started creating Builder! We hope you love using Builder to create great software for GNOME!

## Contents

- Installation
- Exploring the Interface
- Projects
  - Creating and Importing Projects
  - Building your Project
  - Debugging your Project
  - Profiling your Project
  - Sharing your Project
- Plugins
  - Creating Your First Plugin
  - Extending the Workbench
    - The Basics
    - Registering Workbench Actions
    - Adding Widgets to the Header Bar
    - Adding Widgets to the Workbench
    - Registering Perspectives
    - Registering Panels
  - Extending the Greeter
  - Extending the Editor
    - Managing Buffers
    - Syntax Highlighting
    - Diagnostics and Fix-Its
    - Autocompletion
    - Snippets
    - File Settings and Indentation
  - Symbols and Semantic Analysis
    - Go To Definition
    - Extending the Symbol Tree
    - Renaming Symbols
  - Extending the Build Pipeline
    - Implementing a Build System
    - Extending the Build Pipeline
  - Processes and Containers
    - Application Runtimes and Containers
    - Subprocesses and Psuedo Terminals
  - Extending the Device Manager
  - Extending the Run Manager
  - Registering Keybindings
  - Integrating Language Servers
  - Extending Project Search
  - Extending Application Menus
  - Registering Application Preferences
  - Creating and Performing Transfers
  - Managing Worker Processes
  - Integrating Version Control
- API
- Contributing
  - Planning and Project Management
  - Writing Documentation
  - Contributing Code
- Credits