diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 048d52c06239394b61840633c205eb9c07131cd3..05885ecef1c35031b0ac142c3bfc0fd9e094d562 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -13,6 +13,7 @@
     "VisualStudioExptTeam.vscodeintellicode", // Generic AI code intellisense
     "EthanSK.restore-terminals", // Easily re-create terminal sessions, useful for complex projects
     "Gruntfuggly.todo-tree", // Easily create TODO lists in your code
+    "streetsidesoftware.code-spell-checker",  // spell checker of variable name, comments, etc
 
     // ****************************************************** //
     //               GIT VERSIONING EXTENSIONS                //
@@ -113,6 +114,8 @@
     "James-Yu.latex-workshop", // Latex support
     "JeffersonQin.latex-snippets-jeff", // Latex snippets
     "tomoki1207.pdf", // Display PDF files in VSCode (useful to display the Latex output)
+    "valentjn.vscode-ltex", // advanced spell-checker and grammar checking with Language Tool
+    "efoerster.texlab", // Linting and hints (based on chktex)
 
     // ****************************************************** //
     //                        GoLang                          //
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 6fca3fac8481904b8b810fac11391016c9a53f1f..1057e839cf25b39d3af7e6ccea86f52c9a30ad87 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -67,10 +67,78 @@
   },
 
   // Latex
+  "ltex.additionalRules.motherTongue": "fr",
+  "latex-workshop.latex.tools": [
+    {
+      "name": "make",
+      "command": "make"
+    },
+    {
+      "name": "pdflatex",
+      "command": "pdflatex",
+      "args": [
+        // Dangerous option: allows arbitrary execution during LaTeX compilation
+        // Must be enabled if using minted listings
+        // "-shell-escape", 
+        "-interaction=nonstopmode",
+        "-synctex=1",
+        "%DOCFILE%"
+      ]
+    },
+    {
+      "name": "pdflatexmk",
+      "command": "latexmk",
+      "args": [
+        "-pdf",
+        "-latexoption=-halt-on-error",
+        "-shell-escape",
+        "-synctex=1",
+        "%DOCFILE%"
+      ]
+    },
+    {
+      "name": "xelatex",
+      "command": "latexmk",
+      "args": [
+        "-xelatex",
+        "-latexoption=-halt-on-error",
+        "-shell-escape",
+        "-synctex=1",
+        "%DOCFILE%"
+      ]
+    }
+  ],
+  "latex-workshop.latex.recipes": [
+    {
+      "name": "pdflatexmk",
+      "tools": [
+        "pdflatexmk"
+      ]
+    },
+    {
+      "name": "pdflatex",
+      "tools": [
+        "pdflatex"
+      ]
+    },
+    {
+      "name": "make",
+      "tools": [
+        "make"
+      ]
+    },
+    {
+      "name": "xelatex",
+      "tools": [
+        "xelatex"
+      ]
+    }
+  ],
   "[latex]": {
     "editor.defaultFormatter": "James-Yu.latex-workshop"
   },
-  "latex-workshop.message.badbox.show": false, // Allow using \\ for newlines, without warnings
+  "latex-workshop.view.outline.sync.viewer": true,
+  "latex-workshop.latex.recipe.default": "lastUsed",
 
   // Python
   "[python]": {
diff --git a/LaTeX/.vscode/extensions.json b/LaTeX/.vscode/extensions.json
index e4744bc793d0bee934c3d56b11a3990d103e18f3..8ca8913a950ac07ee559783e28a0f349c819e409 100644
--- a/LaTeX/.vscode/extensions.json
+++ b/LaTeX/.vscode/extensions.json
@@ -1,6 +1,9 @@
 {
   "recommendations": [
-    "James-Yu.latex-workshop", // Base extention: linting and pdf preview
-    "valentjn.vscode-ltex" // spell-checker
+    "James-Yu.latex-workshop", // Latex support
+    "JeffersonQin.latex-snippets-jeff", // Latex snippets
+    "tomoki1207.pdf", // Display PDF files in VSCode (useful to display the Latex output)
+    "valentjn.vscode-ltex", // advanced spell-checker and grammar checking with Language Tool
+    "efoerster.texlab", // Linting and hints (based on chktex)
   ]
 }
diff --git a/LaTeX/.vscode/settings.json b/LaTeX/.vscode/settings.json
index 6d60997b42d78b262b404e237ed90d883baa1dd9..87e3450c73c508ccb091dd9ceaefaa66132adff6 100644
--- a/LaTeX/.vscode/settings.json
+++ b/LaTeX/.vscode/settings.json
@@ -1,86 +1,74 @@
 {
     "ltex.additionalRules.motherTongue": "fr",
-    "latex-workshop.latex.autoBuild.run": "never",
-    "latex-workshop.message.error.show": false,
-    "latex-workshop.message.warning.show": false,
     "latex-workshop.latex.tools": [
         {
-            "name": "xelatex",
-            "command": "xelatex",
+            "name": "make",
+            "command": "make"
+        },
+        {
+            "name": "pdflatex",
+            "command": "pdflatex",
             "args": [
-                "-synctex=1",
+                // Dangerous option: allows arbitrary execution during LaTeX compilation
+                // Must be enabled if using minted listings
+                // "-shell-escape", 
                 "-interaction=nonstopmode",
-                "-file-line-error",
+                "-synctex=1",
                 "%DOCFILE%"
             ]
         },
         {
-            "name": "pdflatex",
-            "command": "pdflatex",
+            "name": "pdflatexmk",
+            "command": "latexmk",
             "args": [
+                "-pdf",
+                "-latexoption=-halt-on-error",
+                // "-shell-escape",
                 "-synctex=1",
-                "-interaction=nonstopmode",
-                "-file-line-error",
                 "%DOCFILE%"
             ]
         },
         {
-            "name": "bibtex",
-            "command": "bibtex",
+            "name": "xelatex",
+            "command": "latexmk",
             "args": [
+                "-xelatex",
+                "-latexoption=-halt-on-error",
+                // "-shell-escape",
+                "-synctex=1",
                 "%DOCFILE%"
             ]
         }
     ],
     "latex-workshop.latex.recipes": [
         {
-            "name": "pdflatex",
+            "name": "pdflatexmk",
             "tools": [
-                "pdflatex"
+                "pdflatexmk"
             ]
         },
         {
-            "name": "pdf->bib->pdf->pdf",
+            "name": "pdflatex",
             "tools": [
-                "pdflatex",
-                "bibtex",
-                "pdflatex",
                 "pdflatex"
             ]
         },
         {
-            "name": "xelatex",
+            "name": "make",
             "tools": [
-                "xelatex"
-            ],
+                "make"
+            ]
         },
         {
-            "name": "xe->bib->xe->xe",
+            "name": "xelatex",
             "tools": [
-                "xelatex",
-                "bibtex",
-                "xelatex",
                 "xelatex"
             ]
-        },
+        }
     ],
-    "files.exclude": {
-        "**/_minted-*": true,
-        "**/*.aux": true,
-        "**/*.bbl": true,
-        "**/*.blg": true,
-        "**/*.lof": true,
-        "**/*.log": true,
-        "**/*.lol": true,
-        "**/*.lot": true,
-        "**/*.nav": true,
-        "**/*.out": true,
-        "**/*.snm": true,
-        "**/*.swp": true,
-        "**/*.toc": true,
-        "**/*.vrb": true
+    "[latex]": {
+        "editor.defaultFormatter": "James-Yu.latex-workshop"
     },
-    "editor.suggestSelection": "first",
-    "workbench.iconTheme": "file-icons",
-    "editor.unicodeHighlight.nonBasicASCII": false
+    "latex-workshop.view.outline.sync.viewer": true,
+    "latex-workshop.latex.recipe.default": "lastUsed",
 }
\ No newline at end of file