// 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", "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": "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"
+ }
]
}