]> git.lizzy.rs Git - rust.git/blobdiff - .vscode/launch.json
Auto merge of #13814 - Veykril:layout, r=Veykril
[rust.git] / .vscode / launch.json
index 386599f7821328642b5456e88e754b45df9ecccc..1e21214ffc4bcfdf3029c92fda1508bd92e1a7ce 100644 (file)
@@ -4,29 +4,33 @@
   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 
   // NOTE: --disable-extensions
-  // Disable all installed extensions for increas performance of playground 
-  // and prevent potential problem and collision with developer's extansion
+  // Disable all installed extensions to increase performance of the debug instance
+  // and prevent potential conflicts with other installed extensions.
 
   "version": "0.2.0",
   "configurations": [
     {
-      // Used for testing extansion that located in extensionDevelopmentPath
-      "name": "Run Extension",
+      // Used for testing the extension with the installed LSP server.
+      "name": "Run Installed Extension",
       "type": "extensionHost",
       "request": "launch",
       "runtimeExecutable": "${execPath}",
       "args": [
+        // "--user-data-dir=${workspaceFolder}/target/code",
         "--disable-extensions",
         "--extensionDevelopmentPath=${workspaceFolder}/editors/code"
       ],
       "outFiles": [
         "${workspaceFolder}/editors/code/out/**/*.js"
       ],
-      "preLaunchTask": "Build Extension"
+      "preLaunchTask": "Build Extension",
+      "skipFiles": [
+        "<node_internals>/**/*.js"
+      ]
     },
     {
-      // Used for testing extansion with local lsp server located in __RA_LSP_SERVER_DEBUG
-      "name": "Run Extension (Dev Server)",
+      // Used for testing the extension with a local build of the LSP server (in `target/debug`).
+      "name": "Run Extension (Debug Build)",
       "type": "extensionHost",
       "request": "launch",
       "runtimeExecutable": "${execPath}",
       "outFiles": [
         "${workspaceFolder}/editors/code/out/**/*.js"
       ],
-      "preLaunchTask": "Build Extension",
+      "preLaunchTask": "Build Server and Extension",
+      "skipFiles": [
+        "<node_internals>/**/*.js"
+      ],
       "env": {
-        "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/debug/ra_lsp_server"
+        "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/debug/rust-analyzer"
       }
     },
     {
-      // Attaching LLDB by Pid to lsp server
-      // NOTE: it requires root permission, also for better debugging
-      // if you want more than just assembler representation for ex: 
-      // walk in file, you need debugging symbols.
-      // Project can build with it, for set - chane inside
-      // ./Cargo.toml field debug 
+      // Used for testing the extension with a local build of the LSP server (in `target/release`).
+      "name": "Run Extension (Release Build)",
+      "type": "extensionHost",
+      "request": "launch",
+      "runtimeExecutable": "${execPath}",
+      "args": [
+        "--disable-extensions",
+        "--extensionDevelopmentPath=${workspaceFolder}/editors/code"
+      ],
+      "outFiles": [
+        "${workspaceFolder}/editors/code/out/**/*.js"
+      ],
+      "preLaunchTask": "Build Server (Release) and Extension",
+      "skipFiles": [
+        "<node_internals>/**/*.js"
+      ],
+      "env": {
+        "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/release/rust-analyzer"
+      }
+    },
+    {
+      // Used for testing the extension with a local build of the LSP server (in `target/release`)
+      // with all other extendions loaded.
+      "name": "Run With Extensions",
+      "type": "extensionHost",
+      "request": "launch",
+      "runtimeExecutable": "${execPath}",
+      "args": [
+        "--disable-extension", "rust-lang.rust-analyzer",
+        "--extensionDevelopmentPath=${workspaceFolder}/editors/code"
+      ],
+      "outFiles": [
+        "${workspaceFolder}/editors/code/out/**/*.js"
+      ],
+      "preLaunchTask": "Build Server (Release) and Extension",
+      "skipFiles": [
+        "<node_internals>/**/*.js"
+      ],
+      "env": {
+        "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/release/rust-analyzer"
+      }
+    },
+    {
+      // Used to attach LLDB to a running LSP server.
+      // NOTE: Might require root permissions. For this run:
+      //
+      // `echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope`
+      //
+      // Don't forget to set `debug = 2` in `Cargo.toml` before building the server
+
       "name": "Attach To Server",
       "type": "lldb",
       "request": "attach",
-      "program": "${workspaceFolder}/target/debug/ra_lsp_server",
+      "program": "${workspaceFolder}/target/debug/rust-analyzer",
       "pid": "${command:pickMyProcess}",
       "sourceLanguages": [
         "rust"
       ]
     },
+    {
+      "name": "Run Unit Tests",
+      "type": "extensionHost",
+      "request": "launch",
+      "runtimeExecutable": "${execPath}",
+      "args": [
+          "--extensionDevelopmentPath=${workspaceFolder}/editors/code",
+          "--extensionTestsPath=${workspaceFolder}/editors/code/out/tests/unit" ],
+      "sourceMaps": true,
+      "outFiles": [ "${workspaceFolder}/editors/code/out/tests/unit/**/*.js" ],
+      "preLaunchTask": "Pretest"
+    },
+    {
+      "name": "Win Attach to Server",
+      "type": "cppvsdbg",
+      "processId":"${command:pickProcess}",
+      "request": "attach"
+    }
   ]
 }