I think I figured out a solution to this!
You can set a Live Preview Base URL in your project settings. When Brackets tries to preview the page, it will load the file name and path in your project of the current file, appended to the end of that base URL.
The issue with WordPress is that the path and filename of the php file you are working on in your project is rarely in any way related to the URL you will be accessing to execute that code and view your template page.
So, what do we do if we want our server to serve up a different page than what the browser requested? URL rewriting!
I set my Base URL in brackets to http://server.dev/theme/
and then created an .htaccess
file for Apache on my development server. Here's an example:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule theme/archive.php "/?m=201510" RewriteRule theme/ "/" RewriteRule theme/header.php "/" RewriteRule theme/footer.php "/" RewriteRule theme/page.php "/?page_id=16080" RewriteRule theme/search.php "/?s=asdf" RewriteRule theme/sidebar.php "/" RewriteRule theme/single.php "/?p=16247" </IfModule>
As you can see, you need to choose some arbitrary page requests for some of the files you'll be editing.
To be sure, there are many other issues with workflow and refreshing, at least in testing on Brackets 1.5, but this solves one big problem of using Brackets' Live Preview for WordPress.