> For the complete documentation index, see [llms.txt](https://docs.wisej.com/extensions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wisej.com/extensions/extensions/aceeditor.md).

# AceEditor

**Ace** is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate. It can be easily embedded in any web page and JavaScript application. Ace is maintained as the primary editor for [Cloud9 IDE](https://c9.io) and is the successor of the Mozilla Skywriter (Bespin) project.

![AceEditor with syntax highlighting for JavaScript](/files/KD1Fhj9sNsPnv3cdWBVk)

{% embed url="<https://github.com/iceteagroup/wisej-extensions/tree/Main/Wisej.Web.Ext.AceEditor>" %}
AceEditor Source Code
{% endembed %}

## Features

* [Syntax highlighting](https://pcwalton.blogspot.com/2010/11/syntax-highlighting-specification.html) for over 110 languages (TextMate/Sublime Text\_.tmlanguage\_ files can be imported)
* Over 20 themes (TextMate/Sublime Text *.tmtheme* files can be imported)
* Automatic indent and outdent
* An optional command line
* Handles huge documents (four million lines seems to be the limit!)
* Fully customizable key bindings including vim and Emacs modes
* Search and replace with regular expressions
* Highlight matching parentheses
* Toggle between soft tabs and real tabs
* Displays hidden characters
* Drag and drop text using the mouse
* Line wrapping
* Code folding
* Multiple cursors and selections
* Live syntax checker (currently JavaScript/CoffeeScript/CSS/XQuery)
* Cut, copy, and paste functionality

## Code Example

Use the *Theme* and *Language* properties to customize your AceEditor.

```c#
aceEditor1.Theme = "dracula";
aceEditor1.Language = "javascript";
```

To keep the Text value in sync between the Client and Server while editing, you can specify the *AutoUpdateDelay* (in milliseconds). If it´s set to 0, the Text property is updated when the focus leaves the AceEditor instance.

## How to Use

The **AceEditor** control can be added to a Wisej.NET project using NuGet Package Manager.

{% embed url="<https://www.nuget.org/packages/Wisej-3-AceEditor>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/extensions/extensions/aceeditor.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
