annotate src/VisVim/README_VisVim.txt @ 2677:fea3207b800d v7.3.096

updated for version 7.3.096 Problem: "gvim -nb" is not interruptable. Leaking file descriptor on netbeans connection error. Solution: Check for CTRL-C typed. Free file descriptor. (Xavier de Gaye)
author Bram Moolenaar <bram@vim.org>
date Tue, 04 Jan 2011 18:11:43 +0100
parents f62b7845db87
children 2cfb68fa26cd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 ===============================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 Visual Studio - Vim Integration
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 ===============================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 Copyright (C) 1997 Heiko Erhardt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 VisVim is a Visual Studio Add-In that allows Vim to be integrated
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 as the default text editor. It will be used instead of the Visual
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 Studio built-in editor when you double-click on a file or press F4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 after compiling (it will go to the proper line in the Vim buffer).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 The file can be loaded exclusively by Vim or additionally to the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 builtin Visual Studio editor (this option can be set in the VisVim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 configuration dialog inside Visual Studio).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 Vim does not replace the Visual Studio editor, it still runs in its
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 own window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 VisVim is based upon VisEmacs by Christopher Payne
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 (Copyright (C) Christopher Payne 1997).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 Author: Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 Based upon: VisEmacs by Christopher Payne <payneca@sagian.com>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 Version: 1.0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 Created: 23 Oct 1997
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 Date: 23 Oct 1997
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 VisVim is free software; you can redistribute it and/or modify
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 it under the terms of the GNU General Public License as published by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 the Free Software Foundation; either version 2, or (at your option)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 any later version.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 VisVim is distributed in the hope that it will be useful,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 but WITHOUT ANY WARRANTY; without even the implied warranty of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 GNU General Public License for more details.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 Requirements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 ------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 VisVim works with the *OLE-enabled* version of Vim version 5.0 and higher
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 only!!! You must download the extra archive containing the OLE-enabled
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 executable from your Vim download site. When building your own Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 executable, use the if_ole_vc.mak makefile (Vim 5.1 and higher).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 VisVim needs DevStudio 5.0 or higher. It does not work with DevStudio 4.2.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 Installation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 ------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 1) Close running instances of DevStudio.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 2) Copy VisVim.dll into a convenient directory like \vim,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 \vim\lib, or \vim\addin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 3) Register the DLL using regsvr32.exe ... (Skip this on Windows 95/98)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 Example:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 > cd \vim\addin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 > regsvr32 VisVim.dll
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 On NT, you should do this from an administrator account.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 Before installing a new version of VisVim you should unregister
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 the old one using
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 > regsvr32 -unregister VisVim.dll
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 The batch files register.bat and unregister.bat can do that for you.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 3a) If you didn't do this yet: Register the OLE gvim:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 > gvim -register
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 4) Start Visual Studio and go to:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 Tools
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 Customize...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 Add-Ins and Macro Files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 5) Click on Browse, and point Visual Studio to your VisVim.dll file.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 6) Click the checkbox to indicate that you want to use the Add-In, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 Close the Customize dialog box.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 7) You should notice the VisVim Toolbar with the Vim Icon.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 Click the first item of the toolbar to get to the options dialog.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 Compiling VisVim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 ----------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 Two Options:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 1) Load the VisVim.mak file as a Workspace in Visual Studio and compile
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 2) Use the MSVC command line compiler:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 vcvars32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 nmake -f VisVim.mak
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 Using VisVim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 ------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 The VisVim DLL exposes several functions to the user. These functions are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 accessible using the toolbar or by assigning hotkeys to them (see below).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 The following functions are visible on the toolbar (from left to right):
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 1. VisVim settings dialog
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 The settings you adjust here will be saved in the registry and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 will be reloaded on program startup.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 2. Enable Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 Enables Vim as Visual Studio editor. Control will be switched to Vim when:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 - Clicking a file in the file view
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 - Clicking a compiler error message line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 - Using the 'File-Open' Dialog
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 - Showing the current source line when encountering a debugger breakpoint.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 - Using File-New
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 3. Disable Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 The internal Visual Studio editor will be used to edit files.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 4. Toggle enable state
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 Toggles the enable state of VisVim. Use this function if you want to have
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 one button only to activate/deactivate Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 5. Load current file in Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 Loads the file shown in the internal editor into Vim. Use this function if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 you want the internal editor to stay active and just edit one file in Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 This command works always whether Vim is enabled as default editor or not.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 You cannot use DevStudio's debugger commands from inside Vim, so you should
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 disable Vim before running the debugger.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 You can customize the Vim toolbar itself or add the Vim buttons to other
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 toolbars.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 To have fast access to the VisVim options dialog I suggest to create keyboard
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 shortcuts:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 1) Choose
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 Tools
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 Customize...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 Keyboard
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 2) Choose Category:AddIns and Commands:VisVim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 3) Choose 'Main' as editor, enter each hotkey and press the Assign button.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 I suggest:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 VisVimDialogCmd Alt+Shift+V
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 VisVimEnableCmd Alt+Shift+E
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 VisVimDisableCmd Alt+Shift+D
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 VisVimToggleCmd Alt+Shift+T
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 VisVimLoadCmd Alt+Shift+G
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 4) Close the dialog
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 Now a typical debugging example:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 Using "Alt+Shift+d" you turn off Vim before starting the debugger.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 After hitting the breakpoint you single step through your application
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 using the internal source code editor and examine variables.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 When you stumble across the line with the null pointer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 assignment, just press "Alt+Shift+g", and correct the error in Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 Save the file, press Alt+Tab to return to DevStudio and press F7 to compile.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 That's it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 Troubleshooting
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 ---------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 1. When opening a file in DevStudio the file is opened in the DevStudio
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 editor and immediately vanishes. No Vim shows up.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 Cause: Probably you don't have the OLE-enabled Vim or you didn't
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 register it.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 Explanation: VisVim is notified by DevStudio if an 'open document' event
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 occurs. It then closes the document in the internal editor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 and tries to start Vim. If Vim isn't properly OLE-registered,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 this won't work.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 Workaround: Download and install the OLE-enable version of Vim and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 execute "gvim -register".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 2. Sometimes when clicking on a file, the file won't be opened by Vim but
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 instead the Visual Studio editor comes up.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 Cause: The file was already loaded by the DevStudio editor.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 Explanation: VisVim works by hooks exposed by Visual Studio.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 Most of the functionality works from the OpenDocument hook.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 If a document is already loaded in the Visual Studio editor,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 no 'open document' event will be generated when clicking the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 file in the file list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 Workaround: Close the document in Visual Studio first.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 3. I can't get VisVim to work. Either the Vim toolbar does not appear at all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 or weird crashes happen.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 Cause: The Visual Studio installation is messed up.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 Explanation: I can't give you one. Ask M$.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 Workaround: Reinstall DevStudio (I know this is brute, but in some cases
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 it helped). There was one case where the service pack 1 had
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 to be installed, too.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 4. If an instance of Vim is already running, VisVim will use that instance
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 and not start a new one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 Cause: This is proper OLE behaviour
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 Explanation: Some call it a bug, some a feature. That's just the way OLE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 works.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 5. When being in insert mode in Vim and selecting a file in Visual Studio,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 the Vim command :e ... is inserted as text instead of being executed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 Cause: You probably know...
1203
f62b7845db87 updated for version 7.1b
vimboss
parents: 7
diff changeset
199 Explanation: The Vim OLE automation interface interprets the VisVim
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 commands as if they were typed in by the user.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 So if you're in insert mode Vim considers it to be text.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 I decided against sending an ESC before the command because
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 it may cause a beep or at least a screen flash when noeb is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 set.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 Workaround: Get used to press ESC before switching to DevStudio.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 6. I'm tired of VisVim but I can't get rid of it. I can't delete it in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 Tools-Customize-Add-Ins.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 Cause: You can't delete an item you once added to the add-ins
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 list box.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 Explanation: M$ just didn't put a 'delete' button in the dialog box.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 Unfortunately there is no DEL key accellerator as well...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 Workaround: You can't kill it, but you can knock it out:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 1. Uncheck the check box in front of 'Vim Developer Studio
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 Add-in'.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 2. Close Visual Studio.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 3. Delete VisVim.dll or move it somewhere it can't be found.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 4. Run Visual Studio.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 5. Tools -> Cursomize ->Add-ins and Macro-Files.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 6. A message appears:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 ".../VisVim.dll" "This add-in no longer exists. It will
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 no longer be displayed."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 That's it!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 Change history
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 --------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 1.0a to 1.0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 -----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 - All settings in the VisVim dialog are remembered between DevStudio sessions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 by keeping them in the registry (HKEY_CURRENT_USER\Software\Vim\VisVim).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 - Added an option to do a :cd before opening the file (having a file opened
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 by clicking it but finding out to be still in C:\Windows\system when trying to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 open another file by ":e" can be annoying). Change directory can be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 done to the source file's directory or it's parent directory.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 - Added some explanations to the error message for the CO_E_CLASSSTRING error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 ("Use OLE Vim and make sure to register...").
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 1.0 to 1.1a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 -----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 - The VisVim toolbar button now shows the new Vim icon instead of the old one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 - Made some changes to the documentation, added the troubleshooting chapter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 and ToDo list.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 - File-New-* now invokes Vim instead of the builtin editor if enabled.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 1.1 to 1.1b
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 -----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 - Extended the VisVim toolbar to have multiple buttons instead of one.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 - Moved the enable/disable commands from the settings dialog to the toolbar.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 - Added the toggle enable/disable command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 - Added the 'load current file' command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 1.1b to 1.2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 -----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 No new features, just some fine tuning:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 - Changed the GUID of the VisVim OLE interface to avoid conflicts with a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 version of VisEmacs or VisVile on the same computer (Guy Gascoigne)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264 - Fixed a bug caused by a bug in the Developer Studio add-in code generator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 (Clark Morgan)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 - Fixed a memory leak (Clark Morgan)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 - Added an option in the VisVim dialog to prepend ESC before the first command
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268 that is sent to Vim. This will avoid inserting the command as text when Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 is still in insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 - An :update command is sent to Vim before any other command to update the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 current file if it is modified, or else the following :cd or :e command will fail.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 1.2 to 1.3a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 -----------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 - Fixed a bug caused by a missing EnableModeless() function call in VimLoad().
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 This seems to reduce VisVim crashing DevStudio on some systems (it
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 occasionally still seems to happen, but it's more stable now).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 (Vince Negri)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 - Added support for the new CTRL-\ CTRL-N command of Vim 5.4a.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281 This prevents Vim from beeping when a VisVim command is executed an Vim is
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 not in insert mode.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 ToDo List
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 ---------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 P1 is highest priority, P10 lowest
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 P9 Switching to DevStudio using ALT-TAB may get annoying. Would be nice to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 have the option to map ActivateApplication("Visual Studio") in Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 Vim DLLs would solve that problem.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294 P8 Execute :tag command in Vim for word under cursor in DevStudio
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 P7 Controlling the Visual Studio Debugger from inside Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 See message above. Also a 'Debug' highligh group and a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 command to highlight a certain line would be necessary.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 P6 Provide an option to open the current file in VisVim in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 Visual Studio editor
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 Same as above message. A kind of two way OLE automation would have to be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 established between VisVim and Vim. Also a 'Debug' highlight group and a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 command to highlight a certain line would be necessary.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 Known Problems
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 --------------
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310 - Occasional memory corruptions in DevStudio may appear on some systems.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
311 Reinstalling DevStudio helped in some cases.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 The cause of these crashes is unclear; there is no way to debug this.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313 Recompiling VisVim with DevStudio SP3 didn't help.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 I assume it's a problem deep inside the DevStudio add-in OLE interfaces.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 This will hopefully be fixed with DevStudio 6.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 Have fun!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 Heiko Erhardt
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 Heiko.Erhardt@munich.netsurf.de
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322