| RE: [aus-dotnet] Printing out modified VS2005 Keyboard Reference chart, where for art thou utility? |
- From: Dave Apelt
- Subject: RE: [aus-dotnet] Printing out modified VS2005 Keyboard Reference chart, where for art thou utility?
- Date: Tue, 12 Jun 2007 18:47:05 -0700
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
I have blogged about this before but it looks like Google hasn’t
sniffed it out. http://dotnetcoalface.blogspot.com/2006/12/lock-ness-monster-lost-city-of-atlantis.html
(scroll down -- a long long way) I was able to do it by downloading http://www.microsoft.com/downloads/details.aspx?familyid=79C7E038-8768-4E1E-87AE-5BBBE3886DE8&displaylang=en
and looking at the Keybindings Table program. I then had to hack it to do
what I wanted. The file that I changed is attached too. It simply
creates the output file in c:\temp\keyboard.txt (attached). I hope that helps. Regards Dave A From: peter@xxxxxxxxxxx
[mailto:peter@xxxxxxxxxxx] On Behalf Of Jason Finch Is
anyone in the know of some sort of gizmo that will print out all the currently
defined keyboard shortcuts in VS2005? Either from within the IDE,
externally or via interpretting the exported settings xml file? I
customize the keyboard quite heavily (due to addon products assignment etc)
therefore 'off the shelf' PDF's of keyboard shortcuts are next to useless. Thanks, Jason
|
Edit.RemoveRow M Ctrl+Del Edit.RemoveRow S Ctrl+Del Edit.EditCell M F2 Edit.EditCell S F2 View.ForwardBrowseContext G Ctrl+Shift+7 Edit.DeleteBackwards T Shift+Bkspce Edit.DeleteBackwards T Bkspce Edit.DeleteBackwards D Shift+Bkspce Edit.DeleteBackwards D Bkspce Edit.BreakLine W Enter Edit.BreakLine T Shift+Enter Edit.BreakLine T Enter Edit.BreakLine R Enter Edit.BreakLine D Shift+Enter Edit.BreakLine D Enter Edit.BreakLine S Enter Edit.InsertTab W Tab Edit.InsertTab T Tab Edit.InsertTab R Tab Edit.InsertTab D Tab Edit.InsertTab S Tab Edit.TabLeft W Shift+Tab Edit.TabLeft T Shift+Tab Edit.TabLeft R Shift+Tab Edit.TabLeft D Shift+Tab Edit.TabLeft S Shift+Tab Edit.CharLeft W Left Arrow Edit.CharLeft T Left Arrow Edit.CharLeft R Left Arrow Edit.CharLeft D Left Arrow Edit.CharLeft S Left Arrow Edit.CharLeftExtend W Shift+Left Arrow Edit.CharLeftExtend T Shift+Left Arrow Edit.CharLeftExtend R Shift+Left Arrow Edit.CharLeftExtend D Shift+Left Arrow Edit.CharLeftExtend S Shift+Left Arrow Edit.CharRight W Right Arrow Edit.CharRight T Right Arrow Edit.CharRight R Right Arrow Edit.CharRight D Right Arrow Edit.CharRight S Right Arrow Edit.CharRightExtend W Shift+Right Arrow Edit.CharRightExtend T Shift+Right Arrow Edit.CharRightExtend R Shift+Right Arrow Edit.CharRightExtend D Shift+Right Arrow Edit.CharRightExtend S Shift+Right Arrow Edit.LineUp W Up Arrow Edit.LineUp T Up Arrow Edit.LineUp R Up Arrow Edit.LineUp D Up Arrow Edit.LineUp S Up Arrow Edit.LineUpExtend W Shift+Down Arrow Edit.LineUpExtend T Shift+Up Arrow Edit.LineUpExtend R Shift+Up Arrow Edit.LineUpExtend D Shift+Up Arrow Edit.LineUpExtend S Shift+Up Arrow Edit.LineDown W Down Arrow Edit.LineDown T Down Arrow Edit.LineDown R Down Arrow Edit.LineDown D Down Arrow Edit.LineDown S Down Arrow Edit.LineDownExtend W Shift+Up Arrow Edit.LineDownExtend T Shift+Down Arrow Edit.LineDownExtend R Shift+Down Arrow Edit.LineDownExtend D Shift+Down Arrow Edit.LineDownExtend S Shift+Down Arrow Edit.DocumentStart W Home Edit.DocumentStart T Ctrl+Home Edit.DocumentStart D Ctrl+Home Edit.DocumentStartExtend W Shift+Home Edit.DocumentStartExtend T Ctrl+Shift+Home Edit.DocumentStartExtend D Ctrl+Shift+Home Edit.DocumentEnd W End Edit.DocumentEnd T Ctrl+End Edit.DocumentEnd D Ctrl+End Edit.DocumentEndExtend W Shift+End Edit.DocumentEndExtend T Ctrl+Shift+End Edit.DocumentEndExtend D Ctrl+Shift+End Edit.LineStart T Home Edit.LineStart D Home Edit.LineStartExtend T Shift+Home Edit.LineStartExtend D Shift+Home Edit.LineEnd T End Edit.LineEnd D End Edit.LineEndExtend T Shift+End Edit.LineEndExtend D Shift+End Edit.PageUp T PgUp Edit.PageUp D PgUp Edit.PageUpExtend T Shift+PgUp Edit.PageUpExtend D Shift+PgUp Edit.PageDown T PgDn Edit.PageDown D PgDn Edit.PageDownExtend T Shift+PgDn Edit.PageDownExtend D Shift+PgDn Edit.ViewTop T Ctrl+PgUp Edit.ViewTop D Ctrl+PgUp Edit.ViewTopExtend T Ctrl+Shift+PgUp Edit.ViewTopExtend D Ctrl+Shift+PgUp Edit.ViewBottom T Ctrl+PgDn Edit.ViewBottom D Ctrl+PgDn Edit.ViewBottomExtend T Ctrl+Shift+PgDn Edit.ViewBottomExtend D Ctrl+Shift+PgDn Edit.ScrollLineUp V Ctrl+Up Arrow Edit.ScrollLineUp T Ctrl+Up Arrow Edit.ScrollLineUp D Ctrl+Up Arrow Edit.ScrollLineDown V Ctrl+Down Arrow Edit.ScrollLineDown T Ctrl+Down Arrow Edit.ScrollLineDown D Ctrl+Down Arrow Edit.ScrollColumnLeft V Ctrl+Left Arrow Edit.ScrollColumnRight V Ctrl+Right Arrow Edit.MakeLowercase T Ctrl+U Edit.MakeLowercase D Ctrl+U Edit.MakeUppercase T Ctrl+Shift+U Edit.MakeUppercase D Ctrl+Shift+U Edit.SwapAnchor T Ctrl+K, Ctrl+A Edit.SwapAnchor D Ctrl+R, Ctrl+P Edit.SwapAnchor T Ctrl+E, A Edit.SwapAnchor T Ctrl+E, Ctrl+A Edit.GotoBrace T Ctrl+] Edit.GotoBrace D Ctrl+] Edit.GotoBraceExtend T Ctrl+Shift+] Edit.GotoBraceExtend D Ctrl+Shift+] Edit.OvertypeMode T Ins Edit.OvertypeMode D Ins Edit.LineCut T Ctrl+L Edit.LineCut D Ctrl+L Edit.LineDelete T Ctrl+Shift+L Edit.LineDelete D Ctrl+Shift+L Edit.DeleteHorizontalWhiteSpace T Ctrl+K, Ctrl+\ Edit.DeleteHorizontalWhiteSpace D Ctrl+K, Ctrl+\ Edit.DeleteHorizontalWhiteSpace T Ctrl+E, \ Edit.DeleteHorizontalWhiteSpace T Ctrl+E, Ctrl+\ Edit.LineOpenAbove T Ctrl+Enter Edit.LineOpenAbove D Ctrl+Enter Edit.LineOpenBelow T Ctrl+Shift+Enter Edit.LineOpenBelow D Ctrl+Shift+Enter Edit.ClearBookmarks D Ctrl+K, Ctrl+L Edit.ClearBookmarks T Ctrl+B, C Edit.ClearBookmarks T Ctrl+B, Ctrl+C Edit.ToggleBookmark T Ctrl+K, Ctrl+K Edit.ToggleBookmark D Ctrl+K, Ctrl+K Edit.ToggleBookmark T Ctrl+B, T Edit.ToggleBookmark T Ctrl+B, Ctrl+T Edit.NextBookmark G Ctrl+K, Ctrl+N Edit.NextBookmark D Ctrl+K, Ctrl+N Edit.NextBookmark T Ctrl+B, N Edit.NextBookmark T Ctrl+B, Ctrl+N Edit.PreviousBookmark G Ctrl+K, Ctrl+P Edit.PreviousBookmark D Ctrl+K, Ctrl+P Edit.PreviousBookmark T Ctrl+B, P Edit.PreviousBookmark T Ctrl+B, Ctrl+P Edit.CharTranspose T Ctrl+T Edit.CharTranspose D Ctrl+T Edit.WordTranspose T Ctrl+Shift+T Edit.WordTranspose D Ctrl+Shift+T Edit.LineTranspose T Shift+Alt+T Edit.LineTranspose D Shift+Alt+T Edit.SelectCurrentWord D Ctrl+W Edit.SelectCurrentWord G Ctrl+Shift+W Edit.WordDeleteToEnd T Ctrl+Del Edit.WordDeleteToEnd D Ctrl+Del Edit.WordDeleteToStart T Ctrl+Bkspce Edit.WordDeleteToStart D Ctrl+Bkspce Edit.WordPrevious T Ctrl+Left Arrow Edit.WordPrevious D Ctrl+Left Arrow Edit.WordPreviousExtend T Ctrl+Shift+Left Arrow Edit.WordPreviousExtend D Ctrl+Shift+Left Arrow Edit.WordNext T Ctrl+Right Arrow Edit.WordNext D Ctrl+Right Arrow Edit.WordNextExtend T Ctrl+Shift+Right Arrow Edit.WordNextExtend D Ctrl+Shift+Right Arrow Edit.SelectionCancel W Esc Edit.SelectionCancel T Esc Edit.SelectionCancel R Esc Edit.SelectionCancel M Esc Edit.SelectionCancel S Esc Edit.SelectionCancel D Esc Edit.SelectionCancel S Esc Edit.ParameterInfo T Ctrl+Shift+Space Edit.ParameterInfo D Ctrl+Shift+Space Edit.ParameterInfo T Ctrl+K, P Edit.ParameterInfo T Ctrl+K, Ctrl+P Edit.ViewWhiteSpace T Ctrl+R, Ctrl+W Edit.ViewWhiteSpace D Ctrl+R, Ctrl+W Edit.ViewWhiteSpace T Ctrl+E, S Edit.ViewWhiteSpace T Ctrl+E, Ctrl+S Edit.CompleteWord T Alt+Right Arrow Edit.CompleteWord T Ctrl+Space Edit.CompleteWord D Alt+Right Arrow Edit.CompleteWord D Ctrl+Space Edit.CompleteWord T Ctrl+K, W Edit.CompleteWord T Ctrl+K, Ctrl+W Edit.ListMembers T Ctrl+J Edit.ListMembers D Ctrl+J Edit.ListMembers T Ctrl+K, L Edit.ListMembers T Ctrl+K, Ctrl+L Edit.FormatSelection T Ctrl+K, Ctrl+F Edit.FormatSelection D Ctrl+K, Ctrl+F Edit.FormatSelection T Ctrl+E, F Edit.FormatSelection T Ctrl+E, Ctrl+F Edit.ToggleTaskListShortcut T Ctrl+K, Ctrl+H Edit.ToggleTaskListShortcut D Ctrl+K, Ctrl+H Edit.ToggleTaskListShortcut T Ctrl+E, T Edit.ToggleTaskListShortcut T Ctrl+E, Ctrl+T Edit.QuickInfo T Ctrl+K, Ctrl+I Edit.QuickInfo D Ctrl+K, Ctrl+I Edit.QuickInfo T Ctrl+K, I Edit.CharLeftExtendColumn T Shift+Alt+Left Arrow Edit.CharLeftExtendColumn D Shift+Alt+Left Arrow Edit.CharRightExtendColumn T Shift+Alt+Right Arrow Edit.CharRightExtendColumn D Shift+Alt+Right Arrow Edit.LineUpExtendColumn T Shift+Alt+Up Arrow Edit.LineUpExtendColumn D Shift+Alt+Up Arrow Edit.LineDownExtendColumn T Shift+Alt+Down Arrow Edit.LineDownExtendColumn D Shift+Alt+Down Arrow Edit.ToggleWordWrap T Ctrl+E, Ctrl+W Edit.ToggleWordWrap D Ctrl+R, Ctrl+R Edit.ToggleWordWrap T Ctrl+E, W Edit.IncrementalSearch T Ctrl+I Edit.IncrementalSearch D Ctrl+I Edit.ReverseIncrementalSearch T Ctrl+Shift+I Edit.ReverseIncrementalSearch D Ctrl+Shift+I Edit.LineStartExtendColumn T Shift+Alt+Home Edit.LineStartExtendColumn D Shift+Alt+Home Edit.LineEndExtendColumn T Shift+Alt+End Edit.LineEndExtendColumn D Shift+Alt+End Edit.WordPreviousExtendColumn T Ctrl+Shift+Alt+Left Arrow Edit.WordPreviousExtendColumn D Ctrl+Shift+Alt+Left Arrow Edit.WordNextExtendColumn T Ctrl+Shift+Alt+Right Arrow Edit.WordNextExtendColumn D Ctrl+Shift+Alt+Right Arrow Edit.HideSelection T Ctrl+M, Ctrl+H Edit.HideSelection D Ctrl+M, Ctrl+H Edit.ToggleOutliningExpansion T Ctrl+M, Ctrl+M Edit.ToggleOutliningExpansion D Ctrl+M, Ctrl+M Edit.ToggleOutliningExpansion T Ctrl+M, M Edit.ToggleAllOutlining T Ctrl+M, Ctrl+L Edit.ToggleAllOutlining D Ctrl+M, Ctrl+L Edit.ToggleAllOutlining T Ctrl+M, L Edit.StopOutlining T Ctrl+M, Ctrl+P Edit.StopOutlining D Ctrl+M, Ctrl+P Edit.StopOutlining T Ctrl+M, P Edit.StopHidingCurrent T Ctrl+M, Ctrl+U Edit.StopHidingCurrent D Ctrl+M, Ctrl+U Edit.CollapsetoDefinitions T Ctrl+M, Ctrl+O Edit.CollapsetoDefinitions D Ctrl+M, Ctrl+O Edit.CollapsetoDefinitions T Ctrl+M, O Edit.CommentSelection T Ctrl+K, Ctrl+C Edit.CommentSelection D Ctrl+K, Ctrl+C Edit.CommentSelection T Ctrl+E, C Edit.CommentSelection T Ctrl+E, Ctrl+C Edit.UncommentSelection T Ctrl+K, Ctrl+U Edit.UncommentSelection D Ctrl+K, Ctrl+U Edit.UncommentSelection T Ctrl+E, U Edit.UncommentSelection T Ctrl+E, Ctrl+U Edit.OpenFile G Ctrl+Shift+G Edit.SelectToLastGoBack T Ctrl+= Edit.SelectToLastGoBack D Ctrl+= Edit.FormatDocument T Ctrl+K, Ctrl+D Edit.FormatDocument D Ctrl+K, Ctrl+D Edit.FormatDocument T Ctrl+E, D Edit.FormatDocument T Ctrl+E, Ctrl+D Edit.IncreaseFilterLevel T Alt+. Edit.DecreaseFilterLevel T Alt+, View.ShowSmartTag G Shift+Alt+F10 View.ShowSmartTag H Shift+Alt+F10 View.ShowSmartTag G Ctrl+. Edit.CopyParameterTip T Ctrl+Shift+Alt+C Edit.PasteParameterTip T Ctrl+Shift+Alt+P View.VisibleBorders H Ctrl+Q View.Details H Ctrl+Shift+Q Layout.InsertColumntotheLeft H Ctrl+Alt+Left Arrow Layout.InsertColumntotheRight H Ctrl+Alt+Right Arrow Layout.InsertRowAbove H Ctrl+Alt+Up Arrow Layout.InsertRowBelow H Ctrl+Alt+Down Arrow Format.InsertBookmark H Ctrl+Shift+L Format.ConverttoHyperlink H Ctrl+L View.AutoCloseTagOverride H Ctrl+Shift+. Schema.Expand X Ctrl+= Schema.Collapse X Ctrl+- View.EditMaster H Ctrl+M, Ctrl+M Edit.InsertSnippet G Ctrl+K, Ctrl+X Edit.InsertSnippet G Ctrl+K, X Edit.CollapseTag T Ctrl+M, Ctrl+T View.NonVisualControls H Ctrl+Alt+Q Build.Compile G Ctrl+F7 Project.AddContentPage H Ctrl+M, Ctrl+C View.ViewMarkup H Shift+F7 Edit.EnableBookmark T Ctrl+B, E Edit.EnableBookmark T Ctrl+B, Ctrl+E NewFolder G Ctrl+K, Ctrl+F Format.TestDialog V Ctrl+T Format.SpaceAcross V Alt+Left Arrow Format.SpaceAcross V Alt+Right Arrow Format.SpaceDown V Alt+Down Arrow Format.SpaceDown V Alt+Up Arrow Format.ToggleGuides V Ctrl+G Format.SizetoContent V Shift+F7 Format.CenterVertical V Ctrl+F9 Format.CenterHorizontal V Ctrl+Shift+F9 Format.TabOrder V Ctrl+D Format.ButtonRight V Ctrl+R Format.ButtonBottom V Ctrl+B Edit.MoveControlLeft G Ctrl+Left Arrow Edit.MoveControlLeft V Left Arrow Edit.MoveControlLeft W Ctrl+Left Arrow Edit.MoveControlLeft R Ctrl+Left Arrow Edit.MoveControlLeft S Ctrl+Left Arrow Edit.MoveControlDown G Ctrl+Down Arrow Edit.MoveControlDown V Down Arrow Edit.MoveControlDown W Ctrl+Down Arrow Edit.MoveControlDown R Ctrl+Down Arrow Edit.MoveControlDown S Ctrl+Down Arrow Edit.MoveControlRight G Ctrl+Right Arrow Edit.MoveControlRight V Right Arrow Edit.MoveControlRight W Ctrl+Right Arrow Edit.MoveControlRight R Ctrl+Right Arrow Edit.MoveControlRight S Ctrl+Right Arrow Edit.MoveControlUp G Ctrl+Up Arrow Edit.MoveControlUp V Up Arrow Edit.MoveControlUp W Ctrl+Up Arrow Edit.MoveControlUp R Ctrl+Up Arrow Edit.MoveControlUp S Ctrl+Up Arrow Edit.SizeControlDown G Ctrl+Shift+Down Arrow Edit.SizeControlDown V Shift+Down Arrow Edit.SizeControlDown W Ctrl+Shift+Down Arrow Edit.SizeControlDown R Ctrl+Shift+Down Arrow Edit.SizeControlDown D Ctrl+Shift+Down Arrow Edit.SizeControlDown S Ctrl+Shift+Down Arrow Edit.SizeControlUp G Ctrl+Shift+Up Arrow Edit.SizeControlUp V Shift+Up Arrow Edit.SizeControlUp W Ctrl+Shift+Up Arrow Edit.SizeControlUp R Ctrl+Shift+Up Arrow Edit.SizeControlUp D Ctrl+Shift+Up Arrow Edit.SizeControlUp S Ctrl+Shift+Up Arrow Edit.SizeControlLeft G Ctrl+Shift+Left Arrow Edit.SizeControlLeft V Shift+Left Arrow Edit.SizeControlLeft W Ctrl+Shift+Left Arrow Edit.SizeControlLeft R Ctrl+Shift+Left Arrow Edit.SizeControlLeft S Ctrl+Shift+Left Arrow Edit.SizeControlRight G Ctrl+Shift+Right Arrow Edit.SizeControlRight V Shift+Right Arrow Edit.SizeControlRight W Ctrl+Shift+Right Arrow Edit.SizeControlRight R Ctrl+Shift+Right Arrow Edit.SizeControlRight S Ctrl+Shift+Right Arrow Edit.NewAccelerator V Ins Edit.NextKeyTyped V Ctrl+W Image.FlipHorizontal V Ctrl+H Image.FlipVertical V Shift+Alt+H Image.Rotate90Degrees V Ctrl+Shift+H Edit.NewString V Ins Format.CheckMnemonics V Ctrl+M Image.DrawOpaque V Ctrl+J Image.NewImageType V Ins Image.ShowGrid V Ctrl+Alt+S Image.ShowTileGrid V Ctrl+Shift+Alt+S Image.Magnify V Ctrl+Shift+M Image.RectangleSelectionTool V Shift+Alt+S Image.EraseTool V Ctrl+Shift+I Image.FillTool V Ctrl+F Image.PencilTool V Ctrl+I Image.BrushTool V Ctrl+B Image.AirbrushTool V Ctrl+A Image.LineTool V Ctrl+L Image.TextTool V Ctrl+T Image.RectangleTool V Alt+R Image.OutlinedRectangleTool V Shift+Alt+R Image.FilledRectangleTool V Ctrl+Shift+Alt+R Image.RoundedRectangleTool V Alt+W Image.OutlinedRoundedRectangleTool V Shift+Alt+W Image.FilledRoundedRectangleTool V Ctrl+Shift+Alt+W Image.EllipseTool V Alt+P Image.OutlinedEllipseTool V Shift+Alt+P Image.FilledEllipseTool V Ctrl+Shift+Alt+P Image.MagnificationTool V Ctrl+M Image.LargerBrush V Ctrl+= Image.SmallBrush V Ctrl+. Image.SmallerBrush V Ctrl+- Image.ZoomIn V Ctrl+Up Arrow Image.ZoomIn V Ctrl+Shift+. Image.ZoomOut V Ctrl+Down Arrow Image.ZoomOut V Ctrl+Shift+, Image.PreviousColor V Ctrl+Left Arrow Image.PreviousColor V Ctrl+[ Image.PreviousRightColor V Ctrl+Shift+Left Arrow Image.PreviousRightColor V Ctrl+Shift+[ Image.NextColor V Ctrl+Right Arrow Image.NextColor V Ctrl+] Image.NextRightColor V Ctrl+Shift+Right Arrow Image.NextRightColor V Ctrl+Shift+] Edit.ShowTileGrid G Enter Edit.MoveControlUpGrid G Up Arrow Edit.MoveControlDownGrid G Down Arrow Edit.MoveControlLeftGrid G Left Arrow Edit.MoveControlRightGrid G Right Arrow Edit.SizeControlRightGrid G Shift+Right Arrow Edit.SizeControlUpGrid G Shift+Up Arrow Edit.SizeControlLeftGrid G Shift+Left Arrow Edit.SizeControlDownGrid G Shift+Down Arrow Edit.SelectNextControl G Tab Edit.SelectPreviousControl G Shift+Tab Refactor.Rename G Ctrl+R, Ctrl+R Refactor.Rename G Ctrl+R, R Refactor.Rename T F2 Refactor.ExtractMethod G Ctrl+R, Ctrl+M Refactor.ExtractMethod G Ctrl+R, M Refactor.EncapsulateField G Ctrl+R, Ctrl+E Refactor.EncapsulateField G Ctrl+R, E Refactor.ExtractInterface G Ctrl+R, Ctrl+I Refactor.ExtractInterface G Ctrl+R, I Refactor.PromoteLocalVariable G Ctrl+R, Ctrl+P Refactor.PromoteLocalVariable G Ctrl+R, P Refactor.RemoveParameters G Ctrl+R, Ctrl+V Refactor.RemoveParameters G Ctrl+R, V Refactor.ReorderParameters G Ctrl+R, Ctrl+O Refactor.ReorderParameters G Ctrl+R, O Edit.GenerateMethodStub G Ctrl+K, M Edit.GenerateMethodStub G Ctrl+K, Ctrl+M Edit.SurroundWith G Ctrl+K, Ctrl+S Edit.SurroundWith G Ctrl+K, S Window.ShowEzMDIFileList G Ctrl+Alt+Down Arrow Window.NextToolWindowNav G Alt+F7 Window.PreviousToolWindowNav G Shift+Alt+F7 View.ClassViewGoToSearchCombo G Ctrl+K, Ctrl+V View.Backward G Alt+Left Arrow View.Forward G Alt+Right Arrow View.CodeDefinitionWindow G Ctrl+\, Ctrl+D View.CodeDefinitionWindow G Ctrl+\, D View.CodeDefinitionWindow G Ctrl+W, D View.CodeDefinitionWindow G Ctrl+W, Ctrl+D View.ServerExplorer G Ctrl+Alt+S View.ServerExplorer G Ctrl+W, L View.ServerExplorer G Ctrl+W, Ctrl+L Format.AlignBottoms V Ctrl+Shift+Down Arrow Format.AlignMiddles V F9 Format.AlignLefts V Ctrl+Shift+Left Arrow Format.AlignRights V Ctrl+Shift+Right Arrow Format.AlignTops V Ctrl+Shift+Up Arrow Format.AlignCenters V Shift+F9 Edit.Copy G Ctrl+C Edit.Copy G Ctrl+Ins Edit.Cut G Ctrl+X Edit.Cut G Shift+Del Edit.Delete G Del Edit.Delete C Ctrl+Del Edit.Paste G Ctrl+V Edit.Paste G Shift+Ins File.Print G Ctrl+P Edit.Redo G Ctrl+Y Edit.Redo G Shift+Alt+Bkspce Edit.Redo G Ctrl+Shift+Z Edit.SelectAll G Ctrl+A View.Toolbox G Ctrl+Alt+X View.Toolbox G Ctrl+W, X View.Toolbox G Ctrl+W, Ctrl+X Edit.Undo G Ctrl+Z Edit.Undo G Alt+Bkspce Format.Bold H Ctrl+B Format.Italic H Ctrl+I Format.Underline H Ctrl+U Edit.Find G Ctrl+F QueryDesigner.SQL Q Ctrl+3 QueryDesigner.SQL V Ctrl+3 QueryDesigner.Diagram Q Ctrl+1 QueryDesigner.Diagram V Ctrl+1 QueryDesigner.Results Q Ctrl+4 QueryDesigner.Results V Ctrl+4 QueryDesigner.Criteria Q Ctrl+2 QueryDesigner.Criteria V Ctrl+2 Edit.Remove M Del Debug.StopDebugging G Shift+F5 Debug.BreakAll G Ctrl+Alt+Break QueryDesigner.ExecuteSQL Q Ctrl+R QueryDesigner.ExecuteSQL V Ctrl+R QueryDesigner.GotoRow Q Ctrl+G QueryDesigner.GotoRow V Ctrl+G Debug.ScriptExplorer G Ctrl+Alt+N Debug.Threads G Ctrl+Alt+H Debug.Threads G Ctrl+D, T Debug.Threads G Ctrl+D, Ctrl+T File.NewProject G Ctrl+Shift+N File.OpenProject G Ctrl+Shift+O Project.AddNewItem G Ctrl+Shift+A File.NewFile G Ctrl+N File.OpenFile G Ctrl+O File.SaveAll G Ctrl+Shift+S Edit.Replace G Ctrl+H Edit.GoTo G Ctrl+G View.PropertyPages G Shift+F4 View.FullScreen G Shift+Alt+Enter View.SolutionExplorer G Ctrl+Alt+L View.SolutionExplorer G Ctrl+W, S View.SolutionExplorer G Ctrl+W, Ctrl+S View.PropertiesWindow G F4 View.PropertiesWindow G Ctrl+W, P View.PropertiesWindow G Ctrl+W, Ctrl+P View.TaskList G Ctrl+\, Ctrl+T View.TaskList G Ctrl+\, T View.TaskList G Ctrl+W, T View.TaskList G Ctrl+W, Ctrl+T View.Output G Ctrl+Alt+O View.Output G Ctrl+W, O View.Output G Ctrl+W, Ctrl+O View.ObjectBrowser G Ctrl+Alt+J View.ObjectBrowser G Ctrl+W, J View.ObjectBrowser G Ctrl+W, Ctrl+J View.DocumentOutline G Ctrl+Alt+T View.DocumentOutline G Ctrl+W, U View.DocumentOutline G Ctrl+W, Ctrl+U Debug.Immediate G Ctrl+Alt+I Debug.Immediate G Ctrl+D, I Debug.Immediate G Ctrl+D, Ctrl+I Debug.Locals G Ctrl+Alt+V, L Debug.Locals G Ctrl+D, L Debug.Locals G Ctrl+D, Ctrl+L Debug.CallStack G Ctrl+Alt+C Debug.CallStack G Ctrl+D, C Debug.CallStack G Ctrl+D, Ctrl+C Project.AddExistingItem G Shift+Alt+A Debug.StepInto G F11 Debug.StepOver G F10 Debug.StepOut G Shift+F11 Debug.RunToCursor G Ctrl+F10 Debug.QuickWatch G Ctrl+Alt+Q Debug.QuickWatch G Shift+F9 Debug.QuickWatch G Ctrl+D, Q Debug.QuickWatch G Ctrl+D, Ctrl+Q Debug.ToggleBreakpoint G F9 Debug.DeleteAllBreakpoints G Ctrl+Shift+F9 Debug.SetNextStatement G Ctrl+Shift+F10 Debug.ShowNextStatement G Alt+Num * Edit.FindinFiles G Ctrl+Shift+F Edit.ReplaceinFiles G Ctrl+Shift+H Edit.GoToNextLocation G F8 Edit.GoToPrevLocation G Shift+F8 Window.NextTab G Ctrl+PgDn Window.PreviousTab G Ctrl+PgUp Window.PreviousTab H Ctrl+PgUp Window.PreviousTab H Ctrl+PgUp Window.CloseToolWindow G Shift+Esc Window.ActivateDocumentWindow G Esc Window.MovetoNavigationBar G Ctrl+F2 Debug.Start G F5 Debug.Restart G Ctrl+Shift+F5 Window.NextPane G Alt+F6 Window.PreviousPane G Shift+Alt+F6 View.ErrorList G Ctrl+\, Ctrl+E View.ErrorList G Ctrl+\, E View.ErrorList G Ctrl+W, E View.ErrorList G Ctrl+W, Ctrl+E File.SaveSelectedItems G Ctrl+S View.ViewDesigner H Shift+F7 View.ViewDesigner G Shift+F7 View.ViewCode C Enter View.ViewCode G F7 View.EditLabel G F2 Debug.Exceptions G Ctrl+Alt+E Debug.Exceptions G Ctrl+D, E Debug.Exceptions G Ctrl+D, Ctrl+E Edit.StopSearch G Alt+F3, S Debug.StartWithoutDebugging G Ctrl+F5 Edit.FindNext G F3 Edit.FindPrevious G Shift+F3 Edit.FindNextSelected G Ctrl+F3 Edit.FindPreviousSelected G Ctrl+Shift+F3 Debug.EnableBreakpoint G Ctrl+F9 Help.F1Help G F1 ClassViewContextMenus.ClassViewProject.Properties G Alt+Enter View.ClassView G Ctrl+Shift+C View.ClassView G Ctrl+W, C View.ClassView G Ctrl+W, Ctrl+C Window.NextDocumentWindow G Ctrl+F6 Window.PreviousDocumentWindow G Ctrl+Shift+F6 Edit.CycleClipboardRing G Ctrl+Shift+V Edit.CycleClipboardRing G Ctrl+Shift+Ins Window.CloseDocumentWindow G Ctrl+F4 View.CommandWindow G Ctrl+Alt+A View.CommandWindow G Ctrl+W, A View.CommandWindow G Ctrl+W, Ctrl+A Debug.Autos G Ctrl+Alt+V, A Debug.Autos G Ctrl+D, A Debug.Autos G Ctrl+D, Ctrl+A View.NavigateBackward G Ctrl+- View.NavigateForward G Ctrl+Shift+- Build.BuildSolution G Ctrl+Shift+B Build.BuildSolution G F6 Build.BuildSelection G Shift+F6 Build.Cancel G Ctrl+Break Edit.GoToDefinition G F12 Edit.GoToDeclaration G Ctrl+F12 Project.AddClass G Shift+Alt+C Project.Override G Ctrl+Alt+Ins Edit.FindSymbol G Alt+F12 View.FindSymbolResults G Ctrl+Alt+F12 View.FindSymbolResults G Ctrl+W, Q View.FindSymbolResults G Ctrl+W, Ctrl+Q View.ResourceView G Ctrl+Shift+E View.ResourceView G Ctrl+W, R View.ResourceView G Ctrl+W, Ctrl+R Help.WindowHelp G Shift+F1 View.NextView H Ctrl+PgDn View.NextView H Ctrl+PgDn Tools.AttachtoProcess G Ctrl+Alt+P View.PopBrowseContext G Ctrl+Shift+8 View.BrowseNext G Ctrl+Shift+1 View.BrowsePrevious G Ctrl+Shift+2 Edit.QuickFindSymbol G Shift+Alt+F12 View.BookmarkWindow G Ctrl+K, Ctrl+W View.BookmarkWindow G Ctrl+W, B View.BookmarkWindow G Ctrl+W, Ctrl+B Tools.CodeSnippetsManager G Ctrl+K, Ctrl+B Window.NextDocumentWindowNav G Ctrl+Tab Window.PreviousDocumentWindowNav G Ctrl+Shift+Tab Edit.FindAllReferences G Ctrl+K, R Edit.FindAllReferences G Ctrl+K, Ctrl+R Edit.FindAllReferences G Shift+F12 Image.CopyandOutlineSelection V Ctrl+Shift+U Image.UseSelectionasBrush V Ctrl+U Debug.Breakpoints G Ctrl+Alt+B Debug.Breakpoints G Ctrl+D, B Debug.Breakpoints G Ctrl+D, Ctrl+B Debug.Disassembly G Ctrl+Alt+D Debug.Registers G Ctrl+Alt+G Debug.Registers G Ctrl+D, R Debug.Registers G Ctrl+D, Ctrl+R Debug.Modules G Ctrl+Alt+U Debug.Modules G Ctrl+D, M Debug.Modules G Ctrl+D, Ctrl+M Debug.ApplyCodeChanges G Alt+F10 Debug.Processes G Ctrl+Alt+Z Debug.Processes G Ctrl+D, P Debug.Processes G Ctrl+D, Ctrl+P Debug.BreakatFunction G Ctrl+B Debug.BreakatFunction G Ctrl+D, N Debug.BreakatFunction G Ctrl+D, Ctrl+N Debug.StepIntoCurrentProcess G Ctrl+Alt+F11 Debug.StepOverCurrentProcess G Ctrl+Alt+F10 Debug.StepOutCurrentProcess G Ctrl+Shift+Alt+F11 DebuggerContextMenus.BreakpointsWindow.Delete G Alt+F9, D DebuggerContextMenus.BreakpointsWindow.GoToSourceCode G Alt+F9, S DebuggerContextMenus.BreakpointsWindow.GoToDisassembly G Alt+F9, A Debug.ToggleDisassembly G Ctrl+F11 Debug.ToggleDisassembly G Ctrl+D, D Debug.ToggleDisassembly G Ctrl+D, Ctrl+D Debug.Memory1 G Ctrl+Alt+M, 1 Debug.Memory1 G Ctrl+D, Y Debug.Memory1 G Ctrl+D, Ctrl+Y Debug.Watch G Ctrl+Alt+W, 1 Debug.Watch G Ctrl+D, W Debug.Watch G Ctrl+D, Ctrl+W Debug.Memory2 G Ctrl+Alt+M, 2 Debug.Watch2 G Ctrl+Alt+W, 2 Debug.Memory3 G Ctrl+Alt+M, 3 Debug.Watch3 G Ctrl+Alt+W, 3 Debug.Memory4 G Ctrl+Alt+M, 4 Debug.Watch4 G Ctrl+Alt+W, 4 View.NextError G Ctrl+Shift+F12 Help.DynamicHelp G Ctrl+F1, D Help.DynamicHelp G Ctrl+F1, Ctrl+D Help.Nexttopic W Alt+Down Arrow Help.Previoustopic W Alt+Up Arrow View.WebBrowser G Ctrl+Alt+R View.WebBrowser G Ctrl+W, W View.WebBrowser G Ctrl+W, Ctrl+W Help.Contents G Ctrl+Alt+F1 Help.Contents G Ctrl+F1, C Help.Contents G Ctrl+F1, Ctrl+C Help.Index G Ctrl+Alt+F2 Help.Index G Ctrl+F1, I Help.Index G Ctrl+F1, Ctrl+I Help.Search G Ctrl+Alt+F3 Help.Search G Ctrl+F1, S Help.Search G Ctrl+F1, Ctrl+S Help.HowDoI G Ctrl+F1, H Help.HowDoI G Ctrl+F1, Ctrl+H Help.SearchResults G Shift+Alt+F3 Help.SearchResults G Ctrl+F1, R Help.SearchResults G Ctrl+F1, Ctrl+R Help.IndexResults G Ctrl+F1, T Help.IndexResults G Ctrl+F1, Ctrl+T Help.HelpFavorites G Ctrl+F1, F Help.HelpFavorites G Ctrl+F1, Ctrl+F Data.StepInto G Alt+F5 Data.Execute G Ctrl+Alt+F5 Data.RunSelection G Ctrl+Q Data.Column D Ctrl+L Data.InsertColumn D Ins View.PendingCheckins G Ctrl+W, G View.PendingCheckins G Ctrl+W, Ctrl+G Edit.ExpandCollapseBaseTypeList C Shift+Alt+B Edit.NavigateToLollipop C Shift+Alt+L ClassDiagram.Collapse C Num - ClassDiagram.Expand C Num + Edit.RemovefromDiagram C Del Tools.RunTemporaryMacro G Ctrl+Shift+P Tools.RecordTemporaryMacro G Ctrl+Shift+R View.MacroExplorer G Alt+F8 Tools.MacrosIDE G Alt+F11 View.Datasets R Ctrl+Alt+D Data.ShowDataSources G Shift+Alt+D QueryDesigner.JoinMode Q Ctrl+Shift+J QueryDesigner.JoinMode V Ctrl+Shift+J QueryDesigner.CancelRetrievingData Q Ctrl+T QueryDesigner.CancelRetrievingData V Ctrl+T Resources.Strings M Ctrl+1 Resources.Images M Ctrl+2 Resources.Icons M Ctrl+3 Resources.Audio M Ctrl+4 Resources.Files M Ctrl+5 Resources.Other M Ctrl+6 View.Datasets S Ctrl+Alt+D Edit.GoToFindCombo G Ctrl+/
//Copyright (c) Microsoft Corporation. All rights reserved.
// KeyMapDlg.cpp : Implementation of CKeyMapDlg
#include "stdafx.h"
#include "KeyMapDlg.h"
#include "commctrl.h"
#define CBI_BOUNDCOMMANDS 0
#define CBI_ALLCOMMANDS 1
#define CBI_UNBOUNDCOMMANDS 2
#define CBI_STARTOFSCOPES 3
// CKeyMapDlg
void ShowDialog(IUnknown *pUnk)
{
CKeyMapDlg KeyMapDlg;
CComQIPtr<EnvDTE::_DTE> pDTE(pUnk);
KeyMapDlg.SetDTE(pDTE);
KeyMapDlg.DoModal();
}
class CWaitCursor
{
public:
CWaitCursor()
{
SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_WAIT)));
}
~CWaitCursor()
{
SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW)));
}
};
class CStatBarProgress
{
public:
CComPtr<EnvDTE::StatusBar> pStatBar;
CStatBarProgress(EnvDTE::_DTE *pDTE)
{
HRESULT hr;
IfFailGo(pDTE->get_StatusBar(&pStatBar));
pStatBar->Progress(VARIANT_TRUE, CComBSTR(L"Generating List..."), 0, 1);
pStatBar->put_Text(CComBSTR(L"Generating List..."));
Error:
hr;
}
~CStatBarProgress()
{
HRESULT hr;
IfFailGo(pStatBar->Progress(VARIANT_FALSE, CComBSTR(L"Generating List..."), 0, 1));
IfFailGo(pStatBar->Clear());
Error:
hr;
}
HRESULT SetStatBarProgress(long lDone, long lNumberItems)
{
HRESULT hr;
IfFailGo(pStatBar->Progress(VARIANT_TRUE, CComBSTR(L"Generating List..."), lDone, lNumberItems));
pStatBar->put_Text(CComBSTR(L"Generating List..."));
Error:
return hr;
}
};
HRESULT CKeyMapDlg::GenerateListOfScopes()
{
USES_CONVERSION;
HRESULT hr = S_OK;
long lCommandCount, i;
CComPtr<EnvDTE::Commands> pCommands;
CWaitCursor WaitCursor;
CStatBarProgress StatBarProgress(m_pDTE);
ListView_DeleteAllItems(GetDlgItem(IDC_KEYSLIST));
IfFailGo(m_pDTE->get_Commands(&pCommands));
IfFailGo(pCommands->get_Count(&lCommandCount));
for(i = 0 ; i < lCommandCount ; i++)
{
CComPtr<EnvDTE::Command> pCommand;
CComVariant varBindings;
CComBSTR bstrName;
StatBarProgress.SetStatBarProgress(i+1, lCommandCount+1);
IfFailGo(pCommands->Item(CComVariant(i+1), 0, &pCommand));
IfFailGo(pCommand->get_Name(&bstrName));
if(bstrName.Length() > 0)
{
IfFailGo(pCommand->get_Bindings(&varBindings));
for(ULONG j = 0 ; j < varBindings.parray->rgsabound[0].cElements ; j++)
{
bool fFound = false;
long lFirstIndex = j;
CComVariant varBinding;
WCHAR *pszString;
WCHAR *pszTemp;
IfFailGo(SafeArrayGetElement(varBindings.parray, &lFirstIndex, (LPVOID)&varBinding));
pszString = new WCHAR[SysStringLen(varBinding.bstrVal) + 1];
wcscpy(pszString, varBinding.bstrVal);
pszTemp = wcschr(pszString, ':');
*pszTemp = 0;
//loop through the known scopes, and see if it exists...
for (int k = 0 ; k < nCurrentScope ; k++)
{
if(!wcscmp(pszString, m_pszScopes[k]))
{
fFound = true;
break;
}
}
if(fFound == false)
{
m_pszScopes[nCurrentScope] = new WCHAR[wcslen(pszString) + 1];
wcscpy(m_pszScopes[nCurrentScope], pszString);
SendDlgItemMessage(IDC_FILTERCB, CB_INSERTSTRING, CBI_STARTOFSCOPES+nCurrentScope, (LPARAM)W2T(pszString));
nCurrentScope++;
}
}
}
}
Error:
return hr;
}
HRESULT CKeyMapDlg::FillWithBoundCommands()
{
USES_CONVERSION;
HRESULT hr = S_OK;
long lCommandCount, i;
LVITEM lvi;
CComPtr<EnvDTE::Commands> pCommands;
CWaitCursor WaitCursor;
CStatBarProgress StatBarProgress(m_pDTE);
lvi.mask = LVIF_TEXT;
ListView_DeleteAllItems(GetDlgItem(IDC_KEYSLIST));
IfFailGo(m_pDTE->get_Commands(&pCommands));
IfFailGo(pCommands->get_Count(&lCommandCount));
FILE* fp;
fp = fopen("C:\\temp\\keyboard.txt", "w");
for(i = 0 ; i < lCommandCount ; i++)
{
CComPtr<EnvDTE::Command> pCommand;
CComVariant varBindings;
CComBSTR bstrName;
StatBarProgress.SetStatBarProgress(i+1, lCommandCount+1);
IfFailGo(pCommands->Item(CComVariant(i+1), 0, &pCommand));
IfFailGo(pCommand->get_Name(&bstrName));
if(bstrName.Length() > 0)
{
IfFailGo(pCommand->get_Bindings(&varBindings));
for(ULONG j = 0 ; j < varBindings.parray->rgsabound[0].cElements ; j++)
{
long lFirstIndex = j;
CComVariant varBinding;
WCHAR *pszString;
WCHAR *pszTemp, *pszTemp2;
lvi.mask = LVIF_TEXT;
lvi.iItem = ListView_GetItemCount(GetDlgItem(IDC_KEYSLIST));
lvi.iSubItem = 0;
lvi.pszText = W2T(bstrName);
int nItem = ListView_InsertItem(GetDlgItem(IDC_KEYSLIST), &lvi);
fprintf(fp, "%s\t", lvi.pszText);
IfFailGo(SafeArrayGetElement(varBindings.parray, &lFirstIndex, (LPVOID)&varBinding));
pszString = new WCHAR[SysStringLen(varBinding.bstrVal) + 1];
wcscpy(pszString, varBinding.bstrVal);
pszTemp2 = pszTemp = wcschr(pszString, ':');
pszTemp2 = CharNextW(pszTemp2);
pszTemp2 = CharNextW(pszTemp2);
*pszTemp = 0;
fprintf(fp, "%s\t", pszString);
lvi.iSubItem = 1;
lvi.iItem = nItem;
lvi.pszText = W2T(pszString);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 2;
lvi.iItem = nItem;
lvi.pszText = W2T(pszTemp2);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
fprintf(fp, "%s\n", lvi.pszText);
#ifdef _DEBUG
{
CComBSTR bstrGUID;
long lID;
TCHAR szID[10];
pCommand->get_Guid(&bstrGUID);
pCommand->get_ID(&lID);
wsprintf(szID, _T("%d"), lID);
lvi.iSubItem = 3;
lvi.iItem = nItem;
lvi.pszText = W2T(bstrGUID);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 4;
lvi.iItem = nItem;
lvi.pszText = szID;
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
}
#endif
delete []pszString;
}
}
}
fclose(fp);
Error:
return hr;
}
HRESULT CKeyMapDlg::FillWithScope(WCHAR *pszScope)
{
USES_CONVERSION;
HRESULT hr = S_OK;
long lCommandCount, i;
LVITEM lvi;
CComPtr<EnvDTE::Commands> pCommands;
CWaitCursor WaitCursor;
CStatBarProgress StatBarProgress(m_pDTE);
lvi.mask = LVIF_TEXT;
ListView_DeleteAllItems(GetDlgItem(IDC_KEYSLIST));
IfFailGo(m_pDTE->get_Commands(&pCommands));
IfFailGo(pCommands->get_Count(&lCommandCount));
for(i = 0 ; i < lCommandCount ; i++)
{
CComPtr<EnvDTE::Command> pCommand;
CComVariant varBindings;
CComBSTR bstrName;
StatBarProgress.SetStatBarProgress(i+1, lCommandCount+1);
IfFailGo(pCommands->Item(CComVariant(i+1), 0, &pCommand));
IfFailGo(pCommand->get_Name(&bstrName));
if(bstrName.Length() > 0)
{
IfFailGo(pCommand->get_Bindings(&varBindings));
for(ULONG j = 0 ; j < varBindings.parray->rgsabound[0].cElements ; j++)
{
long lFirstIndex = j;
CComVariant varBinding;
WCHAR *pszString;
WCHAR *pszTemp, *pszTemp2;
IfFailGo(SafeArrayGetElement(varBindings.parray, &lFirstIndex, (LPVOID)&varBinding));
pszString = new WCHAR[SysStringLen(varBinding.bstrVal) + 1];
wcscpy(pszString, varBinding.bstrVal);
pszTemp2 = pszTemp = wcschr(pszString, ':');
pszTemp2 = CharNextW(pszTemp2);
pszTemp2 = CharNextW(pszTemp2);
*pszTemp = 0;
if(!wcscmp(pszString, pszScope))
{
lvi.mask = LVIF_TEXT;
lvi.iItem = ListView_GetItemCount(GetDlgItem(IDC_KEYSLIST));
lvi.iSubItem = 0;
lvi.pszText = W2T(bstrName);
int nItem = ListView_InsertItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 1;
lvi.iItem = nItem;
lvi.pszText = W2T(pszString);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 2;
lvi.iItem = nItem;
lvi.pszText = W2T(pszTemp2);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
#ifdef _DEBUG
{
CComBSTR bstrGUID;
long lID;
TCHAR szID[10];
pCommand->get_Guid(&bstrGUID);
pCommand->get_ID(&lID);
wsprintf(szID, _T("%d"), lID);
lvi.iSubItem = 3;
lvi.iItem = nItem;
lvi.pszText = W2T(bstrGUID);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 4;
lvi.iItem = nItem;
lvi.pszText = szID;
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
}
#endif
}
delete []pszString;
}
}
}
Error:
return hr;
}
HRESULT CKeyMapDlg::FillWithUnboundCommands()
{
USES_CONVERSION;
HRESULT hr = S_OK;
long lCommandCount, i;
LVITEM lvi;
CComPtr<EnvDTE::Commands> pCommands;
lvi.mask = LVIF_TEXT;
CWaitCursor WaitCursor;
CStatBarProgress StatBarProgress(m_pDTE);
ListView_DeleteAllItems(GetDlgItem(IDC_KEYSLIST));
IfFailGo(m_pDTE->get_Commands(&pCommands));
IfFailGo(pCommands->get_Count(&lCommandCount));
for(i = 0 ; i < lCommandCount ; i++)
{
CComPtr<EnvDTE::Command> pCommand;
CComVariant varBindings;
CComBSTR bstrName;
StatBarProgress.SetStatBarProgress(i+1, lCommandCount+1);
IfFailGo(pCommands->Item(CComVariant(i+1), 0, &pCommand));
IfFailGo(pCommand->get_Name(&bstrName));
if(bstrName.Length() > 0)
{
IfFailGo(pCommand->get_Bindings(&varBindings));
if(varBindings.parray->rgsabound[0].cElements == 0)
{
lvi.mask = LVIF_TEXT;
lvi.iItem = ListView_GetItemCount(GetDlgItem(IDC_KEYSLIST));
lvi.iSubItem = 0;
lvi.pszText = W2T(bstrName);
int nItem = ListView_InsertItem(GetDlgItem(IDC_KEYSLIST), &lvi);
}
}
}
Error:
return hr;
}
HRESULT CKeyMapDlg::FillWithAllCommands()
{
USES_CONVERSION;
HRESULT hr = S_OK;
long lCommandCount, i;
LVITEM lvi;
CComPtr<EnvDTE::Commands> pCommands;
lvi.mask = LVIF_TEXT;
CWaitCursor WaitCursor;
CStatBarProgress StatBarProgress(m_pDTE);
ListView_DeleteAllItems(GetDlgItem(IDC_KEYSLIST));
IfFailGo(m_pDTE->get_Commands(&pCommands));
IfFailGo(pCommands->get_Count(&lCommandCount));
for(i = 0 ; i < lCommandCount ; i++)
{
CComPtr<EnvDTE::Command> pCommand;
CComVariant varBindings;
CComBSTR bstrName;
StatBarProgress.SetStatBarProgress(i+1, lCommandCount+1);
IfFailGo(pCommands->Item(CComVariant(i+1), 0, &pCommand));
IfFailGo(pCommand->get_Name(&bstrName));
if(bstrName.Length() > 0)
{
IfFailGo(pCommand->get_Bindings(&varBindings));
if(varBindings.parray->rgsabound[0].cElements > 0)
{
for(ULONG j = 0 ; j < varBindings.parray->rgsabound[0].cElements ; j++)
{
long lFirstIndex = j;
CComVariant varBinding;
WCHAR *pszString;
WCHAR *pszTemp, *pszTemp2;
lvi.mask = LVIF_TEXT;
lvi.iItem = ListView_GetItemCount(GetDlgItem(IDC_KEYSLIST));
lvi.iSubItem = 0;
lvi.pszText = W2T(bstrName);
int nItem = ListView_InsertItem(GetDlgItem(IDC_KEYSLIST), &lvi);
IfFailGo(SafeArrayGetElement(varBindings.parray, &lFirstIndex, (LPVOID)&varBinding));
pszString = new WCHAR[SysStringLen(varBinding.bstrVal) + 1];
wcscpy(pszString, varBinding.bstrVal);
pszTemp2 = pszTemp = wcschr(pszString, ':');
pszTemp2 = CharNextW(pszTemp2);
pszTemp2 = CharNextW(pszTemp2);
*pszTemp = 0;
lvi.iSubItem = 1;
lvi.iItem = nItem;
lvi.pszText = W2T(pszString);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 2;
lvi.iItem = nItem;
lvi.pszText = W2T(pszTemp2);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
#ifdef _DEBUG
{
CComBSTR bstrGUID;
long lID;
TCHAR szID[10];
pCommand->get_Guid(&bstrGUID);
pCommand->get_ID(&lID);
wsprintf(szID, _T("%d"), lID);
lvi.iSubItem = 3;
lvi.iItem = nItem;
lvi.pszText = W2T(bstrGUID);
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
lvi.iSubItem = 4;
lvi.iItem = nItem;
lvi.pszText = szID;
ListView_SetItem(GetDlgItem(IDC_KEYSLIST), &lvi);
}
#endif
delete []pszString;
}
}
else //No bindings for this item, just insert the command name...
{
lvi.mask = LVIF_TEXT;
lvi.iItem = ListView_GetItemCount(GetDlgItem(IDC_KEYSLIST));
lvi.iSubItem = 0;
lvi.pszText = W2T(bstrName);
int nItem = ListView_InsertItem(GetDlgItem(IDC_KEYSLIST), &lvi);
}
}
}
Error:
return hr;
}
LRESULT CKeyMapDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
CAxDialogImpl<CKeyMapDlg>::OnInitDialog(uMsg, wParam, lParam, bHandled);
long lCountColumns = 0;
LVCOLUMN lvc;
DWORD dwStyleEx = (DWORD)SendMessage(GetDlgItem(IDC_KEYSLIST), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
dwStyleEx |= LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT;
SendMessage(GetDlgItem(IDC_KEYSLIST), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dwStyleEx);
SendDlgItemMessage(IDC_FILTERCB, CB_INSERTSTRING, CBI_BOUNDCOMMANDS, (LPARAM)_T("Bound Commands"));
SendDlgItemMessage(IDC_FILTERCB, CB_INSERTSTRING, CBI_ALLCOMMANDS, (LPARAM)_T("All Commands"));
SendDlgItemMessage(IDC_FILTERCB, CB_INSERTSTRING, CBI_UNBOUNDCOMMANDS, (LPARAM)_T("Unbound Commands"));
GenerateListOfScopes();
SendDlgItemMessage(IDC_FILTERCB, CB_SETCURSEL, 0, 0);
SetIcon(LoadIcon(_AtlModule.GetResourceInstance(), MAKEINTRESOURCE(IDI_ICON1)));
lvc.mask = LVCF_TEXT|LVCF_WIDTH;
lvc.pszText = _T("Command Name");
lvc.cx = 150;
ListView_InsertColumn(GetDlgItem(IDC_KEYSLIST), 0, &lvc);
lvc.mask = LVCF_TEXT|LVCF_WIDTH;
lvc.pszText = _T("Scope");
lvc.cx = 150;
ListView_InsertColumn(GetDlgItem(IDC_KEYSLIST), 1, &lvc);
lvc.mask = LVCF_TEXT|LVCF_WIDTH;
lvc.pszText = _T("Key Binding");
lvc.cx = 150;
ListView_InsertColumn(GetDlgItem(IDC_KEYSLIST), 2, &lvc);
#ifdef _DEBUG
lvc.mask = LVCF_TEXT|LVCF_WIDTH;
lvc.pszText = _T("GUID");
lvc.cx = 150;
ListView_InsertColumn(GetDlgItem(IDC_KEYSLIST), 3, &lvc);
lvc.mask = LVCF_TEXT|LVCF_WIDTH;
lvc.pszText = _T("ID");
lvc.cx = 150;
ListView_InsertColumn(GetDlgItem(IDC_KEYSLIST), 4, &lvc);
#endif
FillWithBoundCommands();
bHandled = TRUE;
return 1; // Let the system set the focus
}
LRESULT CKeyMapDlg::OnBnClickedCopy(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
// TODO: Add your control notification handler code here
return 0;
}
(Click here for more information on the aus-dotnet mailling list)
- Prev by Date: [aus-dotnet] Keeping ToolStripDropDownButton open after selecting an item - VS2005
- Next by Date: Re: [aus-dotnet] Keeping ToolStripDropDownButton open after selecting an item - VS2005
- Previous by thread: Re: [aus-dotnet] Printing out modified VS2005 Keyboard Reference chart, where for art thou utility?
- Next by thread: RE: [aus-dotnet] Printing out modified VS2005 Keyboard Reference chart, where for art thou utility?
- Index(es):
