Merge pull request #292 from puremourning/codelldb-default
Recommend CodeLLDB
This commit is contained in:
commit
3f3a001283
2 changed files with 52 additions and 42 deletions
92
README.md
92
README.md
|
|
@ -132,20 +132,20 @@ runtime dependencies). They are categorised by their level of support:
|
|||
* `Experimental`: Working, but not frequently used and rarely tested
|
||||
* `Legacy`: No longer supported, please migrate your config
|
||||
|
||||
| Language | Status | Switch (for `install_gadget.py`) | Adapter (for `:VimspectorInstall`) | Dependencies |
|
||||
|------------------|--------------|----------------------------------|------------------------------------|--------------------------------------------|
|
||||
| C, C++, etc. | Tested | `--all` or `--enable-c` | vscode-cpptools | mono-core |
|
||||
| Python | Tested | `--all` or `--enable-python` | debugpy | Python 2.7 or Python 3 |
|
||||
| Go | Tested | `--enable-go` | vscode-go | Go, [Delve][] |
|
||||
| TCL | Supported | `--all` or `--enable-tcl` | tclpro | TCL 8.5 |
|
||||
| Bourne Shell | Supported | `--all` or `--enable-bash` | vscode-bash-debug | Bash v?? |
|
||||
| Node.js | Supported | `--force-enable-node` | vscode-node-debug2 | 6 < Node < 12, Npm |
|
||||
| Javascript | Supported | `--force-enable-chrome` | debugger-for-chrome | Chrome |
|
||||
| Java | Supported | `--force-enable-java ` | vscode-java-debug | Compatible LSP plugin (see [later](#java)) |
|
||||
| C# (dotnet core) | Experimental | `--force-enable-csharp` | netcoredbg | DotNet core |
|
||||
| C# (mono) | Experimental | `--force-enable-csharp` | vscode-mono-debug | Mono |
|
||||
| Rust (CodeLLDB) | Experimental | `--force-enable-rust` | CodeLLDB | Python 3 |
|
||||
| Python.legacy | Legacy | `--force-enable-python.legacy` | vscode-python | Node 10, Python 2.7 or Python 3 |
|
||||
| Language | Status | Switch (for `install_gadget.py`) | Adapter (for `:VimspectorInstall`) | Dependencies |
|
||||
|--------------------|--------------|----------------------------------|------------------------------------|--------------------------------------------|
|
||||
| C, C++, etc. | Tested | `--all` or `--enable-c` | vscode-cpptools | mono-core |
|
||||
| Rust, C, C++, etc. | Supported | `--force-enable-rust` | CodeLLDB | Python 3 |
|
||||
| Python | Tested | `--all` or `--enable-python` | debugpy | Python 2.7 or Python 3 |
|
||||
| Go | Tested | `--enable-go` | vscode-go | Go, [Delve][] |
|
||||
| TCL | Supported | `--all` or `--enable-tcl` | tclpro | TCL 8.5 |
|
||||
| Bourne Shell | Supported | `--all` or `--enable-bash` | vscode-bash-debug | Bash v?? |
|
||||
| Node.js | Supported | `--force-enable-node` | vscode-node-debug2 | 6 < Node < 12, Npm |
|
||||
| Javascript | Supported | `--force-enable-chrome` | debugger-for-chrome | Chrome |
|
||||
| Java | Supported | `--force-enable-java ` | vscode-java-debug | Compatible LSP plugin (see [later](#java)) |
|
||||
| C# (dotnet core) | Experimental | `--force-enable-csharp` | netcoredbg | DotNet core |
|
||||
| C# (mono) | Experimental | `--force-enable-csharp` | vscode-mono-debug | Mono |
|
||||
| Python.legacy | Legacy | `--force-enable-python.legacy` | vscode-python | Node 10, Python 2.7 or Python 3 |
|
||||
|
||||
## Other languages
|
||||
|
||||
|
|
@ -869,7 +869,10 @@ Current tested with the following debug adapters.
|
|||
|
||||
## C, C++, Rust, etc.
|
||||
|
||||
* C++: [vscode-cpptools](https://github.com/Microsoft/vscode-cpptools)
|
||||
* [vscode-cpptools](https://github.com/Microsoft/vscode-cpptools)
|
||||
* On macOS, I *strongly* recommend using [CodeLLDB](#rust) instead for C and C++
|
||||
projects. It's really excellent, has fewer dependencies and doesn't open console
|
||||
apps in another Terminal window.
|
||||
|
||||
|
||||
Example `.vimspector.json` (works with both `vscode-cpptools` and `lldb-vscode`.
|
||||
|
|
@ -926,6 +929,12 @@ licensing.
|
|||
}
|
||||
```
|
||||
|
||||
* CodeLLDB (MacOS)
|
||||
|
||||
CodeLLDB is superior to vscode-cpptools in a number of ways on macOS at least.
|
||||
|
||||
See [Rust](#rust).
|
||||
|
||||
* lldb-vscode (MacOS)
|
||||
|
||||
An alternative is to to use `lldb-vscode`, which comes with llvm. Here's how:
|
||||
|
|
@ -959,6 +968,33 @@ An alternative is to to use `lldb-vscode`, which comes with llvm. Here's how:
|
|||
}
|
||||
```
|
||||
|
||||
## Rust
|
||||
|
||||
Rust is supported with any gdb/lldb-based debugger. So it works fine with
|
||||
`vscode-cpptools` and `lldb-vscode` above. However, support for rust is best in
|
||||
[`CodeLLDB`](https://github.com/vadimcn/vscode-lldb#features).
|
||||
|
||||
* `./install_gadget.py --force-enable-rust` or `:VimspectorInstall CodeLLDB`
|
||||
* Example: `support/test/rust/vimspector_test`
|
||||
|
||||
```json
|
||||
{
|
||||
"configurations": {
|
||||
"launch": {
|
||||
"adapter": "CodeLLDB",
|
||||
"configuration": {
|
||||
"request": "launch",
|
||||
"program": "${workspaceRoot}/target/debug/vimspector_test"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* Docs: https://github.com/vadimcn/vscode-lldb/blob/master/MANUAL.md
|
||||
|
||||
|
||||
|
||||
### Remote debugging
|
||||
|
||||
The cpptools documentation describes how to attach cpptools to gdbserver using
|
||||
|
|
@ -1374,32 +1410,6 @@ For the launch arguments, see the
|
|||
See [this issue](https://github.com/puremourning/vimspector/issues/3) for more
|
||||
background.
|
||||
|
||||
## Rust
|
||||
|
||||
Rust is supported with any gdb/lldb-based debugger. So it works fine with
|
||||
`vscode-cpptools` and `lldb-vscode` above. However, support for rust is best in
|
||||
[`CodeLLDB`](https://github.com/vadimcn/vscode-lldb#features).
|
||||
|
||||
* `./install_gadget.py --force-enable-rust` or `:VimspectorInstall CodeLLDB`
|
||||
* Example: `support/test/rust/vimspector_test`
|
||||
|
||||
```json
|
||||
{
|
||||
"configurations": {
|
||||
"launch": {
|
||||
"adapter": "CodeLLDB",
|
||||
"configuration": {
|
||||
"request": "launch",
|
||||
"program": "${workspaceRoot}/target/debug/vimspector_test"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* Docs: https://github.com/vadimcn/vscode-lldb/blob/master/MANUAL.md
|
||||
|
||||
|
||||
## Other servers
|
||||
|
||||
* Java - vscode-javac. This works, but is not as functional as Java Debug
|
||||
|
|
|
|||
|
|
@ -438,7 +438,7 @@ GADGETS = {
|
|||
},
|
||||
'CodeLLDB': {
|
||||
'language': 'rust',
|
||||
'enabled': False,
|
||||
'enabled': True,
|
||||
'download': {
|
||||
'url': 'https://github.com/vadimcn/vscode-lldb/releases/download/'
|
||||
'${version}/${file_name}',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue