fb6e655de8
Everything now happens in main.ts, in the bootstrap family of functions. The current flow is: * check everything only on extension installation. * if the user is on nightly channel, try to download the nightly extension and reload. * when we install nightly extension, we persist its release id, so that we can check if the current release is different. * if server binary was not downloaded by the current version of the extension, redownload it (we persist the version of ext that downloaded the server).
71 lines
2.2 KiB
JSON
71 lines
2.2 KiB
JSON
{
|
|
// 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 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",
|
|
"skipFiles": [
|
|
"<node_internals>/**/*.js"
|
|
]
|
|
},
|
|
{
|
|
// Used for testing the extension with a local build of the LSP server (in `target/debug`).
|
|
"name": "Run Extension (Dev Server)",
|
|
"type": "extensionHost",
|
|
"request": "launch",
|
|
"runtimeExecutable": "${execPath}",
|
|
"args": [
|
|
"--disable-extensions",
|
|
"--extensionDevelopmentPath=${workspaceFolder}/editors/code"
|
|
],
|
|
"outFiles": [
|
|
"${workspaceFolder}/editors/code/out/**/*.js"
|
|
],
|
|
"preLaunchTask": "Build Extension",
|
|
"skipFiles": [
|
|
"<node_internals>/**/*.js"
|
|
],
|
|
"env": {
|
|
"__RA_LSP_SERVER_DEBUG": "${workspaceFolder}/target/debug/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"
|
|
]
|
|
},
|
|
]
|
|
}
|