2

Is there any way in Visual Studio 2008 to smoothly switch between using Emacs keybindings and the default ones? I will soon be doing some pair programming and I need my Emacs keybindings to keep myself from going insane.

Deniz Dogan
  • 25,711
  • 35
  • 110
  • 162

2 Answers2

1

VisEmacs lets you edit files using Emacs, from within Visual Studio. So you don't have to switch keybindings at all! Some more useful information on VisEmacs is here.

Vijay Mathew
  • 26,737
  • 4
  • 62
  • 93
1

Create a new VS macro and add this code :

Sub ToggleEmacsKeyBindings()

    Dim emacsSchemeName As String = "Emacs"
    Dim defaultSchemeName As String = "(Default)"

    Dim props As EnvDTE.Properties = DTE.Properties("Environment", "Keyboard")
    Dim propsItem As EnvDTE.Property = props.Item("SchemeName")

    Dim previousScheme As String = propsItem.Value

    If propsItem.Value = emacsSchemeName Then
        propsItem.Value = defaultSchemeName
    ElseIf propsItem.Value = defaultSchemeName Then
        propsItem.Value = emacsSchemeName
    End If

    MsgBox("Previous Scheme: " + previousScheme + Environment.NewLine + Environment.NewLine + "New Scheme: " + propsItem.Value)

End Sub

You can then assign a keyboard shortcut to this macro to more quickly and easily toggle between Emacs and 'Default' keyboard scheme.

(Note: This works in VS 2005 and have not tested in VS 2008 but it should work too. It also works in VS 2010 with the Emacs emulation extension installed.)

Ray
  • 187,153
  • 97
  • 222
  • 204