diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000..91241db0 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,17 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/opt/jetkvm-native-buildkit/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-arm", + "configurationProvider": "ms-vscode.cmake-tools" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 41aeee58..6ac6925b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,6 +10,9 @@ ] }, "git.ignoreLimitWarning": true, - "cmake.sourceDirectory": "/workspaces/kvm-static-ip/internal/native/cgo", - "cmake.ignoreCMakeListsMissing": true + "cmake.sourceDirectory": "${workspaceFolder}/internal/native/cgo", + "cmake.ignoreCMakeListsMissing": true, + "C_Cpp.inlayHints.autoDeclarationTypes.enabled": true, + "C_Cpp.inlayHints.parameterNames.enabled": true, + "C_Cpp.inlayHints.referenceOperator.enabled": true } \ No newline at end of file diff --git a/scripts/configure_vscode.py b/scripts/configure_vscode.py new file mode 100755 index 00000000..cac54685 --- /dev/null +++ b/scripts/configure_vscode.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +import json +import os + +DEFAULT_C_INTELLISENSE_SETTINGS = { + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + # "compilerPath": "/opt/jetkvm-native-buildkit/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-arm", + "configurationProvider": "ms-vscode.cmake-tools" + } + ], + "version": 4 +} + +def configure_c_intellisense(): + settings_path = os.path.join('.vscode', 'c_cpp_properties.json') + settings = DEFAULT_C_INTELLISENSE_SETTINGS.copy() + + # open existing settings if they exist + if os.path.exists(settings_path): + with open(settings_path, 'r') as f: + settings = json.load(f) + + # update compiler path + settings['configurations'][0]['compilerPath'] = "/opt/jetkvm-native-buildkit/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc" + settings['configurations'][0]['configurationProvider'] = "ms-vscode.cmake-tools" + + with open(settings_path, 'w') as f: + json.dump(settings, f, indent=4) + + print("C/C++ IntelliSense configuration updated.") + + +if __name__ == "__main__": + configure_c_intellisense() \ No newline at end of file