Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Release Notes: Sprint 38
What's New in Sprint 38
- Multiple cursor / multiple selection support, including...
- Ctrl/Cmd-click or drag to create multiple cursors/selections
- Alt-drag to create a rectangular selection (add Ctrl/Cmd to select multiple rectangles)
- Ctrl/Cmd-U to undo selection/cursor changes (add Shift to navigate forward in cursor history)
- Ctrl/Cmd-B to add a new selection at the next occurrence of a word or selected text. Shift-Ctrl/Cmd-B to skip an occurrence and add a selection on the next one. Alt-F3 or Cmd-Ctrl-G to add all occurrences as selections at once.
- Read the full documentation for details.
- Support asynchronous linting: Linters that require reading extra files from disk or talking to network services can now integrate with the standard Brackets linting UI.
Files and Folders
- File tree expand/collapse shortcuts: Ctrl/Cmd-click to expand/collapse all siblings; Ctrl/Cmd-Alt-click to collapse subtree.
- View .ico files, e.g. often used as website "favicon"
- Overall UI
- Ongoing Research (not implemented yet)
Find in Files - If you've set a file/folder exclusion filter and then you use 'Find In...' on a single file, filtering is temporarily disabled to ensure the file is always searched.
CodeMirror v4 & multiple cursors/selections - See the Brackets CodeMirror v4 Migration Guide. Notably, referencing
CodeMirror as a global identifier is now deprecated; use Require instead, as with other modules.
PHP files -
Editor.getLanguageForSelection() will now return the correct
"php" language (instead of the generic
New/Improved Extensibility APIs
Inline Editors - When a provider has nothing to show for the current cursor position, it can return an explanation string instead of just
null. If no providers respond, the explanation is shown in a popup. This can help make inline editing functionality more discoverable to users.
LanguageManager - If a file extension already has a default Language mapping in Brackets, an extension can unregister the mapping in order to use it with a new Language. (For example, changing ".twig" from generic HTML highlighting to a new Twig-specific highlighting mode). Use
In addition, all the add/remove file name/extension APIs can now optionally be passed an array of items instead of a single item.
Editor - All
set* methods for Editor settings now take an optional path parameter to get setting for a particular file. If omitted, then the current document is used. The
set* methods also now return a boolean value which indicates whether value is valid.
Jump to Definition - use
EditorManager.registerJumpToDefProvider() to register a provider for the Navigate > Jump to Definition command.
- "Brackets Code Folding" extension causes extremely slow typing in HTML files with this release. Track this extension bug for updates.
- Brackets may crash or freeze on projects using the Ionic framework. Exclude the framework JS files to avoid this (they will be automatically excluded in Sprint 39).
- Activity Monitor in Mavericks (OS X 10.9) says the Brackets Helper process is "Not Responding" even when it's working normally (#5794). You can safely ignore this unless Brackets is actually failing to respond when you click or type text.
- On Windows XP, Brackets will not detect external file changes instantly. It behaves similarly to Sprint 35 and earlier releases - changes are detected upon window activation, and the folder tree must be manually refreshed.
- #2272: Windows Vista may not allow the Brackets installer to run (you may not see any error message). To work around this, right-click the installer file, choose Properties, and click the Unblock button.
- #4362: Slow startup of Brackets and Live Preview on Windows due to Chrome proxy settings. See workaround.
- Debug > Run Tests is disabled in the installer/DMG distributions of Brackets, because the unit test code is not included. To run unit tests, pull Brackets from GitHub instead.
- #7127: With Chrome 34, using Live Preview will show a console error: "'CSS.getAllStyleSheets' wasn't found". This is harmless and shouldn't affect Live Preview.
Community contributions to Brackets
- Support asynchronous linting / code inspection providers by Arzhan "kai" Kinzhalin (Intel Corp)
- New preference: allow scrolling past the end of file by Tomás Malbrán
- Added 'Collapse File Tree' feature by Martin Zagora
- Select only filename (not extension) when renaming by Robo210
- Refinement: select only filename even with multi-part extensions by Martin Zagora
- Preview .ico files in Brackets by Marcel Gerber
- New Brackets-logo spinner icon by Marcel Gerber
- Fix: JSLint didn't respect tab size setting when Tab char enabled by Martin Zagora
- Fix: Inline bezier editor error didn't reappear after editing during fadeout (and) by Marcel Gerber
Accept string id in
PreferencesManager.convertPreferences(), not just module object by Marcel Gerber
Allow extensions to load LESS files that use
@import(Win only for now) by Martin Zagora
- Fix shift in document scroll position when reloading Brackets with non-default font size by Tomás Malbrán
"fontSizeChange"event from Restore Font Size command by Lance Campbell
- Fix: Async.PromiseQueue halts if any promise rejects by jayther
- Fix: Restore the correct selections after Toggle Line Comment by Marcel Gerber
- Fix issues with Close Others context menu preferences by Tomás Malbrán
- Green Update buttons in Extension Manager - easier to spot by Matt Stow
- Fix: Clicking update icon in Extension Manager tab doesn't select tab by Olgierd Grzyb
- Fix console warning spam for external changes inside .git folder by Martin Zagora
- Highlight Streamlinejs files (._js, ._coffee) as plain JS/CoffeScript by Drew Fyock
- Recognize .xsl files as XML by Gideon Goldberg
- Recognize .jshintrc & .bowerrc as JSON, and Guardfile as Ruby by Diego Leme
- Fix Grunt build error in case-sensitive file systems by Alain Kalker
- Add English (UK) language distinct from English (US) (no specific localizations yet though) by Martin Zagora
- Simplified Chinese translation update by peterfyj
- Czech translation update by kvarel
- Italian translation update by Francesco Borzì
- Italian translation update by Denisov21
- German translation update by Marcel Gerber
- Spanish translation update by Tomás Malbrán
- Swedish translation update by Mikael Jorhult
- Nicer apostrophes in French & Italian translations by Fez Vrasta
- Update Commands.js docs for preferences toggle handlers by Lance Campbell
Pulling source code from Git
- A new brackets-shell build is not needed for this sprint.
- Git submodules were updated this sprint. Run
git submodule updateto ensure your source tree is fully up to date.
Bugs fixed in Sprint 38
For details on the bugs addressed, please refer to closed sprint 38 bugs. Not all fixed bugs will be caught by this search query, however.