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
68
README.md
68
README.md
|
|
@ -133,8 +133,9 @@ runtime dependencies). They are categorised by their level of support:
|
||||||
* `Legacy`: No longer supported, please migrate your config
|
* `Legacy`: No longer supported, please migrate your config
|
||||||
|
|
||||||
| Language | Status | Switch (for `install_gadget.py`) | Adapter (for `:VimspectorInstall`) | Dependencies |
|
| Language | Status | Switch (for `install_gadget.py`) | Adapter (for `:VimspectorInstall`) | Dependencies |
|
||||||
|------------------|--------------|----------------------------------|------------------------------------|--------------------------------------------|
|
|--------------------|--------------|----------------------------------|------------------------------------|--------------------------------------------|
|
||||||
| C, C++, etc. | Tested | `--all` or `--enable-c` | vscode-cpptools | mono-core |
|
| 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 |
|
| Python | Tested | `--all` or `--enable-python` | debugpy | Python 2.7 or Python 3 |
|
||||||
| Go | Tested | `--enable-go` | vscode-go | Go, [Delve][] |
|
| Go | Tested | `--enable-go` | vscode-go | Go, [Delve][] |
|
||||||
| TCL | Supported | `--all` or `--enable-tcl` | tclpro | TCL 8.5 |
|
| TCL | Supported | `--all` or `--enable-tcl` | tclpro | TCL 8.5 |
|
||||||
|
|
@ -144,7 +145,6 @@ runtime dependencies). They are categorised by their level of support:
|
||||||
| Java | Supported | `--force-enable-java ` | vscode-java-debug | Compatible LSP plugin (see [later](#java)) |
|
| 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# (dotnet core) | Experimental | `--force-enable-csharp` | netcoredbg | DotNet core |
|
||||||
| C# (mono) | Experimental | `--force-enable-csharp` | vscode-mono-debug | Mono |
|
| 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 |
|
| Python.legacy | Legacy | `--force-enable-python.legacy` | vscode-python | Node 10, Python 2.7 or Python 3 |
|
||||||
|
|
||||||
## Other languages
|
## Other languages
|
||||||
|
|
@ -869,7 +869,10 @@ Current tested with the following debug adapters.
|
||||||
|
|
||||||
## C, C++, Rust, etc.
|
## 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`.
|
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)
|
* lldb-vscode (MacOS)
|
||||||
|
|
||||||
An alternative is to to use `lldb-vscode`, which comes with llvm. Here's how:
|
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
|
### Remote debugging
|
||||||
|
|
||||||
The cpptools documentation describes how to attach cpptools to gdbserver using
|
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
|
See [this issue](https://github.com/puremourning/vimspector/issues/3) for more
|
||||||
background.
|
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
|
## Other servers
|
||||||
|
|
||||||
* Java - vscode-javac. This works, but is not as functional as Java Debug
|
* Java - vscode-javac. This works, but is not as functional as Java Debug
|
||||||
|
|
|
||||||
|
|
@ -438,7 +438,7 @@ GADGETS = {
|
||||||
},
|
},
|
||||||
'CodeLLDB': {
|
'CodeLLDB': {
|
||||||
'language': 'rust',
|
'language': 'rust',
|
||||||
'enabled': False,
|
'enabled': True,
|
||||||
'download': {
|
'download': {
|
||||||
'url': 'https://github.com/vadimcn/vscode-lldb/releases/download/'
|
'url': 'https://github.com/vadimcn/vscode-lldb/releases/download/'
|
||||||
'${version}/${file_name}',
|
'${version}/${file_name}',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue