---
title: XCSourceEditorExtension
framework: XcodeKit
role: symbol
role_heading: Protocol
platforms: [macOS 10.12+]
path: xcodekit/xcsourceeditorextension
---

# XCSourceEditorExtension

The protocol you implement to create Xcode source editor extensions.

## Declaration

```swift
protocol XCSourceEditorExtension : NSObjectProtocol
```

## Overview

Overview There are no guarantees about the thread or queue on which any Xcode Source Editor Extension methods are executed, including the designated initializer.

## Topics

### Defining Extension Commands

- [commandDefinitions](xcodekit/xcsourceeditorextension/commanddefinitions.md)

### Handling Extension Launches

- [extensionDidFinishLaunching()](xcodekit/xcsourceeditorextension/extensiondidfinishlaunching().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Essentials

- [Creating a Source Editor Extension](xcodekit/creating-a-source-editor-extension.md)
- [Testing Your Source Editor Extension](xcodekit/testing-your-source-editor-extension.md)
