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

Commit 9d25ed9

Browse files
committed
Adds way to skip header file provider
With the VsCode C++ extension 0.17, it now automatically handles #include providers when properly set up. This shouldn't be completely removed from this extension as there are still some use cases, but this adds a way to disable the arduino extensions provider if the user wants to.
1 parent bfcc33d commit 9d25ed9

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

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
@@ -10,6 +10,7 @@ import * as util from "../common/util";
1010
import ArduinoActivator from "../arduinoActivator";
1111
import ArduinoContext from "../arduinoContext";
1212
import { ArduinoWorkspace } from "../common/workspace";
13+
import { VscodeSettings } from "../arduino/vscodeSettings";
1314

1415
export class CompletionProvider implements vscode.CompletionItemProvider {
1516

@@ -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)