F # интерактивный - горячая клавиша "сброс сеанса" - PullRequest
1 голос
/ 24 июня 2011

Я назначил новую глобальную горячую клавишу для

VS 2010 / Опции / Среда / Клавиатура / OtherContextMenus.FSIConsoleContext.ResetSession

Но, похоже, работает толькоокно FSI.Как я могу заставить горячую клавишу работать глобально?

1 Ответ

1 голос
/ 27 февраля 2012

Я не думаю, что вы можете сделать это так, как вы описываете (горячая клавиша будет работать только в контексте окна FSI), но вы можете использовать макрос VS, чтобы изменить фокус на консоль FSI, сброситьсеанс и возврат назад;

у меня сработало следующее: (требуется дополнительная обработка ошибок и т. д.)

Sub ResetFSharpMacro()
    Dim WindowName As String
    WindowName = DTE.ActiveDocument.Name
    DTE.ExecuteCommand("View.F#Interactive")
    DTE.ExecuteCommand("OtherContextMenus.FSIConsoleContext.ResetSession")
    DTE.Windows.Item(WindowName).Activate()
End Sub

Затем можно использовать Macros.MyMacro.... для назначения глобальной горячей клавиши

...