==NetBeans==
[[https://netbeans.org | NetBeans]] is a cross platform IDE. If you prefer using another IDE, feel free, but you may need to configure project settings yourself.
We are currently using version 8.0 so that is the supported version for project configurations at this time.
==Setting Up==
===Prerequisites===
```
sudo apt-get install openjdk-7-jdk
```
===Installing===
Download NetBeans from the downloads page of their website: https://netbeans.org/downloads/
The "All" version of the IDE is recommended if you are considering developing for Android platforms, as it is packaged with the Java Development Kit (JDK) which Android development requires.
===Fixes for Ubuntu based systems (possibly others)===
====Allow Debugging Attachment====
Fix for `ptrace: Operation not permitted.` error message when attempting to attach debugger:
Set `kernel.yama.ptrace_scope = 0` in `/etc/sysctl.d/10-ptrace.conf`
gksudo gedit /etc/sysctl.d/10-ptrace.conf
As seen [[http://blog.mellenthin.de/archives/2010/10/18/gdb-attach-fails-with-ptrace-operation-not-permitted/comment-page-1/#comment-141535 | here]]; thanks to @0xSeanTasker for finding it.
====Better view of standard library containers in debug====
GDB might not be able to read standard library containers (`std::map`, et cetera) and some tweaks will need to be done to read them...
Follow the instructions on the GDB wiki to install the python pretty-printers for viewing STL containers: http://sourceware.org/gdb/wiki/STLSupport
(Maybe also http://stackoverflow.com/a/13132091/423481 but this wasn't necessary for me)
This only works with g++ 4.7: [[tools/gpp|ensure you have at least version 4.7]].
==Customisation==
===Keyboard Shortcut Mapping===
As most of us have a [[http://en.wikipedia.org/wiki/Job#Day_job|day job]], we are also required to use other tools that aren't quite as affordable as others (Visual Studio is $10K+ per license, other great IDEs are "free"). Visual Studio is a great IDE and due to its market dominance it is likely that programmers are familiar with the keyboard shortcuts. To make the transition to NetBeans as painless as possible, @0xseantasker took the time to map keyboard shortcuts to make them as similar as possible. The keyboard shortcuts are mapped as though Visual Studio + Visual Asset were in use. The following configuration files are available.
Visual Studio + Visual Assist key-map + suggested colours + misc settings {F53}
Visual Studio + Visual Assist key-map only {F54}
To use these, go to "Tools -> Options" and press the Import button to import the settings.
As of this writing, Netbeans 8.0 is also available. It is unknown if the configuration files are valid for Netbeans 8.0.
Using NetBeans 8.0 should not make any difference to your build output as the IDE is independent of the tools.
The only reason NetBeans 7.4 files are provided here is because it is the most recent tested version that is in use.