{ // 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": [ { // 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", "--log rust-lang.rust-analyzer:debug" ], "outFiles": [ "${workspaceFolder}/editors/code/out/**/*.js" ], "preLaunchTask": "Build Extension", "skipFiles": [ "/**/*.js" ] }, { // 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}", "args": [ "--disable-extensions", "--extensionDevelopmentPath=${workspaceFolder}/editors/code", "--log rust-lang.rust-analyzer:debug" ], "outFiles": [ "${workspaceFolder}/editors/code/out/**/*.js" ], "preLaunchTask": "Build Server and Extension", "skipFiles": [ "/**/*.js" ], "env": { "__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/debug/rust-analyzer" } }, { // 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", "--log rust-lang.rust-analyzer:debug" ], "outFiles": [ "${workspaceFolder}/editors/code/out/**/*.js" ], "preLaunchTask": "Build Server (Release) and Extension", "skipFiles": [ "/**/*.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 extensions loaded. "name": "Run With Extensions", "type": "extensionHost", "request": "launch", "runtimeExecutable": "${execPath}", "args": [ "--disable-extension", "rust-lang.rust-analyzer", "--extensionDevelopmentPath=${workspaceFolder}/editors/code", "--log rust-lang.rust-analyzer:debug" ], "outFiles": [ "${workspaceFolder}/editors/code/out/**/*.js" ], "preLaunchTask": "Build Server (Release) and Extension", "skipFiles": [ "/**/*.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/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" } ] }