- Doesn't work for standard user using Visual Studio 2013 (and it only works for administrators via a workaround found on StackOverflow.com). - Can't uninstall completely. Uninstalling the extension leaves the Emacs commands, e.g. edit.EmacsCharLeft, intact. - No forward-sexp. - Keyboard macros broken in Visual Studio 2013.
Being unable to copy and paste really kills me and makes me abandon this seemingly cool plugin. So I cannot agree with @hoohah42 any more. I doubt if someone is heavily using it and/or if there will be any update for it very soon.
It almost works, but the bugs prevent me of using of it. The most unpleasant thing is that Tab key deletes codes. Every time I press tab key, I need to rethink if I should do it. Other problems include that it try to mimic a clean Emacs which no customization is allowed. It feels so awkward and as a result, I was driven to VsVim, which is much sophisticated.
This is a Godsend: before I was having to open the files outside of VS and edit them in xemacs, but now these key-bindings for emacs at least keeps me in VS. Haven't tested all the bindings I usually use in emacs, but at least it seems most I use to edit text quickly are there....
I love the fact that I don't have to make to much of a mental switch as I move back and forth between GNU Emacs and VisualStudio 2010, but the screwed-up cut-copy-paste functionality makes things nearly unusable (frustrating). I'm getting better at C-u [d] C-k, C-y, but that is not my normal working pattern (region copy, paste). But that only works from within VS - if you need something from another app, then you're toast 9or open *everything* in VS i guess).
I second the calls in the Q and A for open source-ing this extension - It's not worth the effort until these issues get resolved, which amounts to a waste of great work on the rest of the emulation.
I'm very familiar with emacs and very much want to use this extension but have encoutered several problems that make it unworkable.
o With "Productivity Power Tools" enabled copy (Alt-w) does not work.
o "Enter" leaves the cursor at column 1. "Tab" does not indent.
The code is not indented until I complete some block. The
end result is (about) the same but I find it very disconcerting
to type in poorly indented code.
o Paste from external sources does not work.
Note that I also have "VS10x Code Map v2" installed. A brief test of disabling this did not resolve any problems.
TomKU, while I don't know an exact solution to the alt+w issue (besides rebinding whatever alt+w does inside the Productivity Tools view to something else), there is a way to kind of fix the Tab issue.
Press enter and then, as you notices you are stuck at the first column regardless of how many times you press TAB in home of indtenting. However if you start typing anything and then press Tab it will indent correctly whatever you just typed without changing the relative position of your cursor. Also, suppose you are in a fruther column index like 5000 and type something there and press TAB , your text will go back to the correct column according to correct mode indentation .In other words, it does "indent-according-to-mode" from emacs. Trick is to start typing something frist before pressing TAB. Try it out!
This add-in needs somehow not show the selection box when pushign a mark onto the mark stack or when popping one. i.e. C-<SPC> C-<SPC> should insert the mark but not show the selection box when moving the cursor. That goes double for popped marks. Whenever I pop marks (explicitly with C-x C-<SPC> or implicitly with Go-to Definition/Declaration et. al) the selection is activated which is :
The selection should only appear when C-<SPC> or C-@ is pressed once and that's it.
Will there be a fix to this?
1) when you kill a line (i.e. cut it ) and then use Alt+D to kill a word, this last killed word will be appended to the last killed string . THus when pasting, instead of pasting just the most recent kill (in this case the word) it will paste the killed line PLUS the killed word at the end. This behaviour is undesired. What should happen is just have the word pasted and THEN if alt+Y is pressed the killed line should appear INSTEAD of the word.
It looks like the VsVim extension is supported by Microsoft and the source is available through github. Is that a possibility for the emacs extension considering bug fixes and feature additions aren't a promised thing?
EXCELLENT work, guys! This extension is actually far, far better than the keymap that was available in VS2008. Very well done!
Only thing I'd like to see here is one additional change: the ability to perform a "horizontal split" where two files are open side by side in two columns rather than on top of each other as two rows. Obviously the Edit.EmacsOtherWindow command will need to be adjusted to accommodate (it currently does not actually swap windows as it should for a horizontal split like this).
My mistake -- I had thought that Edit.EmacsSplitVertical created a new tab group rather than using the existing split window functionality in the text editor itself. It would certainly be a bit nicer if we could adjust this to instead create split tab groups, since that's far more flexible than a split file window.
This is a general problem with Visual Studio 2010 (and earlier?)
On a danish keyboard, AltGr+8 maps to [-character, but it cannot be used as part of shortcuts, I assume it is due to improper handling of AltGr.
Trying to map Edit.EmacsDocumentStart to "Ctrl+X, [" which on my danish keyboard is "Ctrl+X, AltGr+8" will be inserted as "Ctrl+X, Ctrl+Alt+8" in the TextBox under the "Press shortcut keys:" label.
Afterwards, pressing Ctr+X, AltGr+8 will not move to beginning of document as on regular emacs, but instead insert a square bracket. Pressing "Ctrl+X, Ctrl+Alt+8" will move to beginning of document.
Any chance that you are able to fix this problem?
The instructions state: "The first time you launch Visual Studio after downloading and installing the extension, you should see a permissions dialog, shown below." This does not appear to be correct if you are using the default start page. In that case, you will not be prompted to elevate until you open a project.
To add to my earlier comment: The description states "Emacs commands will also work with other keyboard layouts, including the default layout." This also appears to be incorrect. Attempting to use an Emacs command while using another keyboard layout results in the message: "Command "Edit.Emacsxxxx" is not available." I was hoping to add a few Emacs commands to my keyboard. This does not appear to be possible.
Hi Podnuh - The description doesn't mention this, but you do need to have a project or solution open for the Emacs extension to work. This explains why you didn't immediately see the elevation prompt and hopefully explains why commands didn't work. If the Emacs commands still give error messages even with a solution open, please file a bug on Microsoft Connect at http://connect.microsoft.com/VisualStudio. We'd like to take a closer look.
Thanks for trying the extension!
Brittany Behrens, Program Manager, VS Pro Team
Thanks for the response. I confirmed that the extension was properly installed. In addition, I installed the current release of the extension (version 1.3), and confirmed that it was also correctly installed. In my experience, the Emacs commands only function when the Emacs keyboard is selected. As suggested, I filed a bug report with Microsoft Connect. I would welcome a fix, since there are a few commands I would like to add to my keyboard.
I was also confused. The download asks me to "run" or "save" with a strange filename extension. I choose "run", not knowing what might happen, and the popup to install got lost among my desktop clutter. Finally found it, and installed. Then started VS 2010, no popup about privs. Checked options, keyboard, no "emacs" scheme.
Loaded a project, per Podnuh's advise, and there it is. No popup for the privs however. My account is admin, maybe that's why?
The instructions for download could use some clarifications...
First of all - great job guys, I love the extension :) But, there some problems with it:
1. M-m (alt-m) from emacs doesn't work by default - and setting it to Edit.LineStartAfterIndentation doesn't work well with the set-mark selection model.
2. You still have to use arrow keys to select a completion in IntelliSense (I beg you - implement this!)
3. In C#, when subscribing to an event, after typing "+= " VS gives you a tooltip saying "press TAB to generate event handler" (or something like that), which doesn't work with the Emacs extension.
4. C-x b from emacs would be nice - you already use the status bar with C-s and C-r...
5. M-y from emacs is still buggy
Another piece of feedback - on windows it is really natural to expect the selected text to be replaced with whatever you start typing. It would be cool, if you could add this behaviour as an option.
Hi Michał - Thanks for trying the extension! Point #2 (about IntelliSense completion) has been fixed. The latest version of the extension should not have this problem; you should be able to update or reinstall the extension to get the fix. #3 is a known issue that we're working on fixing. I'll update the known issues section in the description to include it.
For the other points, feel free to open Connect bugs at http://connect.microsoft.com/VisualStudio. We can't promise to fix every issue or implement all suggestions, but we'd love to have these tracked in our official bug database.
Brittany Behrens, Program Manager, VS Pro Team