You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: BRANCHNOTES.md
+23-2
Original file line number
Diff line number
Diff line change
@@ -44,15 +44,17 @@ Provide a configuration flag which allows the user to turn this feature off - th
44
44
||:white_check_mark: JSON input |
45
45
||:white_check_mark: JSON output |
46
46
||:white_check_mark: Configuration merging |
47
+
||:white_check_mark: Test with cpp sketches |
47
48
|**General**|:white_check_mark: Review and remove previous attempts messing with `c_cpp_properties.json` or IntelliSense. (Partially done - documented in the [General Tasks](#General-Tasks) section |
48
-
||:white_check_mark: Auto-run verify after a) *setting a board* b) *changing the sketch*. We have to generate a valid `c_cpp_properties.json` to keep IntelliSense working in such situations. Identify other occasions where this applies (usually when adding new libraries), hint the user to run *verify*? -> Good moment would be after the workbench initialization -> message in arduino channel |
49
+
||:white_check_mark: Auto-run verify after a) *setting a board* b) *changing the sketch* c) *workbench initialized and no `c_cpp_properties.json` has been found*. We have to generate a valid `c_cpp_properties.json` to keep IntelliSense working in such situations. Identify other occasions where this applies (usually when adding new libraries), hint the user to run *verify*? -> Good moment would be after the workbench initialization -> message in arduino channel |
49
50
||:heavy_check_mark: Document configuration settings in [README.md](README.md)|
50
51
||:white_check_mark: Document features in [README.md](README.md) (partially done) |
51
52
||:heavy_check_mark: Try to auto-generate even if verify (i.e. compilation) fails |
52
53
||:heavy_check_mark: Extract compiler command parser from vscode-arduino and [publish](https://itnext.io/step-by-step-building-and-publishing-an-npm-typescript-package-44fe7164964c) it as a separate package which will allow reusage and easy testing without heavy vscode-arduino rucksack. Done, see [cocopa](https://www.npmjs.com/package/cocopa)|
53
54
||:white_check_mark: Finally: go through my code and look for TODOs |
54
55
55
-
`*` not committed to branch yet
56
+
`*` not committed to branch yet
57
+
`>` most of the actual parsing and configuration generation is part of [cocopa](https://github.com/elektronikworkshop/cocopa/) ([here](https://www.npmjs.com/package/cocopa)'s the npm package)
56
58
57
59
## Motivation
58
60
I write a lot of code for Arduino, especially libraries. The Arduino IDE is not suited for more complex projects and I tried several alternatives:
@@ -93,6 +95,25 @@ I will list every supporter here, thanks!
93
95
* Logging for IntelliSense https://code.visualstudio.com/docs/cpp/enable-logging-cpp
94
96
## Future Work
95
97
* Proper interactive serial terminal (this is the second major show stopper in my opinion)
98
+
* Command history option
99
+
* From https://github.com/microsoft/vscode-arduino/issues/463#issuecomment-583846263 and following:
100
+
* allow input on the serial monitor in a convenient way - ie just type and hit return, just like the Arduino IDE
101
+
* have the serial monitor window NOT keep turning off autoscroll (there is a separate ticket for this)
102
+
* have the option of the serial monitor and/or compile window auto clear each time the sketch is compiled
103
+
* 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
104
+
* Plus plus... Is there a way to automatically select the right serial port?
105
+
* Oh and one more. I want the serial output and perhaps compile windows to be undocked or at least I want them to sit to the right of my code window but they seem rigidly stuck at the bottom of the screen.
106
+
* And I would probably prioritize ease of use over better editing/intelligence.
107
+
* Being able to set baud rate within monitor
108
+
* Possible implementation hooks
109
+
* run node program in native terminal and connect it to extension
* write a [debugger extension](https://code.visualstudio.com/api/extension-guides/debugger-extension) with a [mock](https://github.com/Microsoft/vscode-mock-debug) which communicates with the serial
115
+
116
+
Plus plus... Is there a way to automatically select the right serial port?
96
117
* Lots of redundant code
97
118
* e.g. "upload is a superset of "verify"
98
119
* general lack of modularity - the above is the result
0 commit comments