annotate src/VisVim/README_VisVim.txt @ 18169:6ad8949a205d

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