OSDN Git Service

Merge remote-tracking branch 'upstream/master'
[winmerge-jp/winmerge-jp.git] / Docs / Manual / EN / Plugins.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <article id="Plugins">
3   <title>Plugins<indexterm>
4       <primary>plugins</primary>
5     </indexterm></title>
6
7   <para>WinMerge plugins are custom dlls or scriptlets, written in the COM API,
8   that preprocess data before a comparison. For example, you can use a plugin to
9   extract text data from MS Word files for WinMerge to compare.</para>
10   
11   <para>Each plugin is:<indexterm>
12       <primary>installing plugins</primary>
13     </indexterm></para>
14
15   <itemizedlist>
16     <listitem>
17       <para>A single dll or a scriptlet (<filename
18       class="extension">sct</filename>) file</para>
19     </listitem>
20
21     <listitem>
22       <para>Installed in the <filename class="directory">MergePlugins</filename>
23       subfolder. A number of plugins can be installed for you by WinMerge.</para>
24     </listitem>
25
26     <listitem>
27       <para>Easy to install: To install a plugin that is not included in the
28       WinMerge installation, just copy the plugin file to <filename
29       class="directory">MergePlugins</filename>. The plugin is available the
30       next time you open WinMerge. You can find more plugins on the web, written
31           by other developers.</para>
32     </listitem>
33   </itemizedlist>
34
35   <section>
36     <title>Plugin Types</title>
37
38     <para>Plugins are grouped into three main categories:</para>
39
40     <variablelist>
41       <varlistentry>
42         <term>Editor complement<indexterm>
43             <primary>editor complement plugins</primary>
44           </indexterm></term>
45
46         <listitem>
47           <para>This type of plugin performs custom operations on selected text
48           in the active editor (File pane) of the File Compare window.</para>
49         </listitem>
50       </varlistentry>
51
52       <varlistentry>
53         <term>Unpacker: transform a file to a text format<indexterm>
54             <primary>unpacker plugins</primary>
55           </indexterm></term>
56
57         <listitem>
58           <para>This type of plugin transforms a compressed file to a viewable
59           format by decompressing it. The original file is not changed: a
60           temporary transformed file is created and loaded in WinMerge.</para>
61
62           <para>Unpacker plugins operate on entire files, not to selected text
63           or diffs within files. Therefore, they are available only when you
64           launch file comparisons, from either the Folder Compare window or the
65           Select Files or Folders dialog. Unpacker plugins are not available in
66           the File Compare window.</para>
67
68           <para>Sometimes the unpacked file can be repacked (see the details in
69           <xref linkend="Plugins_available" /> to check whether a plugin
70           supports repacking). Then, you can merge and save the transformed
71           file. The packing is done automatically in this case. To be safe, we
72           suggest that you rename the transformed file when you save it.</para>
73
74           <note>
75             <para>When you compare folders, WinMerge can give different results
76             for compressed and uncompressed files. For example, files that are
77             identical when uncompressed might be different if they include the
78             creation date. WinMerge applies the unpacker in all situations, and
79             you are sure to have the same result when you compare a folder, or
80             when you merge two versions of a file.</para>
81           </note>
82
83           <para>Example plugin: <xref linkend="CompareMSExcelFiles" />
84           Displays the text contents of a 
85           <trademark class="registered">Microsoft</trademark>
86           <application>Excel</application> file.</para>
87         </listitem>
88       </varlistentry>
89
90       <varlistentry>
91         <term>Prediffer: preprocess files to hide some differences<indexterm>
92             <primary>prediffer plugins</primary>
93           </indexterm></term>
94
95         <listitem>
96           <para>This type of plugin does not operate on the source files
97           displayed in the Compare window. It operates instead on temporary
98           copies of the files, and the copies are then scanned to create the
99           difference list.</para>
100
101           <para>Example plugin: <xref linkend="IgnoreColumns" /> ignores the
102           differences inside specified columns, while displaying the characters
103           in these columns.</para>
104         </listitem>
105       </varlistentry>
106     </variablelist>
107   </section>
108
109   <section>
110     <title>Suggested plugins and automatic modes</title>
111
112     <para>How is WinMerge able to apply the right plugin for a given file? Each
113     plugin specifies a list of file extensions (also listed in each plugin's
114     <xref linkend="Plugins_available" /> section, under <citetitle>File
115     filter</citetitle>). The extensions are used to associate one or more file
116     types with the plugin: when a compared file's extension matches an extension
117     in the plugin's list, the plugin is considered to be a <firstterm>suggested
118     plugin. </firstterm></para>
119
120     <para>There are separate WinMerge options for the unpacking and prediffer
121     types, described later in this topic, that enable you to apply the plugins
122     either manually or automatically. There is no automatic mode for editor
123     complement plugins.</para>
124
125     <para>When you apply plugins to a selected file using automatic mode,
126     WinMerge searches its list of suggested plugins for that file type, and
127     applies the first plugin whose name matches. The search is performed in
128     alphabetical order, so if there are multiple suggested plugins for a file
129     type, only the first one found is applied.</para>
130   </section>
131
132   <section>
133     <title>Applying plugins</title>
134
135     <para>The following subsections describe how to apply each type of plugin.
136     The methods are different for each type of plugin, and also vary depending
137     on whether you are comparing folders or files.</para>
138
139     <section>
140       <title>Applying editor complement plugins in the File Compare
141       window</title>
142
143       <para>With your cursor in either File pane of the File Compare window,
144       click <menuchoice>
145           <guimenu>Plugins</guimenu>
146
147           <guisubmenu>Scripts</guisubmenu>
148         </menuchoice> and choose one of these functions:</para>
149
150       <itemizedlist>
151         <listitem>
152           <para><function>MakeUpper</function></para>
153         </listitem>
154
155         <listitem>
156           <para><function>MakeLower</function></para>
157         </listitem>
158
159         <listitem>
160           <para><function>SortAscending</function></para>
161         </listitem>
162
163         <listitem>
164           <para><function>SortDescending</function></para>
165         </listitem>
166
167         <listitem>
168           <para><function>ExecFilterCommand</function></para>
169         </listitem>
170
171         <listitem>
172           <para><function>InsertDate</function></para>
173         </listitem>
174
175         <listitem>
176           <para><function>InsertTime</function></para>
177         </listitem>
178       </itemizedlist>
179
180       <para>The functions are contributed to the
181       <guisubmenu>Scripts</guisubmenu> menu by the <xref
182       linkend="EditorAddin" /> and <xref linkend="Plugins_datetime" />
183       plugins.</para>
184
185       <note>
186         <para>Editor complement plugins are not available in the Folder Compare
187         window.</para>
188       </note>
189     </section>
190
191     <section>
192       <title>Applying unpacker plugins in the Folder Compare window</title>
193
194       <para>Before applying unpacker plugins, you can set its mode to either
195       automatic or manual mode.</para>
196
197       <itemizedlist>
198         <listitem>
199           <para>To set automatic mode for this type of plugin, click <menuchoice>
200               <guimenu>Plugins</guimenu>
201
202               <guimenuitem>Automatic Unpacking</guimenuitem>
203             </menuchoice>.</para>
204         </listitem>
205
206         <listitem>
207           <para>To set manual mode, click <menuchoice>
208               <guimenu>Plugins</guimenu>
209
210               <guimenuitem>Manual Unpacking</guimenuitem>
211             </menuchoice>.</para>
212         </listitem>
213       </itemizedlist>
214
215       <para>Remember to click <keycap>F5</keycap> to reload the Folder Compare
216       window using the new setting.</para>
217
218       <section>
219         <title>Using automatic mode</title>
220
221         <para>To apply plugins when automatic unpacking is set, simply launch a
222         compare operation on a file in the Folder Compare window. If the file's
223         type suggested unpacker plugin (if any) preprocesses the file before
224         WinMerge opens it in the File Compare window.</para>
225
226         <para>For example, suppose you right-click an MS Word
227         <filename>doc</filename> file and choose
228         <guimenuitem>Compare</guimenuitem> (also assume that the <xref
229         linkend="Plugins_msword" /> plugin is available). WinMerge converts the
230         doc file (or rather, a copy of it ) to a plain text file and opens it in
231         the File Compare window.</para>
232       </section>
233
234       <section>
235         <title>Using manual mode</title>
236
237         <para>Manual mode enables you to choose a different unpacker plugin than
238         the one that is selected for you in automatic mode. You can also launch
239         the compare using no plugin.</para>
240
241         <para>To apply plugins when manual unpacking is set:</para>
242
243         <orderedlist>
244           <listitem>
245             <para>Select the file you want to compare.</para>
246           </listitem>
247
248           <listitem>
249             <para>Click <menuchoice>
250                 <guimenu>Plugins</guimenu>
251
252                 <guimenuitem>Edit with Unpacker</guimenuitem>
253               </menuchoice>.</para>
254
255             <para>This menu item is enabled only if the selected file's type is
256             supported by an available unpacking plugin.</para>
257           </listitem>
258
259           <listitem>
260             <para>In the Select Unpacker dialog:</para>
261
262             <xi:include href="select_unpacker.xml"
263                         xmlns:xi="http://www.w3.org/2001/XInclude"
264                         xpointer="element(select-unpacker-proc)" />
265           </listitem>
266
267           <listitem>
268             <para>Click <guibutton>OK</guibutton> to close the Select Unpacker
269             dialog and launch the file comparison.</para>
270           </listitem>
271         </orderedlist>
272       </section>
273     </section>
274
275     <section>
276       <title>Applying unpacker plugins in the Select Files or Folders
277       dialog</title>
278
279       <para>You can use the Select Unpacker dialog to apply a plugin when you
280       launch a file comparison from the Select Files or Folders dialog. See
281       <xref linkend="Open_paths_unpacker" /> for details.</para>
282     </section>
283
284     <section>
285       <title>Applying prediffer plugins in the Folder Compare window</title>
286
287       <para>With prediffer plugins, you set the mode (<firstterm>Auto
288       prediiffer</firstterm> or <firstterm>No prediffer</firstterm>) for
289       individual files. (Contrast this with unpacker plugins, where you set the
290       mode for all files.) That is, some files in the same folder have different
291       prediffer modes.</para>
292
293       <para>To set the mode for one or more files in the Folder Compare window,
294       right-click the files and choose <menuchoice>
295           <guimenu>Plugin Settings</guimenu>
296
297           <guisubmenu>Prediffer Settings</guisubmenu>
298         </menuchoice>, then choose one of the submenu options:</para>
299
300       <itemizedlist>
301         <listitem>
302           <para><guisubmenu>Auto Prediffer</guisubmenu> selects the first
303           prediffer plugin available for the file type.</para>
304         </listitem>
305
306         <listitem>
307           <para><guisubmenu>No prediffer</guisubmenu> means that no prediffer
308           plugin is used.</para>
309         </listitem>
310       </itemizedlist>
311
312       <para>Click <keycap>F5</keycap> to update the window.</para>
313
314       <note>
315         <para>When you open a subfolder during a non-recursive compare, the mode
316         is always reset to <guimenuitem>No prediffer</guimenuitem>.</para>
317       </note>
318
319       <para>When you open a file from the Folder Compare window, your prediffer
320       setting for that file is applied before the File Compare window is
321       opened.</para>
322     </section>
323
324     <section>
325       <title>Applying prediffer plugins in the File Compare window</title>
326
327       <para>In the File Compare winodw, you can apply a prediffer plugin by
328       clicking <menuchoice>
329           <guimenu>Plugins</guimenu>
330
331           <guisubmenu>Prediffer</guisubmenu>
332         </menuchoice> and choosing one of the plugins in the list. Suggested
333       plugins are indicated at the top of the list. The files are compared again
334       after the plugin is applied, so you don't need to rescan the files.</para>
335     </section>
336   </section>
337
338   <section id="Plugins_available">
339     <title>Available plugins<indexterm>
340         <primary>Visual Basic dlls for plugins</primary>
341       </indexterm><indexterm>
342         <primary>plugins</primary>
343
344         <secondary>Visual Basic dlls</secondary>
345       </indexterm></title>
346
347     <section id="CompareMSExcelFiles">
348       <title><filename>CompareMSExcelFiles.sct<indexterm>
349           <primary>CompareMSExcelFiles.sct plugin file</primary>
350         </indexterm></filename></title>
351
352       <para>Displays the text contents of a <trademark
353       class="registered">Microsoft</trademark> <application>Excel</application>
354       file, stripping away all formatting and embedded objects.</para>
355
356       <para><segmentedlist>
357           <segtitle>Category</segtitle>
358
359           <segtitle>File filter</segtitle>
360
361           <segtitle>Packing</segtitle>
362
363           <segtitle>Settings dialog support</segtitle>
364
365           <segtitle>Dependency</segtitle>
366
367           <seglistitem>
368             <seg>Unpacker</seg>
369
370             <seg><filename class="extension">*.xls</filename><filename
371             class="extension">*.xlsx</filename><filename
372             class="extension">*.xlsm</filename><filename
373             class="extension">*.xlsb</filename><filename
374             class="extension">*.xla</filename><filename
375             class="extension">*.xlax</filename><filename
376             class="extension">*.xltx</filename><filename
377             class="extension">*.xltm</filename></seg>
378
379             <seg>No</seg>
380
381             <seg>Yes</seg>
382
383             <seg><trademark class="registered">Microsoft</trademark>
384             <application>Excel</application></seg>
385           </seglistitem>
386         </segmentedlist></para>
387     </section>
388
389     <section id="Plugins_msword">
390       <title><filename>CompareMSWordFiles.sct<indexterm>
391           <primary>CompareMSWordFiles.sct plugin file</primary>
392         </indexterm></filename></title>
393
394       <para>Displays the text content of a <trademark
395       class="registered">Microsoft</trademark> <application>Word</application>
396       file, stripping away all formatting and embedded objects.</para>
397
398       <para><segmentedlist>
399           <segtitle>Category</segtitle>
400
401           <segtitle>File filter</segtitle>
402
403           <segtitle>Packing</segtitle>
404
405           <segtitle>Settings dialog support</segtitle>
406
407           <segtitle>Dependency</segtitle>
408
409           <seglistitem>
410             <seg>Unpacker</seg>
411
412             <seg><filename class="extension">*.doc</filename>, <filename
413             class="extension">*.docx</filename>, <filename
414             class="extension">*.docm</filename>, <filename
415             class="extension">*.dot</filename>, <filename
416             class="extension">*.dotx</filename>, <filename
417             class="extension">*.dotm</filename></seg>
418
419             <seg>No</seg>
420
421             <seg>Yes</seg>
422
423             <seg><trademark class="registered">Microsoft</trademark>
424             <application>Word</application></seg>
425           </seglistitem>
426         </segmentedlist></para>
427     </section>
428
429     <section id="Plugins_powerpnt">
430       <title><filename>CompareMSPowerPointFiles.sct<indexterm>
431           <primary>CompareMSPowerPointFiles.sct plugin file</primary>
432         </indexterm></filename></title>
433
434       <para>Displays the text content of a <trademark
435       class="registered">Microsoft</trademark> <application>PowerPoint</application>
436       file, stripping away all formatting and embedded objects.</para>
437
438       <para><segmentedlist>
439           <segtitle>Category</segtitle>
440
441           <segtitle>File filter</segtitle>
442
443           <segtitle>Packing</segtitle>
444
445           <segtitle>Settings dialog support</segtitle>
446
447           <segtitle>Dependency</segtitle>
448
449           <seglistitem>
450             <seg>Unpacker</seg>
451
452             <seg><filename class="extension">*.ppt</filename>, <filename
453             class="extension">*.pptx</filename>, <filename
454             class="extension">*.pptm</filename>, <filename
455             class="extension">*.ppa</filename>, <filename
456             class="extension">*.ppam</filename>, <filename
457             class="extension">*.pot</filename>, <filename
458             class="extension">*.potx</filename>, <filename
459             class="extension">*.potm</filename></seg>
460
461             <seg>No</seg>
462
463             <seg>Yes</seg>
464
465             <seg><trademark class="registered">Microsoft</trademark>
466             <application>PowerPoint</application></seg>
467           </seglistitem>
468         </segmentedlist></para>
469     </section>
470
471     <section id="EditorAddin">
472       <title><filename>editor addin.sct<indexterm>
473           <primary>editor addin.sct plugin file</primary>
474         </indexterm></filename></title>
475
476       <para>Adds five functions to the <menuchoice>
477           <guimenu>Plugins</guimenu>
478
479           <guisubmenu>Scripts</guisubmenu>
480         </menuchoice> menu:</para>
481
482       <itemizedlist>
483         <listitem>
484           <simpara><guimenuitem>MakeUpper</guimenuitem> convert the selection to
485           UPPER CASE.</simpara>
486         </listitem>
487
488         <listitem>
489           <simpara><guimenuitem>MakeLower</guimenuitem> convert the selection to
490           lower case.</simpara>
491         </listitem>
492
493         <listitem>
494           <simpara><guimenuitem>SortAscending</guimenuitem> sort the selection 
495           in ascending order.</simpara>
496         </listitem>
497
498         <listitem>
499           <simpara><guimenuitem>SortDescending</guimenuitem> sort the selection 
500           in descending order.</simpara>
501         </listitem>
502
503         <listitem>
504           <simpara><guimenuitem>ExecFilterCommand</guimenuitem> replace the selection 
505           with the output of the specified filter command.</simpara>
506         </listitem>
507       </itemizedlist>
508
509       <para><segmentedlist>
510           <segtitle>Category</segtitle>
511           <segtitle>Settings dialog support</segtitle>
512
513           <seglistitem>
514             <seg>Editor complement</seg>
515             <seg>No</seg>
516           </seglistitem>
517         </segmentedlist></para>
518     </section>
519
520     <section id="IgnoreColumns">
521       <title><filename>IgnoreColumns.dll<indexterm>
522           <primary>IgnoreColumns.dll plugin file</primary>
523         </indexterm></filename></title>
524
525       <para>This plugin ignores characters at specified columns. The first
526       column is number 1</para>
527
528       <para>Note that this plugin does not support files with tabs: the plugin
529       does not fail, but all tabs are be treated as normal characters.</para>
530
531       <para>To specify columns, use plugin settings dialog or rename the <filename>dll</filename> using
532       following fields as parameters:</para>
533
534       <itemizedlist>
535         <listitem>
536           <simpara>Delimiters between ranges: _ or ,</simpara>
537         </listitem>
538
539         <listitem>
540           <simpara>Delimiters between min and max: <emphasis>anything
541           else</emphasis></simpara>
542         </listitem>
543
544         <listitem>
545           <simpara>Min and max are included.</simpara>
546         </listitem>
547
548         <listitem>
549           <simpara>When max = min, max can be omitted.</simpara>
550         </listitem>
551       </itemizedlist>
552
553       <example>
554         <title><filename>IgnoreColumns.dll</filename> examples</title>
555
556         <variablelist>
557           <varlistentry>
558             <term><filename>IgnoreColumns _ 3 _ 10 - 20 _ 32 -
559             33.dll</filename></term>
560
561             <listitem>
562               <simpara>Ignore all characters at column 3, and in columns 10 to
563               20, and 32 to 33.</simpara>
564             </listitem>
565           </varlistentry>
566
567           <varlistentry>
568             <term><filename>IgnoreColumns_1,30 to 40.dll</filename></term>
569
570             <listitem>
571               <simpara>Ignore all the characters in column 1, and in columns 30
572               to 40.</simpara>
573             </listitem>
574           </varlistentry>
575         </variablelist>
576       </example>
577
578       <para><segmentedlist>
579           <segtitle>Category</segtitle>
580
581           <segtitle>File filter</segtitle>
582
583           <segtitle>Settings dialog support</segtitle>
584
585           <seglistitem>
586             <seg>Prediffer</seg>
587
588             <seg><filename class="extension">*.txt</filename></seg>
589
590             <seg>Yes</seg>
591           </seglistitem>
592         </segmentedlist></para>
593     </section>
594
595     <section>
596       <title><filename>IgnoreCommentsC.dll<indexterm>
597           <primary>IgnoreCommentsC.dll plugin file</primary>
598         </indexterm></filename></title>
599
600       <para>The plugin ignores comments within<constant> //</constant>... and
601       <constant>/*</constant> ... <constant>*/</constant> delimiters in C, C++,
602       PHP and JavaScript files.</para>
603
604       <para><segmentedlist>
605           <segtitle>Category</segtitle>
606
607           <segtitle>File filter</segtitle>
608
609           <segtitle>Settings dialog support</segtitle>
610
611           <seglistitem>
612             <seg>Prediffer</seg>
613
614             <seg><filename class="extension">*.cpp</filename>, <filename
615             class="extension">*.cxx</filename>, <filename
616             class="extension">*.h</filename>, <filename
617             class="extension">*.hxx</filename>, <filename
618             class="extension">*.c</filename>, <filename
619             class="extension">*.php</filename>, <filename
620             class="extension">*.js</filename>,</seg>
621
622             <seg>No</seg>
623           </seglistitem>
624         </segmentedlist></para>
625     </section>
626
627     <section>
628       <title><filename>IgnoreFieldsComma.dll<indexterm>
629           <primary>IgnoreFieldsComma.dll plugin file</primary>
630         </indexterm></filename></title>
631
632       <para>This plugin is for files with fields and commas as delimiters (CSV
633       files, for example). It ignores the delimiter characters. The first field
634       is number 1.</para>
635
636       <para>To specify the delimiters, use plugin settings dialog or rename the <filename>dll</filename> using
637       the same parameter fields used for <xref
638       linkend="IgnoreColumns" />.</para>
639
640       <para><segmentedlist>
641           <segtitle>Category</segtitle>
642
643           <segtitle>File filter</segtitle>
644
645           <segtitle>Settings dialog support</segtitle>
646
647           <seglistitem>
648             <seg>Prediffer</seg>
649
650             <seg><filename class="extension">*.csv</filename></seg>
651
652             <seg>Yes</seg>
653           </seglistitem>
654         </segmentedlist></para>
655     </section>
656
657     <section>
658       <title><filename>IgnoreFieldsTab.dll<indexterm>
659           <primary>IgnoreFieldsTab.dll plugin file</primary>
660         </indexterm></filename></title>
661
662       <para>This plugin is for files that use fields and tabs as delimiters
663       (<application>for examle, Excel</application> files saved in the <filename
664       class="extension">*.txt</filename> format). It ignores the delimiter
665       characters. The first field is number 1.</para>
666
667       <para>To specify the delimiters, use plugin settings dialog or rename the <filename>dll</filename> using
668       the same parameter fields used for <xref
669       linkend="IgnoreColumns" />.</para>
670
671       <para><segmentedlist>
672           <segtitle>Category</segtitle>
673
674           <segtitle>File filter</segtitle>
675
676           <segtitle>Settings dialog support</segtitle>
677
678           <seglistitem>
679             <seg>Prediffer</seg>
680
681             <seg><filename class="extension">*.txt</filename></seg>
682
683             <seg>Yes</seg>
684           </seglistitem>
685         </segmentedlist></para>
686     </section>
687
688     <section>
689       <title><filename>IgnoreLeadingLineNumbers.dll<indexterm>
690           <primary>IgnoreLeadingLineNumbers.dll plugin file</primary>
691         </indexterm></filename></title>
692
693       <para>This plugin ignores the leading line numbers in text files (for
694       example, NC and BASIC files).</para>
695
696       <para><segmentedlist>
697           <segtitle>Category</segtitle>
698
699           <segtitle>File filter</segtitle>
700
701           <segtitle>Settings dialog support</segtitle>
702
703           <segtitle>Requirement</segtitle>
704
705           <seglistitem>
706             <seg>Prediffer</seg>
707
708             <seg><filename class="extension">*.nc</filename></seg>
709
710             <seg>No</seg>
711
712             <seg><xref linkend="MSVBVM60" /></seg>
713           </seglistitem>
714         </segmentedlist></para>
715     </section>
716
717     <section id="Plugins_datetime">
718       <title><filename>insert datetime.sct<indexterm>
719           <primary>insert datetime.sct plugin file</primary>
720         </indexterm></filename></title>
721
722       <para>Adds two functions to the <menuchoice>
723           <guimenu>Plugins</guimenu>
724
725           <guisubmenu>Scripts</guisubmenu>
726         </menuchoice> menu:</para>
727
728       <itemizedlist>
729         <listitem>
730           <simpara><guimenuitem>InsertDate</guimenuitem> insert date in the
731           current locale format.</simpara>
732         </listitem>
733
734         <listitem>
735           <simpara><guimenuitem>InsertTime</guimenuitem> insert time in the
736           current locale format.</simpara>
737         </listitem>
738       </itemizedlist>
739
740       <para><segmentedlist>
741           <segtitle>Category</segtitle>
742
743           <segtitle>Settings dialog support</segtitle>
744
745           <seglistitem>
746             <seg>Editor complement</seg>
747
748             <seg>No</seg>
749           </seglistitem>
750         </segmentedlist></para>
751     </section>
752   </section>
753
754   <section>
755     <title>Requirements<indexterm>
756         <primary>plugins</primary>
757
758         <secondary>Windows Script Host requirement</secondary>
759       </indexterm></title>
760
761     <section>
762       <title>Windows Script Host</title>
763
764       <para>Some editor complement plugins require this optional component from
765       <trademark class="registered">Microsoft</trademark>.</para>
766
767       <para>It should already be included in your version of Windows, 
768           unless you use some really old pre Windows XP version.</para>
769     </section>
770
771     <section id="MSVBVM60">
772       <title><application>Visual Basic</application> runtime library<indexterm>
773           <primary>Visual Basic dlls for plugins</primary>
774         </indexterm><indexterm>
775           <primary>plugins</primary>
776
777           <secondary>Visual Basic dlls</secondary>
778         </indexterm><indexterm>
779           <primary>msvbvm60.dll plugin file</primary>
780         </indexterm><indexterm>
781           <primary>Run-Time Redistribution Pack, for Visual Basic
782           library</primary>
783         </indexterm></title>
784
785       <para>Some plugins require <application>the Visual Basic</application>
786       runtime library to work.</para>
787
788       <para>You can use the <ulink
789       url="https://www.microsoft.com/en-us/download/details.aspx?id=24417">Run-Time
790       Redistribution Pack</ulink> from <trademark
791       class="registered">Microsoft</trademark>. If you don't need the plugin,
792       you can safely remove it.</para>
793     </section>
794   </section>
795 </article>