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

Commit 67f2d85

Browse files
ThadHouseSneezry
authored andcommitted
Adds way to skip header file provider (#565)
1 parent d7125ee commit 67f2d85

File tree

4 files changed

+17
-1
lines changed

4 files changed

+17
-1
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ The following Visual Studio Code settings are available for the Arduino extensio
6060
"arduino.additionalUrls": "",
6161
"arduino.logLevel": "info",
6262
"arduino.enableUSBDetection": true,
63-
"arduino.disableTestingOpen": false
63+
"arduino.disableTestingOpen": false,
64+
"arduino.skipHeaderProvider": false,
6465
}
6566
```
6667
- `arduino.path` - Path to Arduino, you can use a custom version of Arduino by modifying this setting to include the full path. Example: `C:\\Program Files\\Arduino` for Windows, `/Applications` for Mac, `/home/$user/Downloads/arduino-1.8.1` for Linux. (Requires a restart after change). The default value is automatically detected from your Arduino IDE installation path.
@@ -69,6 +70,7 @@ The following Visual Studio Code settings are available for the Arduino extensio
6970
- `arduino.logLevel` - CLI output log level. Could be info or verbose. The default value is `"info"`.
7071
- `arduino.enableUSBDetection` - Enable/disable USB detection from the VSCode Arduino extension. The default value is `true`.
7172
- `arduino.disableTestingOpen` - Disable/enable auto sending a test message to serial port for checking open status. The default value is `false` (a test message will be sent).
73+
- `arduino.skipHeaderProvider` - Enable/disable the extension providing completion items for headers. The functionality is included in newer versions of the C++ extension. The default value is `false`.
7274

7375
The following settings are per sketch settings of the Arduino extension. You can find them in
7476
`.vscode/arduino.json` under the workspace.

package.json

+4
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,10 @@
454454
"arduino.ignoreBoards": {
455455
"type": "array",
456456
"default": []
457+
},
458+
"arduino.skipHeaderProvider": {
459+
"type": "boolean",
460+
"default": false
457461
}
458462
}
459463
},

src/arduino/vscodeSettings.ts

+6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ const configKeys = {
1212
ENABLE_USB_DETECTOIN: "arduino.enableUSBDetection",
1313
DISABLE_TESTING_OPEN: "arduino.disableTestingOpen",
1414
IGNORE_BOARDS: "arduino.ignoreBoards",
15+
SKIP_HEADER_PROVIDER: "arduino.skipHeaderProvider",
1516
};
1617

1718
export interface IVscodeSettings {
@@ -22,6 +23,7 @@ export interface IVscodeSettings {
2223
enableUSBDetection: boolean;
2324
disableTestingOpen: boolean;
2425
ignoreBoards: string[];
26+
skipHeaderProvider: boolean;
2527
updateAdditionalUrls(urls: string | string[]): void;
2628
}
2729

@@ -69,6 +71,10 @@ export class VscodeSettings implements IVscodeSettings {
6971
this.setConfigValue(configKeys.IGNORE_BOARDS, value, true);
7072
}
7173

74+
public get skipHeaderProvider(): boolean {
75+
return this.getConfigValue<boolean>(configKeys.SKIP_HEADER_PROVIDER);
76+
}
77+
7278
public async updateAdditionalUrls(value) {
7379
await this.setConfigValue(configKeys.ADDITIONAL_URLS, value, true);
7480
}

src/langService/completionProvider.ts

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import * as vscode from "vscode";
77
import * as constants from "../common/constants";
88
import * as util from "../common/util";
99

10+
import { VscodeSettings } from "../arduino/vscodeSettings";
1011
import ArduinoActivator from "../arduinoActivator";
1112
import ArduinoContext from "../arduinoContext";
1213
import { ArduinoWorkspace } from "../common/workspace";
@@ -35,6 +36,9 @@ export class CompletionProvider implements vscode.CompletionItemProvider {
3536

3637
public async provideCompletionItems(document: vscode.TextDocument, position: vscode.Position):
3738
Promise<vscode.CompletionItem[]> {
39+
if (VscodeSettings.getInstance().skipHeaderProvider) {
40+
return [];
41+
}
3842
if (!ArduinoContext.initialized) {
3943
await ArduinoActivator.activate();
4044
}

0 commit comments

Comments
 (0)