]> git.lizzy.rs Git - rust.git/blobdiff - .vscode/launch.json
Fix hover tests
[rust.git] / .vscode / launch.json
index 0cf3984a9a4330052ac88c57398142cefc67405d..021b8f048cf2c3f8efae6a9da797650edbf0e238 100644 (file)
   // Use IntelliSense to learn about possible attributes.
   // Hover to view descriptions of existing attributes.
   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+
+  // NOTE: --disable-extensions
+  // Disable all installed extensions to increase performance of the debug instance
+  // and prevent potential conflicts with other installed extensions.
+
   "version": "0.2.0",
   "configurations": [
     {
-      "name": "Debug Extension",
+      // Used for testing the extension with the installed LSP server.
+      "name": "Run Installed Extension",
       "type": "extensionHost",
       "request": "launch",
       "runtimeExecutable": "${execPath}",
       "args": [
-        "--extensionDevelopmentPath=${workspaceFolder}/editors/code",
-        "--disable-extensions"
+        // "--user-data-dir=${workspaceFolder}/target/code",
+        "--disable-extensions",
+        "--extensionDevelopmentPath=${workspaceFolder}/editors/code"
       ],
-      "env": {
-        "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/debug/ra_lsp_server"
-      },
-      "outFiles": ["${workspaceFolder}/editors/code/bundle/**/*.js"],
-      "preLaunchTask": "Build All"
-    },
-    {
-      "name": "Debug Lsp Server",
-      "type": "lldb",
-      "request": "attach",
-      "program": "${workspaceFolder}/target/debug/ra_lsp_server",
-      "pid": "${command:pickMyProcess}",
-      "sourceLanguages": ["rust"]
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'gen_lsp_server'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=gen_lsp_server"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'ra_analysis'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=ra_analysis"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug test 'tests'",
-      "cargo": {
-        "args": ["build", "--test=tests", "--package=ra_analysis"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in test 'tests'",
-      "cargo": {
-        "args": ["test", "--no-run", "--test=tests", "--package=ra_analysis"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'ra_hir'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=ra_hir"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'ra_db'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=ra_db"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'ra_editor'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=ra_editor"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'ra_syntax'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=ra_syntax"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug test 'test'",
-      "cargo": {
-        "args": ["build", "--test=test", "--package=ra_syntax"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in test 'test'",
-      "cargo": {
-        "args": ["test", "--no-run", "--test=test", "--package=ra_syntax"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'test_utils'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=test_utils"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug executable 'ra_cli'",
-      "cargo": {
-        "args": ["build", "--bin=ra_cli", "--package=ra_cli"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in executable 'ra_cli'",
-      "cargo": {
-        "args": ["test", "--no-run", "--bin=ra_cli", "--package=ra_cli"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in library 'tools'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=tools"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug executable 'tools'",
-      "cargo": {
-        "args": ["build", "--bin=tools", "--package=tools"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in executable 'tools'",
-      "cargo": {
-        "args": ["test", "--no-run", "--bin=tools", "--package=tools"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
-    },
-    {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug test 'cli'",
-      "cargo": {
-        "args": ["build", "--test=cli", "--package=tools"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "outFiles": [
+        "${workspaceFolder}/editors/code/out/**/*.js"
+      ],
+      "preLaunchTask": "Build Extension",
+      "skipFiles": [
+        "<node_internals>/**/*.js"
+      ]
     },
     {
-      "type": "lldb",
+      // 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",
-      "name": "Debug unit tests in test 'cli'",
-      "cargo": {
-        "args": ["test", "--no-run", "--test=cli", "--package=tools"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "runtimeExecutable": "${execPath}",
+      "args": [
+        "--disable-extensions",
+        "--extensionDevelopmentPath=${workspaceFolder}/editors/code"
+      ],
+      "outFiles": [
+        "${workspaceFolder}/editors/code/out/**/*.js"
+      ],
+      "preLaunchTask": "Build Server and Extension",
+      "skipFiles": [
+        "<node_internals>/**/*.js"
+      ],
+      "env": {
+        "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/debug/rust-analyzer"
+      }
     },
     {
-      "type": "lldb",
+      // 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",
-      "name": "Debug unit tests in library 'ra_lsp_server'",
-      "cargo": {
-        "args": ["test", "--no-run", "--lib", "--package=ra_lsp_server"],
-        "filter": {
-          "kind": "lib"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "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"
+      }
     },
     {
-      "type": "lldb",
+      // 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",
-      "name": "Debug executable 'ra_lsp_server'",
-      "cargo": {
-        "args": ["build", "--bin=ra_lsp_server", "--package=ra_lsp_server"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "runtimeExecutable": "${execPath}",
+      "args": [
+        "--disable-extension", "matklad.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": "launch",
-      "name": "Debug unit tests in executable 'ra_lsp_server'",
-      "cargo": {
-        "args": [
-          "test",
-          "--no-run",
-          "--bin=ra_lsp_server",
-          "--package=ra_lsp_server"
-        ],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "request": "attach",
+      "program": "${workspaceFolder}/target/debug/rust-analyzer",
+      "pid": "${command:pickMyProcess}",
+      "sourceLanguages": [
+        "rust"
+      ]
     },
     {
-      "type": "lldb",
+      "name": "Run Unit Tests",
+      "type": "extensionHost",
       "request": "launch",
-      "name": "Debug test 'heavy_tests'",
-      "cargo": {
-        "args": ["build", "--test=heavy_tests", "--package=ra_lsp_server"],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "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"
     },
     {
-      "type": "lldb",
-      "request": "launch",
-      "name": "Debug unit tests in test 'heavy_tests'",
-      "cargo": {
-        "args": [
-          "test",
-          "--no-run",
-          "--test=heavy_tests",
-          "--package=ra_lsp_server"
-        ],
-        "filter": {
-          "kind": "bin"
-        }
-      },
-      "args": [],
-      "cwd": "${workspaceFolder}"
+      "name": "Win Attach to Server",
+      "type": "cppvsdbg",
+      "processId":"${command:pickProcess}",
+      "request": "attach"
     }
   ]
 }