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
{{ message }}
This repository was archived by the owner on Oct 1, 2024. It is now read-only.
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.
Copy file name to clipboardExpand all lines: BRANCHNOTES.md
+9-9
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,8 @@ Provide a configuration flag which allows the user to turn this feature off - th
20
20
**2020-02-06** Got it fully working (with built-in include directories) for AVR, ESP32, ESP8266. Rewrote the backend to facilitate writing of further parser engines in the future.
21
21
**2020-02-07** Wrote compiler command parser npm package [cocopa](https://www.npmjs.com/package/cocopa) and began writing a test framework for it. Added a global configuration switch which allows the IntelliSense configuration generation to be turned off.
22
22
**2020-02-08** Integrated `cocopa` into vscode-arduino. Added project configuration flag which can override the global flag in both ways (forced off, forced on). Made code tslint compliant. Began some documentation in [README.md](README.md). vscode-arduino now tries to generate an IntelliSense configuration even if compilation (verify) should fail. vscode-arduino now tries to generate a IntelliSense configuration even if Arduino's verify failed (if the main sketch compilation was invoked before anything failed)
23
+
**2020-02-09** Moved vscode-arduino specific from cocopa over (to keep cocopa as generic as possible). More unit testing within cocopa. Some research regarding future serial monitor implementation. 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. Now loads of tests have to be written for cocopa.
24
+
23
25
24
26
|| Tasks |
25
27
|-----:|:--------|
@@ -32,18 +34,14 @@ Provide a configuration flag which allows the user to turn this feature off - th
32
34
||:heavy_check_mark: Basic setting of parsing result |
33
35
||:heavy_check_mark: Basic file input |
34
36
||:heavy_check_mark: Basic file output |
35
-
||:white_check_mark: Merging of parsing result and existing file content |
36
-
||:white_check_mark: Handling inexistent files and folders |
37
-
||:white_check_mark: Write configuration on change only |
37
+
||:heavy_check_mark: Merging of parsing result and existing file content |
38
+
||:heavy_check_mark: Handling inexistent files and folders |
39
+
||:heavy_check_mark: Write configuration on change only |
38
40
||:white_check_mark: Option to backup old configurations? |
39
41
|**Configuration flags**|:heavy_check_mark: Provide global disable flag for IntelliSense auto-config |
40
42
||:heavy_check_mark: Provide project specific override for the global flag - most users will likely use the default setup and disable auto-generation for very specific projects |
||:heavy_check_mark: Querying of compiler built-in includes (Note: to be changed to generic compiler such that Arduino is not necessary for unit testing) |
43
-
||:white_check_mark: Throwing arbitrary data at parser engines |
44
-
||:white_check_mark: JSON input |
45
-
||:white_check_mark: JSON output |
46
-
||:white_check_mark: Configuration merging |
44
+
||:white_check_mark: All unit tests in cocopa |
47
45
||:white_check_mark: Test with cpp sketches |
48
46
|**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 |
49
47
||: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 |
@@ -53,7 +51,7 @@ Provide a configuration flag which allows the user to turn this feature off - th
53
51
||: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)|
54
52
||:white_check_mark: Finally: go through my code and look for TODOs |
55
53
56
-
`*` not committed to branch yet
54
+
`*` not committed to branch yet
57
55
`>` 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)
58
56
59
57
## Motivation
@@ -79,6 +77,8 @@ I will list every supporter here, thanks!
79
77
2020-02-05 Elektronik Workshop: 40 :beers: (10h coding)
80
78
2020-02-06 Elektronik Workshop: 36 :beers: (9h coding)
81
79
2020-02-07 Elektronik Workshop: 48 :beers: (12h coding)
80
+
2020-02-08 Elektronik Workshop: 52 :beers: (13h coding)
81
+
2020-02-09 Elektronik Workshop: 40 :beers: (10h coding)
0 commit comments