{"id":1936,"date":"2015-05-14T10:46:31","date_gmt":"2015-05-14T10:46:31","guid":{"rendered":"https:\/\/raspberry-projects.com\/pi\/?p=1936"},"modified":"2023-11-28T15:59:36","modified_gmt":"2023-11-28T15:59:36","slug":"installing-netbeans-for-c-remote-development-on-a-raspberry-pi","status":"publish","type":"post","link":"https:\/\/raspberry-projects.com\/pi\/programming-in-c\/compilers-and-ides\/netbeans-windows\/installing-netbeans-for-c-remote-development-on-a-raspberry-pi","title":{"rendered":".Installing NetBeans For C++ Remote Development on A Raspberry Pi"},"content":{"rendered":"\n<p class=\"has-vivid-green-cyan-color has-text-color\"><span style=\"color:#FF0000;\"><em><strong>THIS IS OUR PREFERRED WINDOWS DEVELOPMENT IDE FOR THE RASPBERRY PI<br> The reason &#8211; you program on your nice fast Windows PC but under the bonnet&nbsp;it copies the files and uses the RPi to actually compile the project which, whilst a bit slower than using a high spec PC, solves all the issues of platform architecture, installed libraries, etc. &nbsp;Its a really nice well implemented and pretty damn painless solution! &nbsp;Oh, and single stepping, run to breakpoint,&nbsp;etc, full on&nbsp;debugging just works &#8211; thank you NetBeans gods!<\/strong><\/em><\/span> <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"> Installing NetBeans<br><\/h4>\n\n\n\n<p>At the time or writing installing Netbeans 11 has a few hoops to jump through &#8211; there&#8217;s no longer an installer and C\/C++ support has to be added (it was all fine in netbeans 8 but since loosing Oracle support lots of changes are underway, hopefully will improve in future versions)<\/p>\n\n\n\n<p>Download the latest NetBeans&nbsp;IDE&nbsp;from <a href=\"https:\/\/netbeans.apache.org\/download\/\">https:\/\/netbeans.apache.org\/download\/<\/a><\/p>\n\n\n\n<p>There is no installer provided for the new apache version of netbeans (at the time of writing) so select the &#8220;binaries&#8221; version, save it somewhere.  To run it double click the file &#8220;netbeans-install-directory\\bin\\netbeans64.exe&#8221;.<\/p>\n\n\n\n<p>You will also need the <a href=\"https:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk11-downloads-5066655.html\">Java SE Development Kit<\/a> (JDK) (the Java Runtime Environment (JRE) is not enough). Netbeans needs Jave SE \/ JDK to be installed in order to function.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Getting C\/C++ support working<\/h5>\n\n\n\n<p>C\/CC++ has been removed in netbeans 10.0 and 11.0 but is scheduled to be re-introduced in netbeans 12.00.  Its down to a donation phase of work in the transition from Oracle.  However it can easily be added into V10.0 and V11.0.<\/p>\n\n\n\n<p>Menu &gt; Tools &gt; Plugins &gt; Settings tab &gt; Add button.  Then on the Update Center Customizer screen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Name: Enter something (e.g. &#8220;My added plugins&#8221;)<\/li>\n\n\n\n<li>URL: http:\/\/updates.netbeans.org\/netbeans\/updates\/8.2\/uc\/final\/distribution\/catalog.xml.gz<\/li>\n<\/ul>\n\n\n\n<p>Click OK<\/p>\n\n\n\n<p>You&#8217;ll now have a new entry in the &#8220;Configuration of Update Centers&#8221;.  Ensure it is checked.<\/p>\n\n\n\n<p>Now go to the &#8220;Available Plugins&#8221; tab and you will see &#8220;C\/C++&#8221; has been added.  Select it and press &#8220;Install&#8221;<br><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">NetBeans New Install Configuration<br><\/h4>\n\n\n\n<p>The following are options we like&nbsp;to use to make netbeans behave like other IDE&#8217;s we use and to correct things we find annoying. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Turning Off Expand Tabs To Spaces setting<br><\/h5>\n\n\n\n<p>Menu &gt; Tools &gt; Options &gt; Editor &gt; Formatting tab<\/p>\n\n\n\n<p>Select &#8216;All Languages&#8217; and Category &#8216;Tabs And Indents&#8217; <\/p>\n\n\n\n<p>Turn off &#8216;Expand Tabs to Spaces&#8217; <\/p>\n\n\n\n<p>Set &#8216;Tab Size&#8217; to 4 <\/p>\n\n\n\n<p>Press &#8216;Apply&#8217; <br><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Changing To Uppercase to SHIFT+CTRL+U<br><\/h5>\n\n\n\n<p>Menu &gt; Tools &gt; Options &gt; Keymap &gt; To Uppercase, then select Add Alternative <\/p>\n\n\n\n<p>Menu &gt; Tools &gt; Options &gt; Keymap &gt; To Lowercase, then select Add Alternative <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Making The Editor Work As Well As Possible<br><\/h5>\n\n\n\n<p>Tools &gt; Options &gt; Editor &gt; General &gt; Enable Camel Case Navigation = Off <\/p>\n\n\n\n<p>Tools &gt; Options &gt; Editor &gt; Code Completion &gt; Insert Single Proposals Automatically = Off <\/p>\n\n\n\n<p>Tools &gt; Options &gt; Editor &gt; Code Completion &gt; Insert Closing Brackets Automatically = Off <\/p>\n\n\n<p>Tools &gt; Options &gt; Editor &gt; Formatting &gt; Language: (do for &#8220;C&#8221;, &#8220;C++&#8221; and &#8220;C\/C++ Header&#8221;) &gt;<\/p>\n<p style=\"padding-left: 40px;\">Indents &gt; # at Start Line = Off<\/p>\n<p style=\"padding-left: 40px;\">Indents &gt; Indent Case Statements = Off<\/p>\n<p style=\"padding-left: 40px;\">Braces Placement = Set all to new line<\/p>\n<p style=\"padding-left: 40px;\">Other &gt; Add Leading Star In Comments = Off<\/p>\n\n\n<p>Turning off the grey lines that are shown for intents: Main Menu &gt; View &gt; Show Indent Guide Lines &gt; turn off <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Stopping scroll wheel zoom issue<\/h5>\n\n\n\n<p>Change zoom in and out to <\/p>\n\n\n\n<p>SHIFT + CTRL + Up Arrow\/Down Arrow<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Misc things<\/h5>\n\n\n\n<p>Tools > Options > Appearance > Show full file path<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Creating A Project on The RPi<br><\/h4>\n\n\n\n<p>See <a href=\"https:\/\/raspberry-projects.com\/pi\/programming-in-c\/compilers-and-ides\/netbeans-windows\/creating-a-new-project\">here<\/a>. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>THIS IS OUR PREFERRED WINDOWS DEVELOPMENT IDE FOR THE RASPBERRY PI The reason &#8211; you program on your nice fast Windows PC but under the bonnet&nbsp;it copies the files and uses the RPi to actually compile the project which, whilst a bit slower than using a high spec PC, solves all the issues of platform [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[95],"tags":[],"class_list":["post-1936","post","type-post","status-publish","format-standard","hentry","category-netbeans-windows"],"_links":{"self":[{"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/posts\/1936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/comments?post=1936"}],"version-history":[{"count":32,"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/posts\/1936\/revisions"}],"predecessor-version":[{"id":3687,"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/posts\/1936\/revisions\/3687"}],"wp:attachment":[{"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/media?parent=1936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/categories?post=1936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raspberry-projects.com\/pi\/wp-json\/wp\/v2\/tags?post=1936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}