-
Notifications
You must be signed in to change notification settings - Fork 182
Linux Development for Contributors
Brackets officially supports Mac and Windows. However, we're working on adding Linux support with the help of our open source community. If you're an end user that just wants to try out Brackets on Linux, please be aware that many features are missing or partially implemented.
To be clear, if you are NOT an extension developer and NOT planning to contribute to brackets-shell, please visit download.brackets.io to download a preview build of Brackets. Please review the release notes for known issues.
These instructions will download the Git repositories for brackets-shell and brackets, download required dependencies, compile the native shell, create and install a debian package, then run Brackets ( /usr/bin/brackets
).
- Fork brackets and fork brackets-shell
- Create a top level folder to contain the Brackets git repositories
- In a terminal window,
cd
to the folder from the previous step and run the following command
wget https://gist.github.com/jasonsanjose/5514813/raw/5b9e5ff17a54cbd50dd16e9b8cc1fdc0077e21ba/setup.sh; chmod +x setup.sh; bash setup.sh; rm setup.sh
- You'll be prompted for your GitHub user name to clone your fork of the repositories
- Respond to
sudo
password prompts when requested
ATTENTION This setup script will point your git origin
to your own fork, then add a remote upstream
and point to the upstream/master
branch in the main git repository. Assuming you're here to contribute to Brackets, you will want to point to your fork. This setup script automates the fork and upstream setup instructions here.
# cache root
~/.Brackets
# browser cache, local storage, etc.
~/.Brackets/cef_data
# extensions
~/.Brackets/extensions/user
The extension development workflow is the same as Mac and Windows. Please refer to How to hack on Brackets and How to write extensions. Please note that the extension location on Linux is ~/.Brackets/extensions/user
.
Contributors: If you are willing to test other Linux distributions please add your results here
Distribution | Version | Issues |
---|---|---|
Ubuntu | 13.04 64-bit | libudev workaround https://github.com/adobe/brackets/issues/4720 (Fix arrives in Sprint 30) |
Ubuntu | 12.04 32-bit | None |
Ubuntu | 12.04 64-bit | libudev workaround https://github.com/adobe/brackets/issues/4720 (Fix arrives in Sprint 30) |
Mint 15 | 64-bit | libudev workaround https://github.com/adobe/brackets/issues/4720 (Fix arrives in Sprint 30) |
LMDE(*) | Debian Testing 32 bit | None |
Arch | 32/64-bit | Not tested / None - (Package: https://aur.archlinux.org/packages/brackets-git) |
(*) Linux Mint Debian Edition
The setup script will automatically create /path/to/brackets-shell/Makefile
. If you're only making changes to C++ code, just run grunt build
and the binaries will be in /path/to/brackets-shell/out/Release
.
When adding new files or changing the build configuration, you'll need to make modifications to the GYP configuration files (either appshell.gyp.txt
or common.gypi
). After making changes, you'll need to generate a new Makefile
. To do this, run:
gyp --depth .
To build a debian package for installation on Debian/Ubuntu distributions, use the grunt installer
build task. This tasks copies over both the binaries and the www source and creates a debian pacakge, e.g. installer/linux/Brackets Sprint 30.deb.
There are several user stories (feature work) to complete in brackets-shell before the Linux version reaches feature parity with Mac and Windows. These stories are listed below in priority order
User Story | Status | Affected Features | Contact |
---|---|---|---|
Done | Everything | Jason San Jose | |
Node Integration | In Progress | Live Preview HTML Highlighting, Extension Manager Install/Update/Remove | Joel Brandt, Tim Burgess, https://github.com/adobe/brackets-shell/pull/278 |
Ubuntu Installer/Packaging | In Progress | Install experience | Jason San Jose |
File API - delete, rename | In Progress | Project tree and File menu delete and rename commands | https://github.com/adobe/brackets-shell/pull/304, https://github.com/adobe/brackets-shell/pull/285 |
Native Menus | Not Started | Menus (HTML menus are an interim, but completely functional substitute) | |
Show in OS | Not Started | Project tree command to show the selected file in the native OS file viewer | |
Automated Builds | In Progress | Jason San Jose, Ingo Richter |
We tag Linux-specific bugs in our GitHub issues.
- 2013-08-20: Update user story status, remove TODOs jasonsanjose
- 2013-08-09: Edit inline sprint 28 comments jasonsanjose
- 2013-07-30: Inline draft comments for sprint 28 build jasonsanjose
- 2013-06-22: Updated
brackets-shell/linux
branch with SVG app icon jasonsanjose - 2013-06-21: Linux branches land in master in
brackets-shell
andbrackets
. Includes: CEF parity with Mac and Win, stubbed methods for incomplete native shell stories (Node, File I/O, etc.), debian packaging. jasonsanjose