README.txt
上传用户:gddssl
上传日期:2007-01-06
资源大小:1003k
文件大小:10k
源码类别:

编辑器/阅读器

开发平台:

DOS

  1. ===============================
  2. Visual Studio - VIM Integration
  3. ===============================
  4. Copyright (C) 1997 Heiko Erhardt
  5. VisVim is a Visual Studio Add-In that allows VIM to be integrated
  6. as the default text editor. It will be used instead of the Visual
  7. Studio built-in editor when you double-click on a file or press F4
  8. after compiling (it will go to the proper line in the VIM buffer).
  9. The file can be loaded exclusively by VIM or additionally to the
  10. builtin Visual Studio editor (this option can be set in the VisVim
  11. configuration dialog inside Visual Studio).
  12. Vim does not replace the Visual Studio editor, it still runs in its
  13. own window.
  14. VisVim is based upon VisEmacs by Christopher Payne
  15. (Copyright (C) Christopher Payne 1997).
  16. Author: Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
  17. Based upon: VisEmacs by Christopher Payne <payneca@sagian.com>
  18. Version: 1.0
  19. Created: 23 Oct 1997
  20. Date: 23 Oct 1997
  21. VisVim is free software; you can redistribute it and/or modify
  22. it under the terms of the GNU General Public License as published by
  23. the Free Software Foundation; either version 2, or (at your option)
  24. any later version.
  25. VisVim is distributed in the hope that it will be useful,
  26. but WITHOUT ANY WARRANTY; without even the implied warranty of
  27. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  28. GNU General Public License for more details.
  29. Requirements
  30. ------------
  31. VisVim works with the *OLE-enabled* version of Vim version 5.0 and higher only!!!
  32. You must download the extra archive containing the OLE-enabled executable from
  33. your Vim download site.
  34. When building your own Vim executable, use the if_ole_vc.mak makefile (Vim 5.1
  35. and higher).
  36. VisVim needs DevStudio 5.0 or higher. It does not work with DevStudio 4.2.
  37. Installation
  38. ------------
  39. 1) Copy VisVim.dll into a convenient directory like vim,
  40.    vimlib, or vimaddin
  41. 2) Register the DLL using regsvr32.exe ... for example:
  42.    > cd vimaddin
  43.    > regsvr32 VisVim.dll
  44.    On NT, you should do this from an administrator account.
  45.    Before installing a new version of VisVim you should unregister
  46.    the old one using
  47.    > regsvr32 -unregister VisVim.dll
  48.    The batch files register.bat and unregister.bat can do that for you.
  49. 3) Start Visual Studio and go to:
  50.       Tools
  51.          Customize...
  52.             Add-Ins and Macro Files
  53. 4) Click on Browse, and point Visual Studio to your VisVim.dll file.
  54. 5) Click the checkbox to indicate that you want to use the Add-In, and
  55.    Close the Customize dialog box.
  56. 7) You should notice the VisVim Toolbar with the Vim Icon.
  57.    Click the first item of the toolbar to get to the options dialog.
  58. Compiling VisVim
  59. ----------------
  60. Two Options:
  61. 1) Use the pre-compiled version of the DLL in the Release directory.
  62. 2) Open the VisVim Workspace in Visual Studio and compile
  63. Using VisVim
  64. ------------
  65. The VisVim DLL exposes several functions to the user. These functions are
  66. accessible using the toolbar or by assigning hotkeys to them (see below).
  67. The following functions are visible on the toolbar (from left to right):
  68. 1. VisVim settings dialog
  69.    The settings you adjust here will be saved in the registry and
  70.    will be reloaded on program startup.
  71. 2. Enable Vim
  72.    Enables Vim as Visual Studio editor. Control will be switched to Vim when:
  73.    - Clicking a file in the file view
  74.    - Clicking a compiler error message line
  75.    - Using the 'File-Open' Dialog
  76.    - Showing the current source line when encountering a debugger breakpoint.
  77.    - Using File-New
  78. 3. Disable Vim
  79.    The internal Visual Studio editor will be used to edit files.
  80. 4. Toggle enable state
  81.    Toggles the enable state of VisVim. Use this function if you want to have
  82.    one button only to activate/deactivate Vim.
  83. 5. Load current file in Vim
  84.    Loads the file shown in the internal editor into Vim. Use this function if
  85.    you want the internal editor to stay active and just edit one file in Vim.
  86.    This command works always whether Vim is enabled as default editor or not.
  87. You cannot use DevStudio's debugger commands from inside Vim, so you should
  88. disable Vim before running the debugger.
  89. You can customize the Vim toolbar itself or add the Vim buttons to other
  90. toolbars.
  91. To have fast access to the VisVim options dialog I suggest to create keyboard
  92. shortcuts:
  93. 1) Choose
  94.       Tools
  95.          Customize...
  96.             Keyboard
  97. 2) Choose Category:AddIns and Commands:VisVim.
  98. 3) Choose 'Main' as editor, enter each hotkey and press the Assign button.
  99.    I suggest:
  100.        VisVimDialogCmd    Alt+Shift+V
  101.        VisVimEnableCmd    Alt+Shift+E
  102.        VisVimDisableCmd   Alt+Shift+D
  103.        VisVimToggleCmd    Alt+Shift+T
  104.        VisVimLoadCmd      Alt+Shift+G
  105. 4) Close the dialog
  106. Now a typical debugging example:
  107. Using "Alt+Shift+d" you turn off Vim before starting the debugger.
  108. After hitting the breakpoint you single step through your application
  109. using the internal source code editor and examine variables.
  110. When you stumble across the line with the null pointer
  111. assignment, just press "Alt+Shift+g", and correct the error in Vim.
  112. Save the file, press Alt+Tab to return to DevStudio and press F7 to compile.
  113. That's it.
  114. Troubleshooting
  115. ---------------
  116. 1. When opening a file in DevStudio the file is opened in the DevStudio
  117.    editor and immediately vanishes. No Vim shows up.
  118.    Cause:       Probably you don't have the OLE-enabled Vim or you didn't
  119.                 register it.
  120.    Explanation: VisVim is notified by DevStudio if an 'open document' event
  121.                 occurs. It then closes the document in the internal editor
  122. and tries to start Vim. If Vim isn't properly OLE-registered,
  123. this won't work.
  124.    Workaround:  Download and install the OLE-enable version of Vim and
  125.                 execute "gvim -register".
  126.    
  127. 2. Sometimes when clicking on a file, the file won't be opened by Vim but
  128.    instead the Visual Studio editor comes up.
  129.    Cause:       The file was already loaded by the DevStudio editor.
  130.    Explanation: VisVim works by hooks exposed by Visual Studio.
  131.                 Most of the functionality works from the OpenDocument hook.
  132.                 If a document is already loaded in the Visual Studio editor,
  133. no 'open document' event will be generated when clicking the
  134. file in the file list.
  135.    Workaround:  Close the document in Visual Studio first.
  136. 3. I can't get VisVim to work. Either the Vim toolbar does not appear at all
  137.    or weird crashes happen.
  138.    Cause:       The Visual Studio installation is messed up.
  139.    Explanation: I can't give you one. Ask M$.
  140.    Workaround:  Reinstall DevStudio (I know this is brute, but in some cases
  141.                 it helped). There was one case where the service pack 1 had
  142. to be installed, too.
  143. 4. If an instance of Vim is already running, VisVim will use that instance
  144.    and not start a new one.
  145.    Cause:        This is proper OLE behaviour
  146.    Explanation:  Some call it a bug, some a feature. That's just the way OLE
  147.                  works.
  148. 5. When being in insert mode in Vim and selecting a file in Visual Studio,
  149.    the Vim command :e ... is inserted as text instead of being executed.
  150.    Cause:        You probably know...
  151.    Explanation:  The Vim OLE automation interface interpretes the VisVim
  152.                  commands as if they were typed in by the user.
  153.  So if you're in insert mode Vim considers it to be text.
  154.                  I decided against sending an ESC before the command because
  155.  it may cause a beep or at least a screen flash when noeb is
  156.  set.
  157.    Workaround:   Get used to press ESC before switching to DevStudio.
  158. 6. I'm tired of VisVim but I can't get rid of it. I can't delete it in 
  159.    Tools-Customize-Add-Ins.
  160.    Cause:        You can't delete an item you once added to the add-ins
  161.                  list box.
  162.    Explanation:  M$ just didn't put a 'delete' button in the dialog box.
  163.                  Unfortunately there is no DEL key accellerator as well...
  164.    Workaround:   You can't kill it, but you can knock it out.
  165.                  Uncheck the check box in from of 'Vim Developer Studio Add-in'.
  166. Change history
  167. --------------
  168. 1.0a to 1.0
  169. -----------
  170. - All settings in the VisVim dialog are remembered between DevStudio sessions
  171.   by keeping them in the registry (HKEY_CURRENT_USERSoftwareVimVisVim).
  172. - Added an option to do a :cd before opening the file (having a file opened
  173.   by clicking it but finding out to be still in C:Windowssystem when trying to
  174.   open another file by ":e" can be annoying). Change directory can be
  175.   done to the source file's directory or it's parent directory.
  176. - Added some explanations to the error message for the CO_E_CLASSSTRING error
  177.   ("Use OLE Vim and make sure to register...").
  178.   
  179. 1.0 to 1.1a
  180. -----------
  181. - The VisVim toolbar button now shows the new Vim icon instead of the old one.
  182. - Made some changes to the documentation, added the troubleshooting chapter
  183.   and ToDo list.
  184. - File-New-* now invokes Vim instead of the builtin editor if enabled.
  185. 1.1 to 1.1b
  186. -----------
  187. - Extended the VisVim toolbar to have multiple buttons instead of one.
  188. - Moved the enable/disable function from the settings dialog to the toolbar.
  189. - Added the toggle enable/disable command
  190. - Added the 'load current file' command.
  191. ToDo List
  192. ---------
  193. P1 is highest priority, P10 lowest
  194. P9  Switching to DevStudio using ALT-TAB may get annoying. Would be nice to
  195.     have the option to map ActivateApplication("Visual Studio") in Vim.
  196.     Vim DLLs would solve that problem.
  197. P6  Provide an option to open the current file in VisVim in
  198.     Visual Studio editor
  199.     Same as above message. A kind of two way OLE automation would have to be
  200.     established between VisVim and Vim. Also a 'Debug' highligh group and a
  201.     command to highlight a certain line would be necessary.
  202. P7  Controlling the Visual Studio Debugger from inside Vim
  203.     See message above. Also a 'Debug' highligh group and a
  204.     command to highlight a certain line would be necessary.
  205. Have fun!
  206. Heiko Erhardt
  207. Heiko.Erhardt@munich.netsurf.de