# Brackets (text editor)

Brackets is a source code editor with a primary focus on web development. Created by Adobe Inc., it is free and open-source software licensed under the MIT License, and is currently maintained on GitHub by open-source developers. It is written in JavaScript, HTML and CSS. Brackets is cross-platform, available for macOS, Windows, and most Linux distributions. The main purpose of Brackets is its live HTML, CSS and JavaScript editing functionality.
On November 4, 2014, Adobe announced the first (1.0) release of Brackets. The update introduced new features such as custom shortcut key combinations and more accurate JavaScript hinting. Brackets has a major focus on development in JavaScript-enabled, CSS and HTML. With release of version 1.0, Adobe announced a feature that extracts design information from a PSD file for convenience of coding in CSS. As of June 28, 2016, the feature is officially discontinued, due to low usage. However, Extract is still available via Photoshop and Dreamweaver, both of which are part of their paid service, Adobe Creative Cloud. In March 2021, Adobe announced it would end their support for Brackets on September 1, 2021.
The Brackets project was subsequently transferred to become a community-owned and driven project. The latest version release of Brackets is 2.2.1.

## History

Adobe first started development of a text editor for web development on Edge Code, which was discontinued as of November 2014. This effort was later transformed into Adobe Brackets. With the release of Brackets 1.0, Adobe announced that the development of an open source application for web development was ready and was not an experimental project any more. Brackets contains contributions by more than 282 community contributors and has more than 400 requests for bug fixes and new features. Every version of Brackets had more than 100,000 downloads, and it was the 16th most popular project on GitHub as of January 16, 2015.
The Brackets repository on GitHub (Bracket repository) currently has 152 branches, 110 releases and 17,700 commits as of 30 Aug 2018. The source code is freely available under the MIT license. A developer can alter features on Brackets and personalize it for one's own convenience by forking the software code.
Adobe officially dropped support for Brackets on September 1, 2021 and recommended users migrate to Microsoft's Visual Studio Code. The final official release was version 1.14.2, but a community fork continues to release newer versions. In addition to the community continuation fork, Brackets community contributors announced Phoenix on August 30, 2021. Phoenix is a fork of Brackets targeting web browsers, as opposed to being a native application.

## Features

Brackets provides several features including:
* Quick Edit
* Quick Docs
* Live Preview
* JSLint
* LESS support
* Open source
* Extensibility
* CodeMirror
* RequireJS (modules)

## Quick edit

Quick edit enables inline editing of CSS, Color Property, and JavaScript elements for developers. This built-in feature can be applied to multiple functions or properties simultaneously and all updates are applied directly to the file associated with the changed elements.

## Live preview

When one clicks the respective code snippet in CSS/HTML the web browser immediately shows the output relating to that code snippet in web browser. This feature is termed as Live Preview, this feature also pushes code edits instantly to the browser to present an updated webpage as the developers modify the code. Brackets contains a Node.js backend that predicts what the code does as the developer types the code.
Two scenarios to live preview

### Functionality

* HTML & CSS real time updates (without reloading)
* Element Highlighting: Elements selected in HTML and CSS files are highlighted within the browser.

### Live preview limitations

* Currently only works with desktop Google Chrome (not open-source Chromium), as the target browser.
* Opening developer tools in Google Chrome will close all live development connections.
* All files to be viewed must be inside a currently open folder in Brackets.
* Only one HTML file can be previewed at a time.
* Real time updates are paused when syntactically invalid HTML is encountered. Brackets will resume pushing changes to the browser when the syntax is corrected.

## Split view

This feature splits the main view into two parts. Users can split the view either vertically or horizontally according to their own convenience, thus allowing users to work on two files at same time. A developer can simultaneously work on two different files of two different types, two files of the same type, or even two different parts of the same file at the same time. Features such as Live Preview and Quick Edit work in both views.

## Multiple file format support

Brackets supports codes from multiple file types from C++, C, VBScript to Java, JavaScript, HTML, Python, Perl and Ruby. The complete list comprises more than 38 file types. This gives the user flexibility to work on various files of a project simultaneously.
Brackets supports a feature called "PSD lens" that helps to smoothly extract each of pictures, logos and design styles from PSD file without opening Photoshop to check for them. By calling this feature a preview Adobe conveys that there is much work ahead before this feature can be perfected. This feature brought in positive reviews from developers, but many issues were reported during the initial stages of the feature release. The problem was later solved using an extension.

## Theseus integration

Brackets integrates Theseus, an open-source JavaScript debugger that enables developers to set break points, step through code, and inspect the value of variables in real time. Theseus can be used to debug any extension in Brackets and is easily installed using the built-in extension manager. Theseus also works in conjunction with Live Preview through a proxy server that records a function and its associated values every time the function is called.

## Extensions

Being built with HTML, CSS, and JavaScript, developers can provide additional functionality to Brackets by creating extensions. These extensions can be found and installed using the built-in extension manager. Extensions can also be found online via Brackets Extension Registry.