If you use VS2008 or VS2005SP1 project "Web Application Project" which is like Website compiled into class library, then you can add ASPX pages and use the coupled code behind view, including drag and drop, double click on buttons, etc. You just have to change the INHERITS of the Page so it uses the 5 part name, and change the INHERITS of the code behind to use PublishingPageLayout.
In order to get Design view working for a page layout you have to add a MasterPageFile declaration temporarily so it will let you edit content within asp:Content tags. You'll need to remove the MasterPageFile declaration before putting it into SharePoint, as even though SharePoint sets the MasterPageFile it seems to use your own if you put it in. You need to keep in the CodeBehind attribute so VS knows which .cs file to put the code into.
I'm using this for Page Layouts but i don't see why it wouldn't work for master pages as well, but you're less likely to need the coupled functionality for them.
I'm using WSPBuilder to create the WSP solution file from this project, which means all I have to do is have a feature.xml and it's related xml file in order to work on page layouts.
Hope this helps someone. Maybe i'll get a blog one day and set up a demo.
Andy