Description
Aside from the bang-on-feature-set and quality of the board, IMHO the utterly simple approach of the supplied IDE is what made the Arduino a hit... instead of the dark-art that embedded programming has been for years, it suddenly became possible for anyone to download a single zip and reliably get going in minutes. This is a awesome achievement!!!
As time has passed, the IDE as retained the simplicity that made its success. Of recent, the company behind the development of this tool as undertaken the challenge of re-inventing this product and for the past year work seems to have gone steadily on Arduino Create. Understandably, the development of this product has entered a new phase, and many features that might have otherwise made their way to this IDE have been closed as Arduino Create will provide this feature.
IMHO the platform is coming to a cross-roads. The skill-set of programmers keep growing, more rapidly than before I might add, and the current IDE is approaching (some might say it passed it) a point where its minimum feature-set will not longer be enough.
This issue entry is for the purpose of referencing under a single umbrella other individual issues meant to inject a number of capabilities that will give a dose of coolness factor to the current IDE (1.6.5_r5 at the time this is started).
- fresh new Arduino Create look
Modernize the look of the UI to track Arduino Create arduino/Arduino#4151Support theme variants arduino/Arduino#4158Consider eliminating buttons.gif arduino/Arduino#4196 - support for layout / description in sketch
Add 'support' for additional file types in a sketch arduino/Arduino#4197Add support for markdown files arduino/Arduino#4198 (markdown) Add support for asciidoc files arduino/Arduino#4399 (asciidoc) - code completion Provide code completion inside editor arduino/Arduino#4089 see Quick Guide
- sketch navigation/outline view
Provide a sketch navigation/outline view arduino/Arduino#4083(touching Support for sketch-local libraries arduino/Arduino#4050 Allow multiple rows of tabs for large projects with lots of files arduino/Arduino#3601 Per-sketch libraries (e.g. code/ folder) [imported] arduino/Arduino#314) - key bindings
Provide configurable key bindings arduino/Arduino#4086(needsCleanup the key handling code in the editor arduino/Arduino#4146) - support for ASM source files with syntax coloring and completion for AVR
Support for assembly files in IDE [imported] arduino/Arduino#274 - support for ASM source files with syntax coloring and completion for ARM
- sketch debugger Please, add a basic debugger to IDE arduino/Arduino#4010
- quick access
Provide a simple global search arduino/Arduino#4077 - better search Improve the search UX arduino/Arduino#4488
- support single file sketch (.inz)
Add support for single-file sketches arduino/Arduino#4206 - user defined scripts for file validation, data visualization, ... (relating to Support JavaScript based customization of the Editor arduino/Arduino#4074)
- code templates
- wizards (sketch, library)
- dedicated class-room support features
- library reference from code
Provide simple library reference info directly within the IDE arduino/Arduino#4069(Documentation of libraries in the Editor arduino/Arduino#2692) - clean handling of compiler (Jump to the relevant line in the sketch after clicking an error message in the console arduino/Arduino#3383 Stop compilation on the first error, and highlight it first arduino/Arduino#3748
Compile/Upload must retain control over started processes arduino/Arduino#3771Separate the console outputs arduino/Arduino#42161.6.0 IDE verbose compile output misdirected while compiling with multiple projects open at same time arduino/Arduino#2680Verbose output follows the window focus arduino/Arduino#2711New console arduino/Arduino#3400)
More practical
- library editing Support for editing library code arduino/Arduino#4085 (relating to lib manager overrides core libraries included with 3rd party boards arduino/Arduino#4064 Support multiple version of a given library arduino/Arduino#4065 Make it possible to edit libraries in the IDE arduino/Arduino#3512)
- splitting monolithic sketch into local libraries Support for sketch-local libraries arduino/Arduino#4050 (relating to lib manager overrides core libraries included with 3rd party boards arduino/Arduino#4064 Support multiple version of a given library arduino/Arduino#4065)
- better multi-tab handling (relating to Bug: EEPROM addresses after compiling changed in new Arduino Software 1.6.4 arduino/Arduino#3061 Support for sketch-local libraries arduino/Arduino#4050 Ctrl-Tab to switch between files [imported] arduino/Arduino#195
Improve Ctrl-Tab navigation arduino/Arduino#4350) - storing board info in sketch Assigning a board to a sketch arduino/Arduino#3228
- saving code folding
Save expand/collapse code folding! arduino/Arduino#3441 - handle non ascii sketches IDE 1.6.6: non-ascii characters are no longer displayed properly arduino/Arduino#4259
- support the use of Make/Makefile Suggestion: Use Make to build libraries/cores that include a Makefile arduino/Arduino#2400
- install extras from download and local files (Arduino boards and libraries should be installable without internet arduino/Arduino#2981 Selectable Hardware folder for Boards Manager arduino/Arduino#2874 Add Boards via Zip file arduino/Arduino#2881)
- multi encoding support in monitor Serial monitor character encoding option arduino/arduino-ide#1728
Nice to haves
- link to donation via paypal to support the development Add support for direct donations from the IDE arduino/Arduino#4147
- to would make sense to isolate the platforms from the executable and improve platform deployment Libraries and other data files don't belong in "Program Files" folders arduino/Arduino#4132
- support dropping pre-compiled lib in a sketch (Support for pre-compiled libraries. [imported] arduino/Arduino#199)
- address the rogue notification popup IDE should not steal focus for "Update available for some of your libraries" arduino/Arduino#3809
This is a backlog of, some of them long standing, issues that I will address in some way shape or form (the final solution may represent a comprise between ease of implementation and matching the original request):
[Feature request] Highlight the word "TODO" in text editor arduino/Arduino#3827Storing Libraries in subfolders arduino/Arduino#1986Add Window menu that lists open sketch windows [imported] arduino/Arduino#234(Window menu is missing on the Mac arduino/Arduino#3557)closing IDE with x or Alt+F4 not working correct arduino/Arduino#4218 Featurerequest: save sketchbook folders arduino/Arduino#1696 Burn bootloader blocks IDE until it is completed arduino/Arduino#2009 EditorStatus performance / UX arduino/Arduino#4254
External references:
https://groups.google.com/a/arduino.cc/d/topic/developers/KsstENd2384/discussion
These improvements were originally tracked on the IDE main repo as arduino#4084, which created too much interference for the core team to be able to pursue their work.