7 ms·
I'm currently switching from gvim to vscode and back again every five minutes, in order to use vscode's debugger --- it's gdb integration is the best I've seen
by david-given 10y ago
I'm currently switching from gvim to vscode and back again every five minutes, in order to use vscode's debugger --- it's gdb integration is the best I've seen bar none [1][2]. If the vim emulation was good enough, I'd switch in a moment. Which, unfortunately, it's not, for me: the biggest omission is shift-Y/shift-P for yank and paste, which I use constantly, but there's holes everywhere.
(Also, the way the vscode's autopopup thingy grabs the escape key is really annoying, but I'm sure that's configurable.)
Two minor nitpicks:
[1] I haven't figured out how to make the debugger show a pointer as an array yet.
[2] I used to use ddd. By modern standards it's pretty rough, but it's data visualiser was unparalleled brilliance. (It allowed you to lay out structures on a canvas as boxes with arrows representing pointers.) I'd love to see that in vscode.
- Cyph0n 10y agoDamn, seriously? I'm going to be writing some C++ soon, and I'm also planning to learn gdb, so I guess VS Code it is then. Thanks for the heads up!
- steveklabnik 10y agoThere's also a brand-new lldb plugin too https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb https://marketplace.visualstudio.com/items?itemName=vadimcn....
- Cyph0n 10y agoWhich would you recommend I start with as a newcomer to the low-level debugging world - gdb or lldb? I have some experience debugging assembly in x86 real mode (yep, my class was outdated!).
- steveklabnik 10y agoI personally don't have enough direct experience with lldb to say. I've heard good things. It's on my list of stuff to try out.
- pYQAJ6Zm 10y agoI have little experience with both, but the developers of LLDB have a goal of making more informative error messages. This was successful enough that GDB devs were compelled to mimic this behavior, making their error reporting more accessible. As far as I know, LLDB still has the advantage in this regard.
- baldfat 10y ago> I have some experience debugging assembly in x86 real mode (yep, my class was outdated!). Are you kidding that is an awesome skill to have. Everyone "should" learn assembly and write a small program once.
- rayiner 10y agoVSCode's C++ plugin supports both gdb and lldb (at least on macOS). As for what to learn--I'd learn GDB. Pretty much every architecture on the planet has a GDB port.
- Cyph0n 10y agoYeah GDB it is. The C++ plugin is excellent from what I've seen and the debugging UI is very pleasant to work with.
- mafuyu 10y agoJust installed VS Code with the Vim extension and everything seems to be working pretty well for me, including yy and shift-P. I had to set "vim.useCtrlKeys": true to enable some of the keybinds that override VS Code bindings.
- steveklabnik 10y agoYeah that's a good setting. The parent is correct though, Y doesn't work. I thought it did, so I opened it up to check, and turns out that I didn't realize this because I tend to do Vy instead of Y.
- johnfn 10y agoHi! I'm one of the core developers of VSCodeVim. Shift-Y works for me, so if you can't get it to work for some reason, could you report that here?: https://github.com/VSCodeVim/Vim/issues https://github.com/VSCodeVim/Vim/issues If you have any other problems, please let me know. :)
- steveklabnik 10y agoWill do, and thanks for your work here. I have always wanted to try more editors, but vim plugins are (almost notoriously) full of holes, so there's always _something_ someone uses that's broken. Yours is the best I've ever come across. Seriously, thanks. Oh, and that reply to me down-thread from Tom is really heartening as well, kudos. (I swung by the slack and mentioned the other issue I had, and have meant to open a bug about it too, I'll get on that.)
- johnfn 10y agoThanks :)
- 2bitencryption 10y agoCurious, which of the five-or-so Vim extensions are you using? I've heard there's a bit of drama in which the top-downloaded Vim extension is poorly implemented and poorly supported by the dev, and that some of the lesser-known Vim extensions are far better.
- johnfn 10y agoHi! I'm one of the core developers of VSCodeVim. Shift-Y and Shift-P absolutely work for me, so please report on our issues page if they continue to not work for you: https://github.com/VSCodeVim/Vim/issues https://github.com/VSCodeVim/Vim/issues I would also be really interested to hear about the other holes that you're running into. Always trying to make a better Vim experience for you :)
- frutiger 10y agoI don't wish to derail the thread, but while I have your ear: is there any hope for using the neovim over its msgpack interface instead of implementing vim bindings from scratch?
- johnfn 10y agoThat's a really interesting idea, but it would definitely be a different project than our Vim extension.
- saosebastiao 10y agoWhoa. Never even thought about this, but it would be completely awesome. Speaking of Neovim, it sure would be nice to have a special mode specifically for yielding to an IDE so that all of the IDE's default keybindings can remain intact.
- snarfy 10y agoI just wanted to say thanks. A Vim with intellisense that I can step through with the debugger. I've been waiting 15 years for this.
- hanakoWasNOCent 10y agoThe VS 15 Community debugging feature is incredible as well.
- thomasahle 10y agoWhat do shift+Y and shift+P do? Are they the same as y and p, but in insert mode?
- suprfnk 10y agoIn insert mode? How would you type uppercase X and P then?
- yAnonymous 10y agocharmap.exe
- groovy2shoes 10y ago:h Y ["x]Y yank [count] lines [into register x] (synonym for yy, |linewise|). :h P ["x]P Put the text [from register x] before the cursor [count] times. {Vi: no count}