UPDATE: This Instructable is currently obsolete due to a feature in newer versions of PlatformIO that allow users to create NetBeans-compatible projects automatically. More information about this feature can be found here.
PlatformIO is a command line tool for creating, building and running programs for small devices like the Arduino or the Freescale Kinetis boards (and many others). It unifies the project structure and building process and makes it easier to port programmes between platforms. Although there is now an Atom-based IDE that uses PlatformIO under the hood, you may want to stick with your current IDE for C/C++ development and still take advantage of PlatformIO. This Instructable is about integrating PlatformIO with the Netbeans 8.1 with C/C++ support. Integrating PlatformIO with other IDEs like Eclipse or Visual Studio is simpler, as there are special project generators for those environments. However, if you find those generators not good enough or your favourite IDE is not supported, you should be able to repeat the steps from this tutorial, with some minor tweaking, to have PlatformIO integrated with your favourite IDE.
After completing this Instructable, you should have a powerful IDE for your next Arduino project.
NOTE: The following instructions were tested on Linux, but should work well on Windows and iOS without major changes.
ANOTHER NOTE: This tutorial borrows heavily on a blog entry by one of PlatformIO creators, Ivan Kravets, who has also contributed to this Instructable.