-
Notifications
You must be signed in to change notification settings - Fork 226
Feature request: Enable input for serial monitor #463
Comments
Well, better then nothing, thank for the great work |
the design of Serial Monitor is different from Arduino IDE, and we support the same behavor in serial monitor. maybe user don't know how to use serial monitor in extension, here are some steps: steps |
This should probably be in the docs somewhere (and maybe it is); took me 10 minutes to find this ticket :/ |
Agreed, documentation can use some improvement |
Having a good input for the serial monitor is quite important for interactive software. Most of my projects include a serial command line interface. The "Send Text to Serial Port" is pretty cumbersome when having to configure devices that way. Using an external terminal like minicom or similar is inconvenient too because any other software will interfere with uploading. Perhaps you can recycle the code of the debug terminal which has an input field - this would at least save some coding. I would chip in some money too if that would help. Thanks for the pretty cool extension so far! |
+1 Using "send to serial" is to painful to use. |
HI Johnlon, I'm currently writing a better IntelliSense-backend for vscode-arduino, because the IntelliSense implementation was even more painful than the serial monitor and no one cared of this issue even if the reports date back before 2017. I'm now pretty familiar with the code base. As soon as I've finished this rather extensive task I'll probably address this issue and will try to enhance it's functionality compared to Arduino's IDE (command history is one of the things I thought of). You can track the project's progress here. Regards |
Appreciated. This seems a problem crying out to be solved. |
I might actually try and patch the Arduino software to load file updates if I can find the time |
Ps found this.... |
There are actually three things I need to make vscode work well for this
Plus there is the annoying default where the compile runs in verbose mode and we have to manually edit config files to turn off the trace output Plus plus... Is there a way to automatically select the right serial port? |
Thanks for your input - exactly: These are the features I'm looking for as well. I added them to the list of future work in my branch notes. We can only hope that I'll get that merged later on. If not we could detach my fork and publish it as new extension. Latter wouldn't be the preferred way but it has its advantages:
|
Oh and one more. |
And I would probably prioritize ease of use over better editing/intelligence. |
…(comment)) * Added some ideas how to implement a better serial monitor
I incorporated all into my notes |
I just installed vscode 1.42 and what did I see in the release notes:
Moving the panelThe panel, which holds the Output, Debug Console, Terminal, and Problems panes, can now be moved to the left side of the editor. The command View: Toggle Panel Position ( View: Move Panel Left ( One thing less on my ToDo list... |
So, this bug is 2 years old, it's closed, but really the current implementation is not great as has already been said Is there anything easier than that possible right now? it's quite cumbersome if you have to repeat a lot of times. Thanks. |
The PlatformIO vscode extension has a workable serial monitor implementation - I've not checked that project's licence however. |
Would it be acceptable to re-open this issue until the serial terminal is a bit more terminal like? |
|
…(comment)) * Added some ideas how to implement a better serial monitor
* Added more serial monitor ideas from [John Lonergan](microsoft#463 (comment)) * Added some ideas how to implement a better serial monitor
* Added more serial monitor ideas from [John Lonergan](#463 (comment)) * Added some ideas how to implement a better serial monitor
commit 57c8d2d Author: Adi Azulay <[email protected]> Date: Mon Mar 22 13:00:21 2021 -0700 update changelog commit 6e65997 Author: Adi Azulay <[email protected]> Date: Mon Mar 22 12:49:56 2021 -0700 bump to v0.4.0 commit 6d63a01 Author: Adi Azulay <[email protected]> Date: Tue Mar 9 08:54:05 2021 -0800 update version commit ed886ad Merge: 6ecfc55 9ca2400 Author: Adi Azulay <[email protected]> Date: Mon Mar 8 14:01:55 2021 -0800 Merge branch 'develop' into pre-release-v0.4.0 commit 9ca2400 Author: Adi Azulay <[email protected]> Date: Fri Mar 5 09:58:10 2021 -0800 remove -MMD from complier args for intellisesne (#1208) commit 6ecfc55 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 11:27:45 2021 -0800 update version in package commit 1126581 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 11:07:59 2021 -0800 update readme commit 5571e52 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 10:52:24 2021 -0800 update package-lock commit 0b60f1f Merge: e044711 e97bad8 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 09:59:26 2021 -0800 Merge branch 'master' into pre-release-v0.4.0 commit e044711 Merge: 739aa95 5f4c400 Author: Adi Azulay <[email protected]> Date: Thu Feb 4 14:32:52 2021 -0800 Merge branch 'develop' of https://github.com/microsoft/vscode-arduino into pre-release-v0.4.0 commit 739aa95 Author: Adi Azulay <[email protected]> Date: Thu Feb 4 14:21:55 2021 -0800 pre release v0.4.0 commit 5f4c400 Merge: b7094ba 595def8 Author: Adi Azulay <[email protected]> Date: Thu Feb 4 11:53:29 2021 -0800 Merge branch 'master' into develop commit b7094ba Author: Adi Azulay <[email protected]> Date: Fri Jan 22 14:56:07 2021 -0800 remove IntelliSense Auto branch notes commit b0375c8 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed Jan 20 09:45:43 2021 -0800 Bump ini from 1.3.5 to 1.3.8 (#1159) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adi Azulay <[email protected]> commit f80b38f Author: Jason Tranchida <[email protected]> Date: Tue Jan 19 16:41:36 2021 -0800 Populate the list of programmers by parsing programmers.txt for each package (#1129) * Improved handling of programmer selection - Selected programmer is now saved to and loaded from the arduino.json file - Arduino.json is monitored for changes, and changing file will update selected programmer & ui - Programmer selection UI now shows both the friendly name of the programmer, as well as the arduino name - Minor fix to deviceContexts to fire change events after all states are modified - Layed groundwork to support querying list of programmers for the current board from arduino toolchain * Parse the list of programmers from packages * Tests for parsing programmers * Show board specific list of programmers when selecting Populate the selected programmer and it's display name using list of programmers provided by BoardManager. When selecting programmer, only present the user a list of programmers relevant to the current board. * Initial set of tests for ProgrammerManager * add support for cli * fix hardcoded package name for programmers * adds programmer.key back to support arduino IDE * fix handeling of programmer name in ide and cli Co-authored-by: Adi Azulay <[email protected]> commit 8bb1130 Author: Adi Azulay <[email protected]> Date: Tue Jan 19 12:16:15 2021 -0800 fix missing " commit a717e5b Author: Adi Azulay <[email protected]> Date: Tue Jan 19 12:11:25 2021 -0800 update travis commit 9d1899e Author: Adi Azulay <[email protected]> Date: Tue Jan 12 12:25:51 2021 -0800 remove redundant prebuild check commit 7ac331f Author: Adi Azulay <[email protected]> Date: Tue Jan 12 12:08:33 2021 -0800 fix verbose setting and cli programmer upload commit b91a5ca Author: Adi Azulay <[email protected]> Date: Thu Dec 10 16:41:17 2020 -0500 fix cli analyze mode commit 2e763c8 Author: Adi Azulay <[email protected]> Date: Thu Dec 10 15:53:53 2020 -0500 add support for cli commit b5360b5 Author: Håkon Løvdal <[email protected]> Date: Thu Jan 7 00:39:08 2021 +0100 Remove arrow-head anti-pattern commit 0356bb7 Author: Håkon Løvdal <[email protected]> Date: Wed Jan 6 23:03:06 2021 +0100 Join args.push statements commit b97a740 Author: Håkon Løvdal <[email protected]> Date: Wed Jan 6 22:38:23 2021 +0100 Replace "upload" with "compile --upload" commit e591480 Author: Håkon Løvdal <[email protected]> Date: Wed Jan 6 21:25:59 2021 +0100 Reverse and merge tests commit 5a49b97 Author: Håkon Løvdal <[email protected]> Date: Tue Jan 5 22:23:21 2021 +0100 Remove compile argument and expand BuildMode with CliUpload and CliUploadProgrammer commit 8b83873 Author: Håkon Løvdal <[email protected]> Date: Tue Jan 5 23:34:25 2021 +0100 Consolidate all boardDescriptor argument pushing commit a6512a4 Author: Håkon Løvdal <[email protected]> Date: Mon Jan 4 21:48:51 2021 +0100 Move the _build to the end and make private commit c2ab577 Author: Uli Franke <[email protected]> Date: Sat Feb 29 14:39:38 2020 +0100 Updated log, additional stuff and beers commit 8a491ed Author: Uli Franke <[email protected]> Date: Sat Feb 29 13:50:28 2020 +0100 Fixed security issue * Web-server for library-, board-manager etc. was not listening on localhost but on the machine's main interface * Web-server wasn't launched asynchronously what can cause problems * Port was stored redundantly in webserver class Addresses #966 commit 5f32221 Author: Uli Franke <[email protected]> Date: Sat Feb 29 12:15:17 2020 +0100 Add and document buildPreferences setting * Validator for `buildPreferences` * Documentation for `buildPreferences` commit 9543ba7 Author: Uli Franke <[email protected]> Date: Sat Feb 29 11:24:35 2020 +0100 Support for Arduino preferences in `arduino.json`. These preferences are applied during any build and can be used to set custom compiler flags and defines for instance. Addresses #975 commit f9cd3c5 Author: Uli Franke <[email protected]> Date: Sat Feb 29 07:55:37 2020 +0100 Fix too early initialization of cocopa * Fixed bug with build: initializing cocopa too early (was failing if sketch wasn't initialized) * More info in error message for uncaught exception during build cleanup * Note on output path preparation which seems to be a bit wonky commit 48c4c64 Author: Uli Franke <[email protected]> Date: Sat Feb 29 01:04:29 2020 +0100 Updated log, status and beers commit 95f5a18 Author: Uli Franke <[email protected]> Date: Sat Feb 29 00:32:05 2020 +0100 Documentation for pre-/post-build commands and their environment variables commit f85a783 Author: Uli Franke <[email protected]> Date: Fri Feb 28 23:57:08 2020 +0100 Full cmd support for pre-/post-build commands on Windows Addresses #786 commit 2af8f11 Author: Uli Franke <[email protected]> Date: Fri Feb 28 23:19:56 2020 +0100 Pre-/post-build command improvements * Full bash syntax support for pre-/post-build commands on UNIX systems * Environment variables for pre-/post-build commands which give the user access to several build process parameters like the sketch, the output directory, serial port, build mode (verify, upload, analyze, ...), board type and workspace path Addresses #786 commit d3bcf6e Author: Uli Franke <[email protected]> Date: Fri Feb 28 21:07:50 2020 +0100 Logging and post-build commands * Error logging for exceptions during build cleanup * Compacted log message filter regexes * Moved pre-build command after initialization of the output folder in case this command somehow wants to operate on it somehow * Better error message handling when post-build command fails * Forwarding post-build command error commit 7c1104c Author: Uli Franke <[email protected]> Date: Fri Feb 28 15:29:32 2020 +0100 Section which outlines additional features this branch addresses commit 2b84aa8 Author: Uli Franke <[email protected]> Date: Fri Feb 28 15:28:21 2020 +0100 C++ standard is now parsed from compiler arguments Plus: Moved some methods to cocopa and got rid of the typed-promisify dependency commit f6c3b2c Author: Uli Franke <[email protected]> Date: Thu Feb 27 22:49:54 2020 +0100 Added post build command support * Added post build command support * Added validator for both pre and post build (former was missing) Yet to be decided: Solution for analysis run: with or without pre/post build? Addresses #786 commit 7039ea8 Author: Uli Franke <[email protected]> Date: Thu Feb 27 21:21:33 2020 +0100 IntelliSense auto gen respected global and project specific dis-/enable flags for analyze only. Now these flags have the same effect during regular builds. commit deaa18a Author: Uli Franke <[email protected]> Date: Thu Feb 27 21:02:49 2020 +0100 Collapsing multiple consecutive newlines into a single newline for non verbose build log commit 30210dc Author: Uli Franke <[email protected]> Date: Thu Feb 27 19:47:44 2020 +0100 Make upload verbosity be conditional and extend filtering * Building always verbosely but upload only verbosely when requested * Filtering of spurious messages now with regex list and for all platforms commit fed508f Author: Uli Franke <[email protected]> Date: Thu Feb 27 19:44:35 2020 +0100 Filter out invalid include directories * Filtering out invalid include directories (discovered when compiling for ESP8266) * Compacted IntelliSense message and hint to manual build into a single line commit 194dc92 Author: Uli Franke <[email protected]> Date: Thu Feb 27 18:40:27 2020 +0100 Fixed exception which occurs if one of the include directories doesn't exists and we try to search it for Arduino.h commit 70d323d Author: Uli Franke <[email protected]> Date: Thu Feb 27 18:36:01 2020 +0100 Fixed bug in board.ts: Conceptual flaw when checking if configuration option is valid commit 314d4a8 Author: Uli Franke <[email protected]> Date: Thu Feb 27 16:11:33 2020 +0100 Build/analysis logging improvements commit b489a8f Author: Uli Franke <[email protected]> Date: Thu Feb 27 14:03:58 2020 +0100 Run IntelliSense analysis for every build * Run IntelliSense analysis for every build * Added global enum for log level commit 88e544a Author: Uli Franke <[email protected]> Date: Wed Feb 26 16:36:40 2020 +0100 Added link to alpha releases to top of document commit 15fd705 Author: Uli Franke <[email protected]> Date: Wed Feb 26 16:21:12 2020 +0100 Updated beers commit 27d9cac Author: Uli Franke <[email protected]> Date: Wed Feb 26 16:15:06 2020 +0100 Final pull request dependency style for cocopa commit e7f7d05 Author: Uli Franke <[email protected]> Date: Wed Feb 26 16:14:15 2020 +0100 Updated log commit 764d21e Author: Uli Franke <[email protected]> Date: Wed Feb 26 15:57:00 2020 +0100 Refined some documentation comment commit deecdf2 Author: Uli Franke <[email protected]> Date: Wed Feb 26 15:48:54 2020 +0100 Changed Serial.updatePortListStatus to make use of optional argument to eliminate updatePortListStatus(null) calls commit cdf9f34 Author: Uli Franke <[email protected]> Date: Wed Feb 26 15:46:40 2020 +0100 Added/reviewed some notes commit 4202508 Author: Uli Franke <[email protected]> Date: Wed Feb 26 15:28:52 2020 +0100 Reworked util.spawn to mergable version commit d408686 Author: Uli Franke <[email protected]> Date: Wed Feb 26 14:22:52 2020 +0100 Removed IS-REMOVE code * Removed code marked with `IS-REMOVE` previously * Added constant for the `c_cpp_properties.json`-configuration managed by vscode-arduino * Removed code rendered dead by the previous removal commit 31e530c Author: Uli Franke <[email protected]> Date: Tue Feb 25 17:16:15 2020 +0100 Updated cocopa to version 0.0.12 * Implemented and tested support for `.cpp`-sketches. * Done implementing the most relevant unit tests in cocopa. * Two independent alpha testers confirmed proper working of the previous alpha releases. * Updated to the latest revision of cocopa. commit b5714b6 Author: Uli Franke <[email protected]> Date: Sun Feb 23 18:34:33 2020 +0100 Updated log and beers commit f2a5307 Author: Uli Franke <[email protected]> Date: Sun Feb 23 18:26:31 2020 +0100 Forceinclude Arduino.h * Added message to end of each build to inform user how to update the IntelliSense configuration * The magic now searches all identified include paths for the Arduino core include file (aka Arduino.h) and adds it as forced include - most users expect Arduino core functionality to work without having to include this header. Added typed-promisify to dependencies since I made use of it in the new code for better readability. * Conclude is now asynchronous * Updated branch status and added new future task * Bumped cocopa version to 0.0.10 commit b7effbc Author: Uli Franke <[email protected]> Date: Sat Feb 22 23:29:15 2020 +0100 Updated log * Updated branch log and beers commit 5fe6dbc Author: Uli Franke <[email protected]> Date: Sat Feb 22 23:17:59 2020 +0100 IntelliSense config generator * Now normalizes generated include paths * Bumped cocopa to 0.0.9 commit 4238e12 Author: Uli Franke <[email protected]> Date: Sat Feb 22 20:33:16 2020 +0100 Updated to latest cocopa which features X-platform support and better lexer commit e6c10cd Author: Uli Franke <[email protected]> Date: Sat Feb 22 20:24:30 2020 +0100 Updated log and beers commit 2d52e52 Author: Uli Franke <[email protected]> Date: Sat Feb 22 14:25:22 2020 +0100 Fixed handling of invalid manual configurations. Improved code locality for board configuration manipulation and fixed a race condition with fine grained event handling. Details: Added missing checks when board configurations are loaded from the configuration file: * Up to now vscode-arduino blindly loaded any board configuration from `arduino.json` even if this would result in invalid board configurations which in turn lead to compilation (verify, upload) failure. * Up to now this state couldn't be recovered by simply removing the offending configuration from the configuration file. Even worse: it stored the wrong configuration in between board changes. To reproduce the bug in 0.2.29 1. Select Arduino Nano with the *Arduino Board Configuration* 2. Set configuration in `arduino.json` to `cpu=cray2` and save 3. Verify -> fails 4. Switch board to Arduino Uno 5. Switch back to Arduino Nano: The wrong configuration is back and now the user can't even select another (correct) configuration from the *Arduino Board Configuration* window 6. Delete the wrong configuration and save -> verify still fails `vscode-arduino` does not fall back to a default configuration. The user has now two options: find the correct configuration by himself and set it within arduino.json. Very experienced users could probably accomplish that. Everone else can just restart vscode. I corrected that by enhancing IBoard.loadConfig and IBoard.updateConfig member functions to * check for proper formatting of the config string loaded from `arduino.json` * check if the configuration IDs and the option IDs are valid If any of the above fails, the functions bail out and return the error. The board manager then loads a default configuration and issues a warning, that the configuration is invalid. This way the user gets the chance to fix her/his configuration but gets informed at the same time, that a different configuration than the intended is loaded (prevents surprises). This situation is only relevant, when users start fiddling with the configuration values in `arduino.json`. As long as they just set the board and the configurations from within the *Arduino Board Configuration Window* nothing bad can happen. But now custom configurations are handled in a cleaner way. The DeviceContext's board configuration was set in board.ts and boardManager.ts in different places - even when it was loaded after a DeviceContext's configuration update event which is prone to infinite loops. This has been resolved and it's not re-written/re-set during loading a configuration on change. This is valid for board manager's updateStatusBar function which fiddled with the board and the configuration. Now updateStatusBar really just updates the status bar. And it isn't necessary to call it from outside the board manager anymore due to proper event handling which identifies the situations during which the status bar has to be updated. Therefore this member is now private. In board manager itself operations that affect device context and current board now happen only within doChangeBoardType and the event handlers of DeviceContext callbacks onDeviceContextConfigurationChange and onDeviceContextBoardChange. This prevents the accidental creation of infinite event loops, makes the code more understandable, maintainable and therefore resilient against future bugs. commit 640f269 Author: Uli Franke <[email protected]> Date: Fri Feb 21 21:45:52 2020 +0100 Removed obsolete doc folder as all this is now part of cocopa commit 98dbc0d Author: Uli Franke <[email protected]> Date: Fri Feb 21 00:40:16 2020 +0100 Updated log, status and beers commit 01e92e9 Author: Uli Franke <[email protected]> Date: Wed Feb 19 23:59:01 2020 +0100 Added "some" additional issues -- currently I've found 28! commit 5fd1a27 Author: Uli Franke <[email protected]> Date: Wed Feb 19 23:01:36 2020 +0100 Updated log and beers. commit c15dc08 Author: Uli Franke <[email protected]> Date: Wed Feb 19 22:45:54 2020 +0100 IntelliSense auto-analysis integration * Reworked DeviceContext for fine grained event generation on settings change * Added dedicated settings classes which allows for the latter * Changed board manager and serial monitor to used the new fine grained events instead of the "something changed event" - which makes the code marginally more efficient * Implemented an analysis manager which takes care of analysis requests generated by settings change events and makes sure that analysis builds don't interfere with regular builds * Adapted the build infrastructure within ArduinoApp such that it allows for the above * Removed the global build guard and moved it to ArduinoApp (there is a corner case though for programmer selection within extension.ts which I marked with a TODO * Fixed some linting issues but did not lint most of the stuff committed here - this will be part of a later commit * I left notes here and there where I saw things which should/could be improved/changed * Removed the try/catch guards from the build invocations within extension.ts since exceptions are handled within the build function itself * Changed the project setting parameter for the IntelliSense setup to reflect its workings better commit 548c714 Author: Uli Franke <[email protected]> Date: Wed Feb 19 19:36:36 2020 +0100 Updated and completed documentation of the current state within README.md * Updated project log and status commit 59bad21 Author: Uli Franke <[email protected]> Date: Wed Feb 19 16:18:15 2020 +0100 Updated project log and status commit cabeed6 Author: Uli Franke <[email protected]> Date: Tue Feb 18 20:12:07 2020 +0100 Updated log and issues * Added/documented all known related issues * Updated log * Updated and extended status * General brushing of structure and text commit d6c7b5a Author: Uli Franke <[email protected]> Date: Tue Feb 18 18:21:21 2020 +0100 New classes which will improve the device settings management and event handling. To be integrated with one of the next commits. commit d712a94 Author: Uli Franke <[email protected]> Date: Tue Feb 18 13:26:09 2020 +0100 Don't use hard coded paths when possible. commit 6c1fe68 Author: Uli Franke <[email protected]> Date: Tue Feb 18 01:54:11 2020 +0100 Updated project log commit 41bcd44 Author: Uli Franke <[email protected]> Date: Mon Feb 17 16:38:12 2020 +0100 Disabled and marked all previous implementations of IntelliSense support for later removal using `IS-REMOVE` commit 3418458 Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 23:25:51 2020 +0100 Fix whitespace commit f914a4b Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 23:18:01 2020 +0100 Add arduino.rebuildIntelliSenseConfig commit 216e1b8 Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 23:14:26 2020 +0100 Merge build and verify commit 2a2db50 Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 23:12:03 2020 +0100 Make build and verify identical commit 2039739 Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 22:53:33 2020 +0100 Make build return boolean commit fef2db0 Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 18:07:15 2020 +0100 Use cocopa and add Analyze build mode commit 0b2b77a Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 00:27:21 2020 +0100 Rename output to buildDir commit 335d80a Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 00:10:17 2020 +0100 Add stdoutCallback expression commit 4aa7ddc Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 23:52:29 2020 +0100 Add buildMode argument to verify commit e4a70b0 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 23:39:12 2020 +0100 Merge upload and uploadUsingProgrammer into one build function commit a14f777 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 23:36:46 2020 +0100 Make upload and uploadUsingProgrammer identical commit 76c74cf Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 23:26:46 2020 +0100 Add buildMode argument to upload and uploadUsingProgrammer commit 86719a3 Author: Håkon Løvdal <[email protected]> Date: Tue Jan 5 23:03:58 2021 +0100 Spelling correction commit cd9365b Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 23:00:46 2020 +0100 Move selectProgrammer down commit e03dc38 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 22:26:39 2020 +0100 Move arg buildup earlier in functions commit 88bed5e Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 21:57:40 2020 +0100 Inline and move appPath later commit 8227014 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 21:52:59 2020 +0100 Add selectSerial expression commit 990c1a1 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 21:36:40 2020 +0100 Add cleanup expression commit 0678c9a Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 21:09:50 2020 +0100 Unify exit error message commit b28f574 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 20:59:19 2020 +0100 Unify util.spawn invocation commit a6968e0 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 20:45:53 2020 +0100 Introduce verbose variable commit 3879639 Author: Håkon Løvdal <[email protected]> Date: Thu Dec 10 20:21:12 2020 +0100 Move args variable till top of upload, uploadUsingProgrammer and verify commit dd308ac Author: Håkon Løvdal <[email protected]> Date: Tue Dec 8 22:40:05 2020 +0100 Rename verifyResult to success commit e4c13d0 Author: Håkon Løvdal <[email protected]> Date: Tue Dec 8 22:24:21 2020 +0100 Rename Logger to logger commit a5d4695 Author: Uli Franke <[email protected]> Date: Sat Feb 15 20:49:13 2020 +0100 Updated branch notes -- documented changes not committed though. commit 5945d8d Author: Uli Franke <[email protected]> Date: Sat Feb 15 12:47:31 2020 +0100 Updated beer money log commit 56c9634 Author: Uli Franke <[email protected]> Date: Wed Feb 12 18:12:43 2020 +0100 Note how to run vscode without having gulp on your user path commit 4341261 Author: Uli Franke <[email protected]> Date: Wed Feb 12 17:53:28 2020 +0100 More on beta testing, added link to chat room commit e80a338 Author: Uli Franke <[email protected]> Date: Wed Feb 12 17:00:26 2020 +0100 Added instructions how to run development code commit 6a42d3f Author: Uli Franke <[email protected]> Date: Mon Feb 10 05:17:19 2020 +0100 Moved intellisense function to a separate file commit 4f6565c Author: Uli Franke <[email protected]> Date: Mon Feb 10 02:33:24 2020 +0100 Minor documentation rub commit 40bb52d Author: Uli Franke <[email protected]> Date: Mon Feb 10 02:26:03 2020 +0100 Merge c_cpp_properties results with existing configuration * More unit testing within cocopa. * Implemented c_cpp_properties merging -> compiler analysis results are merged into existing configuration and will preserve configurations of different name than the vscode-studio default configuration name (currently "Arduino"). This opens up the possibility for users to write their own configurations without having to disable the autogeneration. * Implemented "write on change" - `c_cpp_properties.json` will only be written if a new configuration has been detected. commit 67281ae Author: Uli Franke <[email protected]> Date: Sun Feb 9 18:25:01 2020 +0100 Moved arduino specifics from cocopa to vscode-arduino commit 3cba412 Author: Uli Franke <[email protected]> Date: Sun Feb 9 16:40:00 2020 +0100 Notes about serial monitor * Added more serial monitor ideas from [John Lonergan](#463 (comment)) * Added some ideas how to implement a better serial monitor commit d87402d Author: Uli Franke <[email protected]> Date: Sun Feb 9 13:23:48 2020 +0100 Fix regression and improve regex matching * Fixed regression introduced with adaptions to latest version of cocopa * Made compile command regex match more stringent commit 39c3f79 Author: Uli Franke <[email protected]> Date: Sun Feb 9 11:51:43 2020 +0100 Fix issue 771 * Fixes the line splitting regex as outlined in #771 * Removed a redundand condition commit dd3254d Author: Uli Franke <[email protected]> Date: Sun Feb 9 04:24:52 2020 +0100 Incorporated the latest progress from cocopa development commit bb2ce83 Author: Uli Franke <[email protected]> Date: Sat Feb 8 16:29:08 2020 +0100 Try to generate IntelliSense configuration even when the compilation fails commit 819d2f1 Author: Uli Franke <[email protected]> Date: Sat Feb 8 16:12:58 2020 +0100 Added IntelliSense setup auto-generation project (sketch-context) configuration flag which can override the global flag commit f28dd7e Author: Uli Franke <[email protected]> Date: Sat Feb 8 13:08:59 2020 +0100 Updated earned :beers: commit 0865c97 Author: Uli Franke <[email protected]> Date: Sat Feb 8 12:28:25 2020 +0100 Moved compiler parser to cocopa package for better testability and maintainability commit d337295 Author: Uli Franke <[email protected]> Date: Sat Feb 8 03:10:06 2020 +0100 Documenting ... commit 4a91647 Author: Uli Franke <[email protected]> Date: Fri Feb 7 03:19:09 2020 +0100 Moved TODO in branch documentation commit 59c78cb Author: Uli Franke <[email protected]> Date: Fri Feb 7 03:15:53 2020 +0100 Added even more TODOs to branch documentation commit ce1b656 Author: Uli Franke <[email protected]> Date: Fri Feb 7 03:11:14 2020 +0100 Added two more TODOs to branch documentation commit 3da2f76 Author: Uli Franke <[email protected]> Date: Fri Feb 7 02:55:26 2020 +0100 IntelliSense on/off configuration and compiler parser injection preparation * Added a global configuration switch which allows the IntelliSense auto-configuration to be turned off * Prepared the compiler parser code to be injected into "upload" and "upload using programmer" without overhead * Updated branch documentation commit bc2b292 Author: Uli Franke <[email protected]> Date: Thu Feb 6 23:34:40 2020 +0100 Documentation updates * Notes regarding settings * Notes where to run the auto-generation commit baaf069 Author: Uli Franke <[email protected]> Date: Thu Feb 6 23:30:36 2020 +0100 Pre-build command updates * Moved pre-build command into separate member function to reduce code replication, better maintainablility and readability * Added pre-build command to "upload using programmer" since it was (probably unintentional) missing there commit 79bd476 Author: Uli Franke <[email protected]> Date: Thu Feb 6 23:29:32 2020 +0100 Improved line splitting of built-in include parser after commenting on a pull request :) commit 16e861d Author: Uli Franke <[email protected]> Date: Thu Feb 6 21:48:34 2020 +0100 Added IntelliSense compiler parsing engine code * Added IntelliSense compiler parsing engine code * First injection of the compiler command parser and IntelliSense auto-configuration. Currently injected into "verify" only. * Updated branch documentation to reflect the current state of this project commit 82513e4 Author: Uli Franke <[email protected]> Date: Thu Feb 6 01:06:03 2020 +0100 More documentation update * More investigations and documentation, especially on intrinsic/built-in compiler header include paths commit 5debfb4 Author: Uli Franke <[email protected]> Date: Wed Feb 5 21:33:16 2020 +0100 Update documentation * More documentation on this project * Tried to identify most of the tasks * Added beer money support option commit 0291850 Author: Uli Franke <[email protected]> Date: Wed Feb 5 16:28:45 2020 +0100 Branch for the implementation of the automagical IntelliSense configuration commit 48418e2 Author: Uli Franke <[email protected]> Date: Sun Feb 23 20:14:28 2020 +0100 Removed unused import commit 5daa2b1 Author: Håkon Løvdal <[email protected]> Date: Fri Dec 11 18:13:55 2020 +0100 Add missing return values commit 57f4aa4 Author: Uli Franke <[email protected]> Date: Sat Feb 22 14:25:22 2020 +0100 Fix @Property commit 2e490b5 Author: Uli Franke <[email protected]> Date: Fri Feb 7 02:08:35 2020 +0100 Fixed spelling. commit ddb804f Author: Uli Franke <[email protected]> Date: Sat Feb 8 13:05:30 2020 +0100 Fixed misspelled function name commit d6459d0 Author: Jason Tranchida <[email protected]> Date: Tue Dec 8 13:19:45 2020 -0800 Improved handling of programmer selection (#1118) * Improved handling of programmer selection - Selected programmer is now saved to and loaded from the arduino.json file - Arduino.json is monitored for changes, and changing file will update selected programmer & ui - Programmer selection UI now shows both the friendly name of the programmer, as well as the arduino name - Minor fix to deviceContexts to fire change events after all states are modified - Layed groundwork to support querying list of programmers for the current board from arduino toolchain * fix dtr on serial open * fix dtr on serial open * fix linting * pre release v0.3.4 * Add RTS signal on serial open, Add baudrates up to 2000000 (#1142) * add buad rates up to 2M * add rts signal on serial open and buad rate change * add missing space in baud rate array * Quick fix for Intellisense (#1144) * add hardware tool path * intellisense quick fix * add hardware tool path * intellisense quick fix * fix typo * pre release v0.3.4-rc2 * bump to v0.3.4 * Option to use arduino-cli instead of Arduino IDE (#1017) * Hardcoded Arduino-CLI commands for build and upload * Added menu checkbox for Arduino CLI - Upload with programmer is still not supported - Must be created an arduino symlink pointing to arduino-cli * If Arduino-CLI, check for arduino-cli instead of arduino. Not yet supported on Windows or MacOS * Typo * Fixed CI requests * Fixed CI requests * Update src/common/sys/darwin.ts MacOS patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Update src/common/sys/win32.ts Windows patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Trigger * add cli option in commandPath for win32 * add cli support to board and lib managers * rename isArduinoCli to useArduinoCli * adds support for uploading using programmer * simplify getProgrammer * add CLI upload * Update src/arduino/arduino.ts Co-authored-by: Jason Tranchida <[email protected]> * refactor uploadUsingProgrammer * fix output path for CLI upload * Update package.json * update cli option text, thanks @maddogjt * update tests Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Jason Tranchida <[email protected]> * Improved handling of programmer selection - Selected programmer is now saved to and loaded from the arduino.json file - Arduino.json is monitored for changes, and changing file will update selected programmer & ui - Programmer selection UI now shows both the friendly name of the programmer, as well as the arduino name - Minor fix to deviceContexts to fire change events after all states are modified - Layed groundwork to support querying list of programmers for the current board from arduino toolchain * add cli suppport for programmers * add documentation Co-authored-by: Marc Goodner <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Giulio <[email protected]> Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Adi Azulay <[email protected]> commit ae0ebd4 Author: Giulio <[email protected]> Date: Tue Dec 8 00:41:05 2020 +0100 Option to use arduino-cli instead of Arduino IDE (#1017) * Hardcoded Arduino-CLI commands for build and upload * Added menu checkbox for Arduino CLI - Upload with programmer is still not supported - Must be created an arduino symlink pointing to arduino-cli * If Arduino-CLI, check for arduino-cli instead of arduino. Not yet supported on Windows or MacOS * Typo * Fixed CI requests * Fixed CI requests * Update src/common/sys/darwin.ts MacOS patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Update src/common/sys/win32.ts Windows patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Trigger * add cli option in commandPath for win32 * add cli support to board and lib managers * rename isArduinoCli to useArduinoCli * adds support for uploading using programmer * simplify getProgrammer * add CLI upload * Update src/arduino/arduino.ts Co-authored-by: Jason Tranchida <[email protected]> * refactor uploadUsingProgrammer * fix output path for CLI upload * Update package.json * update cli option text, thanks @maddogjt * update tests Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Jason Tranchida <[email protected]>
* Option to use arduino-cli instead of Arduino IDE (#1017) * Hardcoded Arduino-CLI commands for build and upload * Added menu checkbox for Arduino CLI - Upload with programmer is still not supported - Must be created an arduino symlink pointing to arduino-cli * If Arduino-CLI, check for arduino-cli instead of arduino. Not yet supported on Windows or MacOS * Typo * Fixed CI requests * Fixed CI requests * Update src/common/sys/darwin.ts MacOS patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Update src/common/sys/win32.ts Windows patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Trigger * add cli option in commandPath for win32 * add cli support to board and lib managers * rename isArduinoCli to useArduinoCli * adds support for uploading using programmer * simplify getProgrammer * add CLI upload * Update src/arduino/arduino.ts Co-authored-by: Jason Tranchida <[email protected]> * refactor uploadUsingProgrammer * fix output path for CLI upload * Update package.json * update cli option text, thanks @maddogjt * update tests Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Jason Tranchida <[email protected]> * Improved handling of programmer selection (#1118) * Improved handling of programmer selection - Selected programmer is now saved to and loaded from the arduino.json file - Arduino.json is monitored for changes, and changing file will update selected programmer & ui - Programmer selection UI now shows both the friendly name of the programmer, as well as the arduino name - Minor fix to deviceContexts to fire change events after all states are modified - Layed groundwork to support querying list of programmers for the current board from arduino toolchain * fix dtr on serial open * fix dtr on serial open * fix linting * pre release v0.3.4 * Add RTS signal on serial open, Add baudrates up to 2000000 (#1142) * add buad rates up to 2M * add rts signal on serial open and buad rate change * add missing space in baud rate array * Quick fix for Intellisense (#1144) * add hardware tool path * intellisense quick fix * add hardware tool path * intellisense quick fix * fix typo * pre release v0.3.4-rc2 * bump to v0.3.4 * Option to use arduino-cli instead of Arduino IDE (#1017) * Hardcoded Arduino-CLI commands for build and upload * Added menu checkbox for Arduino CLI - Upload with programmer is still not supported - Must be created an arduino symlink pointing to arduino-cli * If Arduino-CLI, check for arduino-cli instead of arduino. Not yet supported on Windows or MacOS * Typo * Fixed CI requests * Fixed CI requests * Update src/common/sys/darwin.ts MacOS patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Update src/common/sys/win32.ts Windows patch for arduino-cli Co-authored-by: Marc Lage-Vianna <[email protected]> * Trigger * add cli option in commandPath for win32 * add cli support to board and lib managers * rename isArduinoCli to useArduinoCli * adds support for uploading using programmer * simplify getProgrammer * add CLI upload * Update src/arduino/arduino.ts Co-authored-by: Jason Tranchida <[email protected]> * refactor uploadUsingProgrammer * fix output path for CLI upload * Update package.json * update cli option text, thanks @maddogjt * update tests Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Jason Tranchida <[email protected]> * Improved handling of programmer selection - Selected programmer is now saved to and loaded from the arduino.json file - Arduino.json is monitored for changes, and changing file will update selected programmer & ui - Programmer selection UI now shows both the friendly name of the programmer, as well as the arduino name - Minor fix to deviceContexts to fire change events after all states are modified - Layed groundwork to support querying list of programmers for the current board from arduino toolchain * add cli suppport for programmers * add documentation Co-authored-by: Marc Goodner <[email protected]> Co-authored-by: Adi Azulay <[email protected]> Co-authored-by: Giulio <[email protected]> Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Adi Azulay <[email protected]> * Fixed misspelled function name * Fixed spelling. * Fix @Property * Add missing return values * Removed unused import * Branch for the implementation of the automagical IntelliSense configuration * Update documentation * More documentation on this project * Tried to identify most of the tasks * Added beer money support option * More documentation update * More investigations and documentation, especially on intrinsic/built-in compiler header include paths * Added IntelliSense compiler parsing engine code * Added IntelliSense compiler parsing engine code * First injection of the compiler command parser and IntelliSense auto-configuration. Currently injected into "verify" only. * Updated branch documentation to reflect the current state of this project * Improved line splitting of built-in include parser after commenting on a pull request :) * Pre-build command updates * Moved pre-build command into separate member function to reduce code replication, better maintainablility and readability * Added pre-build command to "upload using programmer" since it was (probably unintentional) missing there * Documentation updates * Notes regarding settings * Notes where to run the auto-generation * IntelliSense on/off configuration and compiler parser injection preparation * Added a global configuration switch which allows the IntelliSense auto-configuration to be turned off * Prepared the compiler parser code to be injected into "upload" and "upload using programmer" without overhead * Updated branch documentation * Added two more TODOs to branch documentation * Added even more TODOs to branch documentation * Moved TODO in branch documentation * Documenting ... * Moved compiler parser to cocopa package for better testability and maintainability * Updated earned 🍻 * Added IntelliSense setup auto-generation project (sketch-context) configuration flag which can override the global flag * Try to generate IntelliSense configuration even when the compilation fails * Incorporated the latest progress from cocopa development * Fix issue 771 * Fixes the line splitting regex as outlined in #771 * Removed a redundand condition * Fix regression and improve regex matching * Fixed regression introduced with adaptions to latest version of cocopa * Made compile command regex match more stringent * Notes about serial monitor * Added more serial monitor ideas from [John Lonergan](#463 (comment)) * Added some ideas how to implement a better serial monitor * Moved arduino specifics from cocopa to vscode-arduino * Merge c_cpp_properties results with existing configuration * More unit testing within cocopa. * Implemented c_cpp_properties merging -> compiler analysis results are merged into existing configuration and will preserve configurations of different name than the vscode-studio default configuration name (currently "Arduino"). This opens up the possibility for users to write their own configurations without having to disable the autogeneration. * Implemented "write on change" - `c_cpp_properties.json` will only be written if a new configuration has been detected. * Minor documentation rub * Moved intellisense function to a separate file * Added instructions how to run development code * More on beta testing, added link to chat room * Note how to run vscode without having gulp on your user path * Updated beer money log * Updated branch notes -- documented changes not committed though. * Rename Logger to logger * Rename verifyResult to success * Move args variable till top of upload, uploadUsingProgrammer and verify * Introduce verbose variable * Unify util.spawn invocation * Unify exit error message * Add cleanup expression * Add selectSerial expression * Inline and move appPath later * Move arg buildup earlier in functions * Move selectProgrammer down * Spelling correction * Add buildMode argument to upload and uploadUsingProgrammer * Make upload and uploadUsingProgrammer identical * Merge upload and uploadUsingProgrammer into one build function * Add buildMode argument to verify * Add stdoutCallback expression * Rename output to buildDir * Use cocopa and add Analyze build mode * Make build return boolean * Make build and verify identical * Merge build and verify * Add arduino.rebuildIntelliSenseConfig * Fix whitespace * Disabled and marked all previous implementations of IntelliSense support for later removal using `IS-REMOVE` * Updated project log * Don't use hard coded paths when possible. * New classes which will improve the device settings management and event handling. To be integrated with one of the next commits. * Updated log and issues * Added/documented all known related issues * Updated log * Updated and extended status * General brushing of structure and text * Updated project log and status * Updated and completed documentation of the current state within README.md * Updated project log and status * IntelliSense auto-analysis integration * Reworked DeviceContext for fine grained event generation on settings change * Added dedicated settings classes which allows for the latter * Changed board manager and serial monitor to used the new fine grained events instead of the "something changed event" - which makes the code marginally more efficient * Implemented an analysis manager which takes care of analysis requests generated by settings change events and makes sure that analysis builds don't interfere with regular builds * Adapted the build infrastructure within ArduinoApp such that it allows for the above * Removed the global build guard and moved it to ArduinoApp (there is a corner case though for programmer selection within extension.ts which I marked with a TODO * Fixed some linting issues but did not lint most of the stuff committed here - this will be part of a later commit * I left notes here and there where I saw things which should/could be improved/changed * Removed the try/catch guards from the build invocations within extension.ts since exceptions are handled within the build function itself * Changed the project setting parameter for the IntelliSense setup to reflect its workings better * Updated log and beers. * Added "some" additional issues -- currently I've found 28! * Updated log, status and beers * Removed obsolete doc folder as all this is now part of cocopa * Fixed handling of invalid manual configurations. Improved code locality for board configuration manipulation and fixed a race condition with fine grained event handling. Details: Added missing checks when board configurations are loaded from the configuration file: * Up to now vscode-arduino blindly loaded any board configuration from `arduino.json` even if this would result in invalid board configurations which in turn lead to compilation (verify, upload) failure. * Up to now this state couldn't be recovered by simply removing the offending configuration from the configuration file. Even worse: it stored the wrong configuration in between board changes. To reproduce the bug in 0.2.29 1. Select Arduino Nano with the *Arduino Board Configuration* 2. Set configuration in `arduino.json` to `cpu=cray2` and save 3. Verify -> fails 4. Switch board to Arduino Uno 5. Switch back to Arduino Nano: The wrong configuration is back and now the user can't even select another (correct) configuration from the *Arduino Board Configuration* window 6. Delete the wrong configuration and save -> verify still fails `vscode-arduino` does not fall back to a default configuration. The user has now two options: find the correct configuration by himself and set it within arduino.json. Very experienced users could probably accomplish that. Everone else can just restart vscode. I corrected that by enhancing IBoard.loadConfig and IBoard.updateConfig member functions to * check for proper formatting of the config string loaded from `arduino.json` * check if the configuration IDs and the option IDs are valid If any of the above fails, the functions bail out and return the error. The board manager then loads a default configuration and issues a warning, that the configuration is invalid. This way the user gets the chance to fix her/his configuration but gets informed at the same time, that a different configuration than the intended is loaded (prevents surprises). This situation is only relevant, when users start fiddling with the configuration values in `arduino.json`. As long as they just set the board and the configurations from within the *Arduino Board Configuration Window* nothing bad can happen. But now custom configurations are handled in a cleaner way. The DeviceContext's board configuration was set in board.ts and boardManager.ts in different places - even when it was loaded after a DeviceContext's configuration update event which is prone to infinite loops. This has been resolved and it's not re-written/re-set during loading a configuration on change. This is valid for board manager's updateStatusBar function which fiddled with the board and the configuration. Now updateStatusBar really just updates the status bar. And it isn't necessary to call it from outside the board manager anymore due to proper event handling which identifies the situations during which the status bar has to be updated. Therefore this member is now private. In board manager itself operations that affect device context and current board now happen only within doChangeBoardType and the event handlers of DeviceContext callbacks onDeviceContextConfigurationChange and onDeviceContextBoardChange. This prevents the accidental creation of infinite event loops, makes the code more understandable, maintainable and therefore resilient against future bugs. * Updated log and beers * Updated to latest cocopa which features X-platform support and better lexer * IntelliSense config generator * Now normalizes generated include paths * Bumped cocopa to 0.0.9 * Updated log * Updated branch log and beers * Forceinclude Arduino.h * Added message to end of each build to inform user how to update the IntelliSense configuration * The magic now searches all identified include paths for the Arduino core include file (aka Arduino.h) and adds it as forced include - most users expect Arduino core functionality to work without having to include this header. Added typed-promisify to dependencies since I made use of it in the new code for better readability. * Conclude is now asynchronous * Updated branch status and added new future task * Bumped cocopa version to 0.0.10 * Updated log and beers * Updated cocopa to version 0.0.12 * Implemented and tested support for `.cpp`-sketches. * Done implementing the most relevant unit tests in cocopa. * Two independent alpha testers confirmed proper working of the previous alpha releases. * Updated to the latest revision of cocopa. * Removed IS-REMOVE code * Removed code marked with `IS-REMOVE` previously * Added constant for the `c_cpp_properties.json`-configuration managed by vscode-arduino * Removed code rendered dead by the previous removal * Reworked util.spawn to mergable version * Added/reviewed some notes * Changed Serial.updatePortListStatus to make use of optional argument to eliminate updatePortListStatus(null) calls * Refined some documentation comment * Updated log * Final pull request dependency style for cocopa * Updated beers * Added link to alpha releases to top of document * Run IntelliSense analysis for every build * Run IntelliSense analysis for every build * Added global enum for log level * Build/analysis logging improvements * Fixed bug in board.ts: Conceptual flaw when checking if configuration option is valid * Fixed exception which occurs if one of the include directories doesn't exists and we try to search it for Arduino.h * Filter out invalid include directories * Filtering out invalid include directories (discovered when compiling for ESP8266) * Compacted IntelliSense message and hint to manual build into a single line * Make upload verbosity be conditional and extend filtering * Building always verbosely but upload only verbosely when requested * Filtering of spurious messages now with regex list and for all platforms * Collapsing multiple consecutive newlines into a single newline for non verbose build log * IntelliSense auto gen respected global and project specific dis-/enable flags for analyze only. Now these flags have the same effect during regular builds. * Added post build command support * Added post build command support * Added validator for both pre and post build (former was missing) Yet to be decided: Solution for analysis run: with or without pre/post build? Addresses #786 * C++ standard is now parsed from compiler arguments Plus: Moved some methods to cocopa and got rid of the typed-promisify dependency * Section which outlines additional features this branch addresses * Logging and post-build commands * Error logging for exceptions during build cleanup * Compacted log message filter regexes * Moved pre-build command after initialization of the output folder in case this command somehow wants to operate on it somehow * Better error message handling when post-build command fails * Forwarding post-build command error * Pre-/post-build command improvements * Full bash syntax support for pre-/post-build commands on UNIX systems * Environment variables for pre-/post-build commands which give the user access to several build process parameters like the sketch, the output directory, serial port, build mode (verify, upload, analyze, ...), board type and workspace path Addresses #786 * Full cmd support for pre-/post-build commands on Windows Addresses #786 * Documentation for pre-/post-build commands and their environment variables * Updated log, status and beers * Fix too early initialization of cocopa * Fixed bug with build: initializing cocopa too early (was failing if sketch wasn't initialized) * More info in error message for uncaught exception during build cleanup * Note on output path preparation which seems to be a bit wonky * Support for Arduino preferences in `arduino.json`. These preferences are applied during any build and can be used to set custom compiler flags and defines for instance. Addresses #975 * Add and document buildPreferences setting * Validator for `buildPreferences` * Documentation for `buildPreferences` * Fixed security issue * Web-server for library-, board-manager etc. was not listening on localhost but on the machine's main interface * Web-server wasn't launched asynchronously what can cause problems * Port was stored redundantly in webserver class Addresses #966 * Updated log, additional stuff and beers * Move the _build to the end and make private * Consolidate all boardDescriptor argument pushing * Remove compile argument and expand BuildMode with CliUpload and CliUploadProgrammer * Reverse and merge tests * Replace "upload" with "compile --upload" * Join args.push statements * Remove arrow-head anti-pattern * add support for cli * fix cli analyze mode * fix verbose setting and cli programmer upload * remove redundant prebuild check * update travis * fix missing " * Populate the list of programmers by parsing programmers.txt for each package (#1129) * Improved handling of programmer selection - Selected programmer is now saved to and loaded from the arduino.json file - Arduino.json is monitored for changes, and changing file will update selected programmer & ui - Programmer selection UI now shows both the friendly name of the programmer, as well as the arduino name - Minor fix to deviceContexts to fire change events after all states are modified - Layed groundwork to support querying list of programmers for the current board from arduino toolchain * Parse the list of programmers from packages * Tests for parsing programmers * Show board specific list of programmers when selecting Populate the selected programmer and it's display name using list of programmers provided by BoardManager. When selecting programmer, only present the user a list of programmers relevant to the current board. * Initial set of tests for ProgrammerManager * add support for cli * fix hardcoded package name for programmers * adds programmer.key back to support arduino IDE * fix handeling of programmer name in ide and cli Co-authored-by: Adi Azulay <[email protected]> * Bump ini from 1.3.5 to 1.3.8 (#1159) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adi Azulay <[email protected]> * remove IntelliSense Auto branch notes * remove -MMD from complier args for intellisesne (#1208) * Squashed commit of the following: commit 57c8d2d Author: Adi Azulay <[email protected]> Date: Mon Mar 22 13:00:21 2021 -0700 update changelog commit 6e65997 Author: Adi Azulay <[email protected]> Date: Mon Mar 22 12:49:56 2021 -0700 bump to v0.4.0 commit 6d63a01 Author: Adi Azulay <[email protected]> Date: Tue Mar 9 08:54:05 2021 -0800 update version commit ed886ad Merge: 6ecfc55 9ca2400 Author: Adi Azulay <[email protected]> Date: Mon Mar 8 14:01:55 2021 -0800 Merge branch 'develop' into pre-release-v0.4.0 commit 6ecfc55 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 11:27:45 2021 -0800 update version in package commit 1126581 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 11:07:59 2021 -0800 update readme commit 5571e52 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 10:52:24 2021 -0800 update package-lock commit 0b60f1f Merge: e044711 e97bad8 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 09:59:26 2021 -0800 Merge branch 'master' into pre-release-v0.4.0 commit e97bad8 Author: Adi Azulay <[email protected]> Date: Thu Feb 18 09:56:05 2021 -0800 bump to v0.3.5 (#1196) * update usb native * update changelog * fix ref tag for publishing * fix ref tag for publishing * change build to check version env var * fix version spelling * add {} to if in publish * change version check to regex * fix formatting * change to multiline run * add echo for ISPRODUCTION * add missing s to outputs * remove debugging echo commit e044711 Merge: 739aa95 5f4c400 Author: Adi Azulay <[email protected]> Date: Thu Feb 4 14:32:52 2021 -0800 Merge branch 'develop' of https://github.com/microsoft/vscode-arduino into pre-release-v0.4.0 commit 739aa95 Author: Adi Azulay <[email protected]> Date: Thu Feb 4 14:21:55 2021 -0800 pre release v0.4.0 * Quick pick selection of sketch files (#1128) * Quick pick selection of sketch files - Replace arduino.setSketchFile command with new arduino.selectSketch command which presents the user with a quick select containing all of the sketch files in the workspace. - Add "Arduino: Select Sketch" to the command palette - When picking sketches, filter out hardware, library, and build folders that may be under the workspace * Fix incorrect slash on library exclude pattern Co-authored-by: Adi Azulay <[email protected]> * Corrected typo from Ardiuno to Arduino. (#1191) Co-authored-by: Adi Azulay <[email protected]> * Fix arduinoPath resolution on MacOS (#1227) * Fix arduinoPath resolution in MacOS. The `resolveMacArduinoAppPath` utility was automatically adding "Arduino.app" to the resolved `arduinoPath` regardless of whether `useAndroidCli` was enabled. This was breaking installations of `arduino-cli` made through Homebrew. The path to the command ends up being either `/usr/local/bin/arduino-cli` or `/opt/homebrew/bin/arduino-cli`. This function would resolve an `arduinoPath` of `/opt/homebrew/bin` to `/opt/homebrew/bin/Arduino.app/arduino-cli`. Co-authored-by: Adi Azulay <[email protected]> * Bump y18n from 3.2.1 to 3.2.2 (#1219) Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adi Azulay <[email protected]> * Fix confusion about IDE breaking changes (#1229) Closed issue #994 (and presumably others) indicate that the confusing version text referring to 1.8.7 will be corrected, but that never happened. This PR attempts to improve the text to correct the issue. Co-authored-by: Adi Azulay <[email protected]> * Fix typos in CHANGELOG.md (#1226) Co-authored-by: Adi Azulay <[email protected]> * Fix typos in README.md (#1225) Co-authored-by: Adi Azulay <[email protected]> * Bump y18n from 4.0.0 to 4.0.1 in /src/views (#1220) Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adi Azulay <[email protected]> * Bump elliptic from 6.5.3 to 6.5.4 (#1212) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adi Azulay <[email protected]> * Bump elliptic from 6.5.3 to 6.5.4 in /src/views (#1210) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adi Azulay <[email protected]> * add usbcon macro to config (#1231) * add ai key to deploy (#1236) * Bump to v0.4.1 (#1238) * pre-release v0.4.1-rc1 * pre-release v0.4.1-rc2 * update version * bump to v0.4.1 Co-authored-by: Giulio <[email protected]> Co-authored-by: giuliof <[email protected]> Co-authored-by: Marc Lage-Vianna <[email protected]> Co-authored-by: Jason Tranchida <[email protected]> Co-authored-by: Marc Goodner <[email protected]> Co-authored-by: Uli Franke <[email protected]> Co-authored-by: Håkon Løvdal <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cameron Bielstein <[email protected]> Co-authored-by: Adam Michel <[email protected]> Co-authored-by: mikebaz <[email protected]> Co-authored-by: jogo- <[email protected]>
Is it possible to make it looks a true TTY? |
any updates on this or possible workarounds? it has been 4 years |
the line ending menu next to does not exist on my device. do i need to enable it somehow? text automatically receives a line ending, and i would like it to stop. |
It would be awesome if we could revisit this. not having some kind of panel to be able to easily and repeatedly enter Serial inputs makes it so I can't realistically use solely vscode as my arduino build tool of choice (despite the awesome intelisense and coloration) F1 > Down Arrow > Enter > Input Command > Enter is just too many steps :-(. If I had a way of keeping that command window open, that would be enough. |
@bklanders @BelKed We have been working on a standalone Serial Monitor extension that has this supported! You can find it here: https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-serial-monitor&ssr=false#overview. Feel free to give it a try! |
Ref: #337, #409, #448.
The text was updated successfully, but these errors were encountered: