Brackets Blog

code the web

Brackets 0.42 Release (Themes!)

I’m really excited to introduce the 0.42 release of Brackets which includes support for themes as well as a few other significant features including file-mode switching and numerous community features. This is a big release for us!

Themes

We are particularly proud of the themes feature because it’s one of the biggest collaborations yet between the community and our team. In this case we worked very closely with Miguel Castillo to add his very popular Brackets-Themes extension into core. Miguel put in many, many hours working with the team to make this happen. He had to do quite a bit of work to refactor the original extension so it would fit the style of core code and be able to load themes as extensions. Huge thank you to both Miguel and all the community members who provided feedback.

This initial release not only lets you choose themes to change the code editor surface, but you can also change the default font and the font size. All of this can be done by going to the View > Themes… menu in Brackets. We currently ship with two default themes, the normal light theme that we’ve had as well as a beautiful new dark theme done by our designer, Larz.

themes-feature-screenshot

Themes install just like extensions, so to get new themes, you can use the Extension Manager. There are already a number of themes that are up on the extension registry. Long term we want to separate these themes into their own tab, but for now you can search for “theme” and you’ll see a bunch of new themes you can install and use. There’s also a GitHub organization for Brackets theme developers which has the repositories for a number of themes all in one place. If you’re interested in creating your own themes and publishing them, we’ve got a Creating Themes document on the Brackets wiki that will get you started.

Switch Language Mode/Syntax Definition of a File

We also added the ability to switch the language mode and syntax definition of a file. To use this feature, click the file extension in the bottom status bar. You’ll now see a list of all the different language modes that Brackets supports. You can select one and you’ll now get syntax highlighting for that file as well as any other rules that apply to it.

syntax-highlighting

Other Changes

Replace in Files: The headings for each file include a checkbox for quickly including or excluding all matches in the file.

Extension Manager enhancements: The Extension Manager now shows the list of languages that an extension has been translated for. You can also install a local .zip file containing an extension by dragging and dropping it into the Extension Manager dialog.

JavaScript code hints: There were a couple of bug fixes that addressed an issue where some files would cause Brackets to hang or crash when using JavaScript hints that we fixed in the last release. In this release we now provide a notification in the cases when that happens. When the notification pops up the file will now automatically be added to the jscodehints.detectedExclusions preference so it will ignore these files in the future.

New translations: Brackets has been translated into Traditional Chinese as well as Galician!

You can see the full list of changes as well as specific pull requests on the Release Notes.

Community Contributions

Again, a huge thanks to Miguel Castillo and all of the community members who helped add themes to core. It was one of our most substantial community contributions to date and it’s a huge feature for Brackets.

There were a number of other community contributions this release including:

Love what you create

I love what you create

My name is Peter Thiess and I’m the engineering manager of the Brackets core team and a few related initiatives here at Adobe. After more than a decade developing proprietary software, it’s my pleasure to work on a project like Brackets and really exciting that Adobe has invested in this open source project.
Ever since I worked with tools like KDevelop and Subversion, or libraries like curl, the passion and dedication of Open Source contributors like Daniel Stenberg, have encouraged me to believe that there is a humble and humane force behind coding. Open Source is social coding and has always been, but it never felt as close as with Github; respect — you guys changed the world, yeah!

Individuals like Marijn Haverbeke or Tomás Malbrán have gained my deepest respect while working on Brackets. In addition, every single contributor to Brackets thrills and motivates me and my team every day. Not that one needs a lot of additional motivation to work on Brackets. It’s a real honor and a lot of fun to work with such smart engineers and an astonishing community. I love what you create! more

Brackets Weekly Episode 7

If you have trouble watching the video below, make sure you have Flash enabled for www.ccv.adobe.com.

Covered this week:

Keep up with Brackets Weekly via the low-traffic brackets-announce mailing list.

Brackets Weekly Episode 6

If you have trouble watching the video below, make sure you have Flash enabled for www.ccv.adobe.com.

Covered this week:

Keep up with Brackets Weekly via the low-traffic brackets-announce mailing list.

Brackets 0.41 Release (Replace Across Files)

The latest Brackets release is out, introducing a much-requested feature: the ability to replace text across multiple files in one batch.

Replace In Files
The new multi-file Replace In Files works like a blend of the existing Find In Files and single-file Replace commands. Start by selecting Find > Replace In Files (or right-click a folder and select Replace In… to limit the scope):

Using the Replace In Files bar, you can choose which files to search (using the same “exclusion sets” as in Find In Files) and set your search & replacement text (using all the same options as available in the single-file Replace bar). But Brackets doesn’t modify any files yet – first you get an opportunity to review all the matches and filter out ones you don’t want to modify:

Once you’re done, click the Replace button in the panel header to replace all the selected matches. By default, Brackets will leave all these replacements as unsaved changes – so you can Undo if needed. But if more than 20 files are involved, Brackets avoids flooding your workspace with open documents by performing the replacement directly on disk. You’ll always be warned in this case, since such replacements can’t be reverted via Undo:

Note: if you like the bottom panel’s checklist of replacements, you can use it for single-file replace too! Either right-click a file and choose Replace In…, or start a regular single-file Replace and click the “Batch…” button (formerly named “All…”):

Lastly, we took this opportunity to considerably clean up and consolidate our find/replace-related code. This will make further improvements in the future much easier – look for more to come!

Other Changes
Stability improvements – In the past, certain JS files have caused Brackets to freeze or become sluggish while analyzing the file for code hint information. Now, files that take too long to process are automatically ignored (code hints will still show, but they will reflect only what was gleaned from the other files in the project).

Renaming files – There’s now another way to rename files in Brackets: in the file tree, click the selected file a second time to rename it. This is similar to how the Windows Explorer and OS X Finder file views work.

Community Contributions

Summer Break
Lastly, a quick reminder: Adobe members of the Brackets team will be on break the week of June 30 – July 4, so responses to bug reports & pull requests may be delayed.

Brackets Weekly Episode 5

If you have trouble watching the video below, make sure you have Flash enabled for www.ccv.adobe.com.

Covered this week:

New! Keep up with Brackets Weekly via the low-traffic brackets-announce mailing list.

Brackets Weekly Episode 4

If you’re having trouble viewing the video, make sure that Flash is enabled for www.ccv.adobe.com.

There’s a special Friday episode of Brackets Weekly coming this Friday, June 27th.

Links from this week’s show:

Brackets Weekly Episode 3

Some people have reported trouble viewing the videos for Brackets Weekly. If you have trouble with the video below, please try this link and let us know in the comments if that worked for you. Thanks!

In this week’s episode:

Update on the Comp to Code Tool in Brackets

With the launch of Project Parfait in preview, as well as Lee’s open sourcing of his Response tool, I wanted to provide an update on the “Design Comp to Code” tool that we showed last year at Adobe MAX. After a bit of a delay in getting started, we’ve been hard at work turning that vision into a reality as an extension for Brackets. We’ve been able to leverage a lot of work from the Parfait team to bring a comp to code workflow directly into your code editor.

We’re excited about where we’re at now and we’ve recorded a video to share some of the progress we’ve been making. If you’ve seen the MAX video, you’ll see the core features that were in that original vision, as well as some new concepts like code hints for text and generating an asset from multiple layers.

We’ll be doing a private beta of the extension soon and we would love you to be a part of it! If you’re interested in participating, you can fill out the survey here. We’ll be starting small but hope to expand the group fairly quickly after the initial invites.

Over the next couple of months we’ll be sharing more about what features we have planned, so keep an eye on the Brackets blog for updates. We’re looking forward to sharing more of the roadmap and information on the
public preview. Let us know what you think!

=Ryan and the Comp to Code Team
ryan@adobe.com

Brackets Weekly Episode 2

Covered this week: