diff --git a/.gitignore b/.gitignore
index 0537c25fed688389495f123c56f78a1c2e4aba31..bc36840f36b06cc9dfc19ecc6183bdae105b44a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,37 +1,37 @@
+*.lock
+target/
 build/
 build.*/
 bin/
 pkg/
 tmp/
 fake/
-.vscode/
-.ccls*/
 *.cache/
 *.out
 *.o
+config.log
+!*.inc
+*\~
+*.AppImage
+*.pro.user
+
 *.sqlt
+*.zst
 *.ign
 *.mkv
 *.mks
 *.mka
+*.orig
+*.xz
+*.tar
+*.gz
+
+.ccls*/
 .ycm_extra_conf.py
 .ccls
 *.ccls
 *.ycm_extra_conf.py
-*.orig
 *.vimrc
-*.xz
-*.tar
-*.gz
 cscope.files
 cscope.out
 tags
-!*.inc
-*.zst
-config.log
-autom4te.cache
-*\~
-*.AppImage
-*.pro.user
-*.lock
-target/
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000000000000000000000000000000000000..1fbbd3960fb57ff26930709d57bc291d2f1b2f53
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,25 @@
+{
+    "configurations": [
+        {
+            "name": "Linux",
+            "includePath": [
+                "${workspaceFolder}/**",
+                "${workspaceFolder}/inc/**",
+                "/usr/include/qt6/QtCore",
+                "/usr/include/qt6/QtWidgets",
+                "/usr/include/qt6/QtGui",
+                "/usr/include/qt6"
+            ],
+            "defines": [
+                "LKT_OS_TOASTER=1",
+                "LKT_STATIC_MODULE=1",
+                "_POSIX_C_SOURCE=200809L"
+            ],
+            "compilerPath": "/usr/bin/clang",
+            "cStandard": "c17",
+            "cppStandard": "c++17",
+            "intelliSenseMode": "linux-clang-x64"
+        }
+    ],
+    "version": 4
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..8f485e803069e035995dad41716b78c27d28756c
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,7 @@
+{
+    "files.exclude": {
+        "**/src": true,
+        "**/inc": true,
+        "**/rust": true,
+    },
+}
\ No newline at end of file
diff --git a/inc/.vscode/c_cpp_properties.json b/inc/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000000000000000000000000000000000000..1fbbd3960fb57ff26930709d57bc291d2f1b2f53
--- /dev/null
+++ b/inc/.vscode/c_cpp_properties.json
@@ -0,0 +1,25 @@
+{
+    "configurations": [
+        {
+            "name": "Linux",
+            "includePath": [
+                "${workspaceFolder}/**",
+                "${workspaceFolder}/inc/**",
+                "/usr/include/qt6/QtCore",
+                "/usr/include/qt6/QtWidgets",
+                "/usr/include/qt6/QtGui",
+                "/usr/include/qt6"
+            ],
+            "defines": [
+                "LKT_OS_TOASTER=1",
+                "LKT_STATIC_MODULE=1",
+                "_POSIX_C_SOURCE=200809L"
+            ],
+            "compilerPath": "/usr/bin/clang",
+            "cStandard": "c17",
+            "cppStandard": "c++17",
+            "intelliSenseMode": "linux-clang-x64"
+        }
+    ],
+    "version": 4
+}
diff --git a/src/.vscode/c_cpp_properties.json b/src/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000000000000000000000000000000000000..d960b3470ade82ef25411b3dc2e30844b16316b3
--- /dev/null
+++ b/src/.vscode/c_cpp_properties.json
@@ -0,0 +1,25 @@
+{
+    "configurations": [
+        {
+            "name": "Linux",
+            "includePath": [
+                "${workspaceFolder}/**",
+                "${workspaceFolder}/../inc/**",
+                "/usr/include/qt6/QtCore",
+                "/usr/include/qt6/QtWidgets",
+                "/usr/include/qt6/QtGui",
+                "/usr/include/qt6"
+            ],
+            "defines": [
+                "LKT_OS_TOASTER=1",
+                "LKT_STATIC_MODULE=1",
+                "_POSIX_C_SOURCE=200809L"
+            ],
+            "compilerPath": "/usr/bin/clang",
+            "cStandard": "c17",
+            "cppStandard": "c++17",
+            "intelliSenseMode": "linux-clang-x64"
+        }
+    ],
+    "version": 4
+}
\ No newline at end of file
diff --git a/src/.vscode/settings.json b/src/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..1106b5acd293c929a3aa0f1016f3a2754bc106bf
--- /dev/null
+++ b/src/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+    "files.exclude": {
+        "**/rust": true,
+    },
+}
\ No newline at end of file