4 ms·
What I want to know: how good is the best autocompletion available? Does it stack up to Visual Studio's Intellisense? (For statically typed languages, that is;
by itmag 15y ago
What I want to know: how good is the best autocompletion available? Does it stack up to Visual Studio's Intellisense? (For statically typed languages, that is; Intellisense doesn't work very well for eg Javascript).
- JanezStupar 15y agoFor all your programming needs I would highly recommend JetBrains products. I am currently evaluating PyCharm and their JavaScript and Python editors are awesome. I was mostly using vim and tmux for Django development until now. Using vim plugin in PyCharm feels really 21st century. It kinda feels like VisualStudio + ReSharper (also a JetBrains product) for .NET
- LearnYouALisp 15y agoWe await the day when they produce the last word in parenthesis-based IDEs.
- qdog 15y agoI used to hook up auto completion to my tab key in vim, worked fine in c/c++ at the time. It would pop up a window of the options, but I stopped using that feature at some point.
- mattmanser 15y agoTo be completely honest if you were impressed you shouldn't have been. Learn your IDE! Apart from the douchey tone of the article, the thing he misses is that most editors can do this stuff, you've just got to make a bit of an effort to find out how. Emacs/Vim force you to learn this stuff as they suck without it. That's one of the big difference between Vim/Emacs and others, people don't realise they can do so much more with IDEs. For example in VS2010 with the MS productivity tools extension: Example 1: Use ctrl-shift-r/ctrl-shift-p (temp macro), actually less typing than his example due to auto-bracketing. Also learn how to use snippets. Example 2: I'm dubious on the value as believe this would require cognitive effort that I'm using for the code. I suspect hunt-and-peck (and only 4 or 5 keystrokes using ctrl-arrow at that) is probably better than switching mind modes to figure out the best cmd. For example won't handling entry.key().equals(qk.key) instead require different keystrokes, hence thought? Example 3: Use End, Shift-Home or Home, Shift-End instead Example 4: Use home, end, ctrl-pageUp, ctrl-pageDn to mostly deal with this Example 5: VS does this automatically on paste, so no typing at all required. If it really struggles you can use shift-},tab to indent an entire block, assuming starting on the { as the article does. Example 6: VS highlights end tags automatically without you even having to press anything, there's probably a command to select the enclosing block but I've never looked as it happens so quickly I don't think it's worth the time, here I just End, shift-upArrow a few times or go to the mouse. Deleting a whole block of code generally requires some thought about what it was doing, you're not in edit mode at the point of deletion. If you're looking for multiples then ctrl-F (find) will highlight all instances of the word your cursor is on, this is easier with productivity tools installed as it doesn't open a dialog. And VS also has the excellent rename all instances of this variable only in the right scope. He keeps banging on about fingers staying on the home row, but I don't really notice moving to the arrow keys, perhaps it's cognitively similar to switching to/from insert mode. I had to actually do all of them a few times to be able to write them down as just like Vim/Emacs, that's all muscle memory to me now. NB for example 5/6 I highly recommend changing the default colour of highlighted start/close tags in C#, the gray MS uses is far too light given how important it is. This is pretty much the only colour I have ever bothered changing from default. The other massive productivity thing in all editors if you didn't know it is ctrl-arrow, moves along words instead of single instances. Holding shift works as expected and you can hold shift-ctrl with one little finger. But I'm sure everyone knows that one. In regard to the productivity tools, I would turn off the auto-correct mixed tabs as it moans all the time when you look at downloaded code and also 'Quick Access' too as that's annoying. All that power without months of learning a new way of using a text editor.
- vacri 15y agoHow does VS2010 compare to vi when making a change to a config file on a remote machine? He keeps banging on about fingers staying on the home row, but I don't really notice moving to the arrow keys, perhaps it's cognitively similar to switching to/from insert mode. It's slower. I still move to the arrow keys in vi for some reason, and it noticeable slows me down when I do so. The physical movement of your arm there and back takes time, plus you can't run any other "right-hand commands" while your right hand is out of place. In terms of workflow there's no difference, but in terms of speed there definitely is. I've not seen an emacs master at work, but I've seen a vi master at work and they are simply stunningly fast at manipulating the text. I've never seen a gui editor master come anywhere close.
- mattmanser 15y agoI'd honestly love to see some videos. I want to see how it is faster, what it could give me. If it is I'm all for jumping ship, I've honestly never seen a Vim/Emacs master at work. I have tried to find video examples before because I want to see if it is worth learning. I am only pointing out that all the author's examples are achievable in most IDEs, you just have to learn. There's nothing special or magical there. And IDEs have other advantages. The phenomenal amount of code completion VS does for me means I generally only ever have to write a variable, function or method name once and from then on the first 2 characters will pretty much finish it off for me as VS is totally context aware. Not in a file, but in an entire project, in an entire solution made up of many projects. For all the imported libraries. Contrast that to basic auto-completion which can only take you so far. Snippets make anything boilerplate fairly trivial. Using statements are included at a ctrl-. enter as VS recognises the desired namespace. You can write function calls without them existing, ctrl-. enter, and VS will add them for you in the right file which you can then jump to after you've finished the line by pressing F12 and immediately start on the new function or object method, which already has the correct parameters. Maybe Vim/Emacs can do all this too, but it's just demonstrating that you can pump out 100s of lines of code in very little time if you really want to. But it's rare for anyone to keep that up because that's not real coding. Maybe if you'd written the program before. Real coding is thinking or physically writing in a notepad for a while, then writing at most probably 20 lines and then pondering and then writing a few more lines, pondering some more, then maybe another big burst, then some more tweaking. At least that's how it is for me. For example the answer for VS to this video question of 'can your editor do this' http://www.youtube.com/watch?v=pCiVCiku3cM http://www.youtube.com/watch?v=pCiVCiku3cM is yes. It can. But how often do you actually do crap like that? But there's no good videos I can find demonstrating the famed Vim or Emacs power that gushing articles like this profess which I've been able to find. And almost every single time with the examples these articles provide I find myself thinking 'but I can do that in the same number of key presses in VS'. Often even less key presses. This time I thought I'd demonstrate exactly how.