Skip to content
This repository was archived by the owner on Oct 1, 2024. It is now read-only.

Commit 0291850

Browse files
elektronikworkshopadiazulay
authored andcommitted
Branch for the implementation of the automagical IntelliSense configuration
1 parent 48418e2 commit 0291850

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

BRANCHNOTES.md

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# IntelliSense Autoconfiguration Branch
2+
## Problem
3+
This branch more or less adresses [these](https://github.com/microsoft/vscode-arduino/issues?utf8=%E2%9C%93&q=intellisense+is%3Aopen) issues.
4+
5+
It implements a parser which parses the output from Arduino's build process to generate a very precise `c_cpp_properties.json` which in turn hopefully renders any user interaction with this file obsolete
6+
7+
## Branch Goals
8+
### Build Output Parser
9+
The parser which parses the relevant includes, defines, compiler paths and flags from Arduino's build output
10+
### `c_cpp_properties.json` Generator
11+
The generator takes the parser's output and transforms it into a valid `c_cpp_properties.json` file.
12+
13+
### Configuration Flags
14+
Provide a configuration flag which allows the user to turn this feature off - this is useful for the cases in which this magic fails or the user has a very specific setup. Although this branch tries to eliminate most of the latter cases.
15+
16+
### Status
17+
| | Tasks |
18+
|-----:|:--------|
19+
| **Build output parser** | :heavy_check_mark: Basic parser working (not committed yet) |
20+
| | :white_check_mark: Support for different boards |
21+
| | :white_check_mark: X-platform support |
22+
| **`c_cpp_properties.json` generator** | :white_check_mark: |
23+
| **Configuration flags** | :white_check_mark: |
24+
| **Unit tests** | :white_check_mark: Basic parser |
25+
26+
## Motivation
27+
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. The old and dysfunctional Arduino CDT extension for eclipse somehow stalled (even if it was promising), Sloeber could be an option but the maintainer is disillusioned and the project is more or less dead. Platform IO IDE's license is very [restrictive](https://community.platformio.org/t/what-part-of-platformio-is-open-source-licenced/1447/2).
28+
29+
Then remains vscode-arduino. It seems that it isn't completely dead - but almost. Most of the core functionality seems to work (I used it a few days now). But the biggest show stopper is the bad IntelliSense support.
30+
31+
## Beer Money
32+
You can chip in some beer money to keep me motivated - this is really appreciated.
33+
34+
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PVLCSRZHBJ28G&source=url)
35+
36+
<!-- https://github.com/patharanordev/donate-in-git -->
37+
38+
## Useful Links
39+
* [IntelliSense issues on vscode-arduino](https://github.com/microsoft/vscode-arduino/issues?utf8=%E2%9C%93&q=intellisense+is%3Aopen)
40+
* [`c_cpp_properties.json` reference](https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference)
41+
* [Interactive regex debugger](https://regex101.com/)

0 commit comments

Comments
 (0)