<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://editplus.info/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://editplus.info/w/api.php?action=feedcontributions&amp;user=Deanhouseholder&amp;feedformat=atom</id>
		<title>EditPlus Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://editplus.info/w/api.php?action=feedcontributions&amp;user=Deanhouseholder&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Special:Contributions/Deanhouseholder"/>
		<updated>2012-05-18T17:43:58Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2009-09-16T22:02:59Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* PHP */  removed Extended CHM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists a resource for user tool configurations frequently used in EditPlus.&lt;br /&gt;
&lt;br /&gt;
For information on writing your own user tool to act as a text filter, see [[writing a text filter]].&lt;br /&gt;
&lt;br /&gt;
==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop===&lt;br /&gt;
Website: http://www.prall.net/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister===&lt;br /&gt;
Website: http://www.theill.com/fl/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Program Files\Mozilla Firefox\firefox.exe (for firefox)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com/ Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;tt&amp;gt;$(CurSel)&amp;lt;/tt&amp;gt; in quotes, like &amp;lt;tt&amp;gt;&amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===External Browser Preview UserTool===&lt;br /&gt;
Website: http://www.maxthon.com/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Save current file, then Launch it in Maxthon tabbed browser.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Maxthon Browser&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Maxthon\Maxthon.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: [leave blank]&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: This command is good for keeping the internal browser preview enabled in EditPlus, but still having the extra functionality of previewing your file in other browsers.&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy===&lt;br /&gt;
Website: http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;tidy.exe -config tidyconfig.txt&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: If tidy.exe is not in the Window's Path, and you installed it to &amp;quot;C:\Program Files\Tidy&amp;quot;, set initial directory to ''C:\Program Files\Tidy''. Also, in the tidyconfig.txt file, make sure you don't have the line ''write-back: yes'', as it will write the changes to the underlying file instead of to the EditPlus window. Either change it to ''write-back: no'' or delete the line, as ''no'' is the default setting.&lt;br /&gt;
&lt;br /&gt;
Here's an example config file for Tidy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  // sample config file for HTML tidy (XHTML formating)&lt;br /&gt;
  indent: auto&lt;br /&gt;
  indent-spaces: 4&lt;br /&gt;
  wrap: 80&lt;br /&gt;
  markup: yes&lt;br /&gt;
  output-xml: no&lt;br /&gt;
  input-xml: no&lt;br /&gt;
  output-xhtml: yes&lt;br /&gt;
  show-warnings: yes&lt;br /&gt;
  numeric-entities: yes&lt;br /&gt;
  quote-marks: yes&lt;br /&gt;
  quote-nbsp: yes&lt;br /&gt;
  quote-ampersand: yes&lt;br /&gt;
  break-before-br: no&lt;br /&gt;
  uppercase-tags: no&lt;br /&gt;
  uppercase-attributes: no&lt;br /&gt;
  char-encoding: latin1&lt;br /&gt;
  new-inline-tags: cfif, cfelse, math, mroot,&lt;br /&gt;
      mrow, mi, mn, mo, msqrt, mfrac, msubsup, munderover,&lt;br /&gt;
      munder, mover, mmultiscripts, msup, msub, mtext,&lt;br /&gt;
      mprescripts, mtable, mtr, mtd, mth&lt;br /&gt;
      new-blocklevel-tags: cfoutput, cfquery&lt;br /&gt;
  new-empty-tags: cfelse&lt;br /&gt;
  logical-emphasis: yes&lt;br /&gt;
  enclose-text: yes&lt;br /&gt;
  write-back: no&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
--[[User:NOSLOW|NOSLOW]] 07:17, 20 February 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
==DotNet==&lt;br /&gt;
&lt;br /&gt;
===Compile NAnt Projects===&lt;br /&gt;
Website: http://nant.sourceforge.net&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles NAnt project for DotNet.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;nant.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(CurSel) -find&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[\t ]*(\[.+\] )?([^(]+)\(([0-9]+),([0-9]+)\)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 2&lt;br /&gt;
* Line: Tagged Expression 3&lt;br /&gt;
* Column: Tagged Expression 4&lt;br /&gt;
Tips: What you have selected when launching this tool would be treated as the target name of the build file. For instance, given that you have a &amp;quot;default.build&amp;quot; file located in the same folder as the active file, and you have selected &amp;quot;debug&amp;quot;, then launch this tool. NAnt will compile the &amp;quot;debug&amp;quot; target of the &amp;quot;default.build&amp;quot; file.&lt;br /&gt;
Please notice that there's a &amp;quot;-find&amp;quot; argument in the command line which enables Nant to search for build files in parent folders of the active file in case of no build file exists in the directory.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compile A Single C# File to Console EXE===&lt;br /&gt;
Description: Compile c# code to a console executable file (for quick testing or very-light-weight application development purpose)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\Microsoft.NET\Framework\v1.1.4322\csc &amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileName)&amp;quot; /r:System.dll /r:System.data.dll /nologo /debug&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Tips:&lt;br /&gt;
# &amp;quot;v1.1.4322&amp;quot; in &amp;quot;command&amp;quot; should be the version number of the Microsoft .Net Framework;&lt;br /&gt;
# If you need to reference more assemblies, please add more &amp;quot;/r&amp;quot; stuff in the &amp;quot;arguments&amp;quot;&lt;br /&gt;
# Please refer to the .Net Framework SDK Documentation on CSC (C Sharp Compiler) for more information about how to compile C# files. You may also consider using a &amp;quot;Responding File&amp;quot;. However, NAnt Build files should be preferred if your project goes to be complex that you need to use &amp;quot;responding files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==C/C++==&lt;br /&gt;
&lt;br /&gt;
===C/C++: Compiler===&lt;br /&gt;
Website: http://nuwen.net/mingw.html (one of the better distributions available)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles your C or C++ project using a makefile and lets you jump to problematic lines by clicking in the output window.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\MinGW\bin\make.exe&amp;lt;/tt&amp;gt; (or just 'make.exe' if you edited your environment variables)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-f makefile&amp;lt;/tt&amp;gt; (if your makefile is named 'makefile' without an extension)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^([^:]+)\:([0-9]+)\:&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 1&lt;br /&gt;
* Line: Tagged Expression 2&lt;br /&gt;
* Column: Not Defined&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)===&lt;br /&gt;
Website: http://www.java2html.de/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Converts the source code of the current Java file to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar -srcfile&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\programming\java2html\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\java.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: compile $package.$classname===&lt;br /&gt;
Description: java compile keeping my .class files seperate from my .java files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Java\jdk1.6.0\bin\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-Xlint -d c:\java\home\classes -cp c:\java\home\src;. $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this conjunction with the &amp;quot;Java: run $package.$classname&amp;quot; usertool documented below.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: run $package.$classname===&lt;br /&gt;
'''FOR WINDOWS ONLY - Requires perl'''&amp;lt;br&amp;gt;&lt;br /&gt;
Description: this perl script works out the package name of the current file (relative to my &amp;lt;tt&amp;gt;c:\java\home\src&amp;lt;/tt&amp;gt; directory)&lt;br /&gt;
and executes &amp;lt;tt&amp;gt;java.exe&amp;lt;/tt&amp;gt; on &amp;lt;tt&amp;gt;$package.$(FileNameNoExt)&amp;lt;/tt&amp;gt;... allowing me to keep my .class files separate from my .java files&amp;lt;br&amp;gt;&lt;br /&gt;
The Script:&amp;lt;tt&amp;gt;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/perl/bin/perl -w&lt;br /&gt;
$package = $ARGV[0] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$fileNameNoExt = $ARGV[1] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$package =~ s/c:\\java\\home\\src\\//i;&lt;br /&gt;
$package =~ s/\\/./g;&lt;br /&gt;
$command='&amp;quot;C:\\Program Files\\Java\\jdk1.6.0\\bin\\java&amp;quot;';&lt;br /&gt;
$args = &amp;quot;-classpath \&amp;quot;c:\\java\\home\\classes;.\&amp;quot; $package.$fileNameNoExt&amp;quot;;&lt;br /&gt;
print &amp;quot;$command $args\n&amp;quot;;&lt;br /&gt;
print `$command $args`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Perl\bin\perl.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;quot; $(FileDir) $(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this in conjunction with the &amp;quot;Java: compile $package.$classname&amp;quot; usertool documented above.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javadoc.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\appletviewer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM===&lt;br /&gt;
Website: http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in the Java API CHM help file. Make sure when adding this you click Add Tool &amp;amp;rarr; HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\jdk142.chm&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online===&lt;br /&gt;
Website: http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the Java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\Maxthon.exe&amp;lt;/tt&amp;gt; (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///C:/java_api_1.4.2/api/index.html&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: google &amp;quot;java API ${SelectedText}&amp;quot;===&lt;br /&gt;
http://google.com/&amp;lt;br&amp;gt; &lt;br /&gt;
http://www.mozilla.com/en-US/firefox/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: runs a Google search for &amp;quot;java API ${SelectedText}&amp;quot; using firefox for results in English&amp;lt;br&amp;gt;&lt;br /&gt;
Note: this is useful for finding third party (non-sun) API doco.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\firefox.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;http://www.google.com.au/search?client=firefox-a&amp;amp;rls=org.mozilla%3Aen-US%3Aofficial_s&amp;amp;hl=en&amp;amp;q=java+API+$(CurSel)&amp;amp;meta=&amp;amp;btnG=Google+Search&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt; but this doesn't really matter&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe /c type&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Perl==&lt;br /&gt;
&lt;br /&gt;
=== Perl: Syntax Check ===&lt;br /&gt;
Description: Check perl syntax.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe -c&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perl: Perltidy ===&lt;br /&gt;
Website: http://perltidy.sourceforge.net/&lt;br /&gt;
Description: Runs Perltidy on the current file.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe &amp;quot;c:\path\to\perltidy&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; -st&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
Note: You must copy Perltidy\lib\Perl to Perl\site\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Groovy==&lt;br /&gt;
website: http://groovy.codehaus.org/&lt;br /&gt;
Description: Runs your groovy scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\groovy.bat&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Liberty Basic==&lt;br /&gt;
website: http://www.libertybasic.com/ &amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles Libery Basic programs &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\liberty.exe &amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;-R -A $(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir) &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones, based on information from Peter Anderson&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\php.exe -l&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (remove HTML from error message)===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\php.exe&amp;quot; -l -d html_errors=off&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.rebelinblue.com Stephen Ball]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (use output pattern to go to line)===&lt;br /&gt;
Description: Click on error message to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
First: set up the syntax checker as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
Select: Output Pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Uncheck: Use default output pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Regular Expression: &amp;lt;code&amp;gt;^.+ in (.+) on line ([0-9]+)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
File name: Tagged Expression 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Line: Tagged Expression 2&amp;lt;br /&amp;gt;&lt;br /&gt;
Column: None&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Online Manual===&lt;br /&gt;
Website: http://www.php.net/docs.php&lt;br /&gt;
Description: Looks up current word in the online manual for PHP&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\browser\&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : It can be faster to use the URL PHP.net resolves to for your country, like &amp;quot;ie.php.net&amp;quot;, &amp;quot;uk.php.net&amp;quot;, &amp;quot;it.php.net&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===PHP: External Browser Preview ===&lt;br /&gt;
Website: N/A&amp;lt;br&amp;gt;&lt;br /&gt;
Description: PHP Development Aide - Preview current file, server-side, source code parsed by PHP engine&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\Your\Browser.exe&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost/$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.NoviceNotes.net Jeff Sabarese]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : the EditPlus Argument &amp;quot;$(CurSel)&amp;quot; is key here, but requires adopting a source-code commenting convention. Comment each file after the opening PHP tag to indicate the current file name and path (for example: // ./MySiteDev/Location/current.php ). When ready to preview, highlight this path info before executing the User Tool (as configured above). The magic of the &amp;quot;$(CurSel)&amp;quot; Argument will effectively preview the current file, without the inherent problem of the Browser prompting to &amp;quot;Open File With...&amp;quot;. NOTE: LocalHost may be substituted for any server name-- very useful when using the FTP edit / save / upload option.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Function Prototype for built-in functions===&lt;br /&gt;
Description: Show currently selected function's prototype in the output window. Poor man's Intellisense.&amp;lt;br&amp;gt;&lt;br /&gt;
Step 1: Download &amp;quot;funcsummary.txt&amp;quot; file from PHP.net source repository  [http://cvs.php.net/viewvc.cgi/phpdoc/funcsummary.txt?view=log]&amp;lt;br&amp;gt;&lt;br /&gt;
Step 2: Create and save a php_func_hint.js file using the JScript below&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;//Nologo C:\path\to\php_func_hint.js $(CurWord)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
JScript Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var lookup = WScript.Arguments(0);&lt;br /&gt;
var fso = new ActiveXObject(&amp;quot;Scripting.FileSystemObject&amp;quot;);&lt;br /&gt;
var f = fso.OpenTextFile(&amp;quot;C:\\path\\to\\funcsummary.txt&amp;quot;, 1);&lt;br /&gt;
while(!f.AtEndOfStream)&lt;br /&gt;
{&lt;br /&gt;
  line = f.ReadLine();&lt;br /&gt;
  if(line.indexOf(' '+lookup+'(') &amp;gt; -1)&lt;br /&gt;
  {&lt;br /&gt;
    WScript.Echo(line+&amp;quot;\n&amp;quot;+f.ReadLine());&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
f.close();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Run PHP Code from command line===&lt;br /&gt;
Description: Uses the &amp;quot;-r&amp;quot; option to run a snippet of PHP code, e.g.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;c:&amp;gt;php -r &amp;quot;echo 'foo';&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\php-win.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-r &amp;quot;$(Prompt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
&lt;br /&gt;
===Python: Python Runtime===&lt;br /&gt;
Website: http://www.python.org/&lt;br /&gt;
Description: Python runtime that lets you execute your Python scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\python.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;File &amp;quot;(.+)&amp;quot;, line ([0-9]+)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression File name tag: Tagged Expression 1&lt;br /&gt;
* Regular Expression Line: Tagged Expression 2&lt;br /&gt;
&lt;br /&gt;
==LSL - Linden Scripting Language==&lt;br /&gt;
&lt;br /&gt;
===LSL: syntax checker===&lt;br /&gt;
Website: http://w-hat.com/lslint&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Checks the syntactic and semantic validity of Second Life LSL scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\lslint.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[^(]+\(\ *([0-9]+),\ *([0-9]+)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name:&lt;br /&gt;
* Line: Tagged Expression 1&lt;br /&gt;
* Column: Tagged Expression 2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''': Remember to specify the quotes for Argument, as shown above. Otherwise you'll get &amp;quot;Couldn't open file&amp;quot; errors for filenames with spaces.&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''': Click on error message in the output window to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [mailto:wikispam-agentsam@friikki.net Sami Salin] (aka. Lecalat Starbrook @Second Life)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ruby==&lt;br /&gt;
Website: http://www.ruby-lang.org/&lt;br /&gt;
Description: Runs your ruby scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\ruby.exe (Assume you have ruby on windows installed)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Debugs your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo //d //x&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt; (or if on W95/98/ME, &amp;lt;tt&amp;gt;command.com&amp;lt;/tt&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DOS (Executing current file)===&lt;br /&gt;
Description: Execute current opened file in a DOS (cmd.exe) window.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/c &amp;quot;$(FileNameNoExt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: PIT&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF===&lt;br /&gt;
http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look similar but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\ExamDiff.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Upon running, it will open the window list.  Simply hold CTRL and select the two files you would like to compare.&amp;lt;br&amp;gt;&lt;br /&gt;
If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===BeyondCompare (2.x)===&lt;br /&gt;
[http://www.scootersoftware.com/ Scooter Software]&amp;lt;br&amp;gt;&lt;br /&gt;
Description: BeyondCompare compares two versions of a file in a graphical interface, highlighting their differences.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\BC.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Upon running, it will open the window list.  Simply hold CTRL and select the two files you would like to compare.&amp;lt;br&amp;gt;&lt;br /&gt;
If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK. If you select more than two files, only the first two will be opened in BeyondCompare.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: DZ-Jay&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Selection)===&lt;br /&gt;
Description: Opens windows explorer in the location of the path currently selected.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/select, $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files===&lt;br /&gt;
Website: http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Programming\WinMerge\WinMergeU.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run Selection===&lt;br /&gt;
Description: Runs (ShellExec) the currently selected text. It is equivallent to entering the selected text in the Windows &amp;quot;run&amp;quot; dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
This tool also works to launch URLs, explore folder paths or launch a file (with with a registered extension).&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;regedit.exe&amp;lt;/tt&amp;gt;&amp;quot; is selected, the Registry Editor application is launched (assumes %systemroot% is in your path).&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;C:\EditPlus\editplus.hlp&amp;lt;/tt&amp;gt;&amp;quot; is selected, the EditPlus help file is opened.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\system32\RunDLL32.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;shell32.dll,ShellExec_RunDLL &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Close Window on Exit: &amp;lt;tt&amp;gt;On&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version Control==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Visual SourceSafe===&lt;br /&gt;
EditPlus user tool commands to interface with command-line version of Microsoft Visual SourceSafe&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display name of current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Current Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;project&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create a new VSS project and set as current&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create / Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;create -c- -s&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set VSS project working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Working Folder&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;workfold &amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: List files in VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Directory&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;dir -c&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current file in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;status &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get a file from VSS to working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get latest version of current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get Latest Version&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkout &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display differences between current EditPlus file and version in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Difference&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;diff &amp;quot;$(FileName)&amp;quot; -ds&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Undo checkout of current EditPlus file from VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Undo Checkout&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;undocheckout &amp;quot;$(FileName)&amp;quot; -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS but keep checked out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In / Keep Checked Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -k -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS and check out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File / Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c- -k&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CS-RCS===&lt;br /&gt;
EditPlus user tool commands to interface with CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Create $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Status $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: History&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;History $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from CS-RCS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckOut $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckIn $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Subversion===&lt;br /&gt;
Description: Compare differences of current file to base SVN repository, using WinMerge.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: SVN Diff&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\file\svndiff.bat&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir) $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [http://winmerge.sourceforge.net/ WinMerge], this batch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
&lt;br /&gt;
set WC=&amp;quot;%1\%2&amp;quot;&lt;br /&gt;
set REP=&amp;quot;%1\.svn\text-base\%2.svn-base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
IF NOT EXIST %WC% goto missing&lt;br /&gt;
IF NOT EXIST %REP% goto missing&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\WinMerge\WinMerge.exe&amp;quot; %REP% %WC%&lt;br /&gt;
goto end&lt;br /&gt;
&lt;br /&gt;
:missing&lt;br /&gt;
echo File(s) missing, not diffing.&lt;br /&gt;
&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Subversion Commit====&lt;br /&gt;
Description:  Commit Files to Server with TortoiseSVN&amp;lt;br&amp;gt;&lt;br /&gt;
Prerequesits: Files should be in Working Copy (previous checkout with TortoiseSVN)&amp;lt;br&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
Menu text: SVN Commit&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe&amp;lt;/tt&amp;gt; (or similar)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/command:commit /path:&amp;quot;$(FilePath)&amp;quot; /notempfile /closeonend:0&amp;lt;/tt&amp;gt; (use &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt; if you want to commit the current file's directory)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [tortoisesvn.tigris.org/ TortoiseSVN]&lt;br /&gt;
&lt;br /&gt;
==== Subversion Update, Delete, Rename, Checkout etc ====&lt;br /&gt;
Replace /command:&amp;lt;command&amp;gt; with one of the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:about Shows the About-dialog. This is also shown if no command is given.  &lt;br /&gt;
:log Opens the log dialog. The path specifies the file or folder for which the log should be shown. Three additional options can be set: /revstart:xxx, /revend:xxx and /strict  &lt;br /&gt;
:checkout Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from.  &lt;br /&gt;
:import Opens the import dialog. The path specifies the directory with the data to import.  &lt;br /&gt;
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.  &lt;br /&gt;
:commit Opens the commit dialog. The path specifies the target directory or the list of files to commit. You can also specify the /logmsg switch to pass a predefined log message to the commit dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.  &lt;br /&gt;
:add Adds the files in /path to version control.  &lt;br /&gt;
:revert Reverts local modifications of a working copy. The /path tells which items to revert.  &lt;br /&gt;
:cleanup Cleans up interrupted or aborted operations and unlocks the working copy in /path.  &lt;br /&gt;
:resolve Marks a conflicted file specified in /path as resolved. If /noquestion is given, then resolving is done without asking the user first if it really should be done.  &lt;br /&gt;
:repocreate Creates a repository in /path  &lt;br /&gt;
:switch Opens the switch dialog. The path specifies the target directory.  &lt;br /&gt;
:export Exports the working copy in /path to another directory. If the /path points to an unversioned directory, a dialog will ask for an URL to export to the dir in /path.  &lt;br /&gt;
:merge Opens the merge dialog. The path specifies the target directory.  &lt;br /&gt;
:copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from.  &lt;br /&gt;
:settings Opens the settings dialog.  &lt;br /&gt;
:remove Removes the file(s) in /path from version control.  &lt;br /&gt;
:rename Renames the file in /path. The new name for the file is asked with a dialog.  &lt;br /&gt;
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is ommitted, then the diff is done between the file in /path and its BASE.  &lt;br /&gt;
:conflicteditor Starts the conflicteditor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.  &lt;br /&gt;
:relocate Opens the relocate dialog. The /path specifies the working copy path to relocate.  &lt;br /&gt;
:help Opens the help file.  &lt;br /&gt;
:repostatus Opens the check-for-modifications dialog. The path specifies the working copy directory.  &lt;br /&gt;
:repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD.  &lt;br /&gt;
:ignore Adds all targets in /path to the ignore list, i.e. adds the svn:ignored property to those files.  &lt;br /&gt;
:blame Opens the blame dialog for the file specified in /path.  &lt;br /&gt;
:cat Saves a file from an URL or working copy path given in /path to the location given in /savepath:path. The revision is given in /revision:xxx. This can be used to get a file with a specific revision.  &lt;br /&gt;
:createpatch Creates a patch file for the path given in /path.  &lt;br /&gt;
:revisiongraph Shows the revision graph for the path given in /path.  &lt;br /&gt;
:lock Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path  &lt;br /&gt;
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. /noquestion  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Databases==&lt;br /&gt;
&lt;br /&gt;
=== SQL Server: sqlcmd / isql ===&lt;br /&gt;
Description: Execute SQL commands using sqlcmd or isql utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: sqlcmd.exe (MSSQL 2005) or isql.exe (previous versions)&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: -S HOST -U USERNAME -P PASSWORD -e -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: Prompts for a database name and executes the selected (highlighted) statement&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: SQL*Plus ===&lt;br /&gt;
Description: Execute SQL commands using SQL*Plus utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First create and save a DOS batch file (sqlplus.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%1&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%SQL:&amp;quot;=%&amp;lt;br/&amp;gt;&lt;br /&gt;
echo %SQL%; | sqlplus USERNAME/PASSWORD@SCHEMA&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\path\to\sqlplus.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file pipes the selected statement to SQL*Plus and outputs the result.&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: Compile PL\SQL ===&lt;br /&gt;
Description: Compile PL\SQL Procedure, function, packages and triggers.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create and save a DOS batch file (compilsql.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
echo exit;|echo show errors; |sqlplus -S %1 @%2&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\(Your Path)\compilsql.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: $(Prompt) $(FileName)&amp;lt;br/&amp;gt;&lt;br /&gt;
Initial Directory : $(FileDir)&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot; and &amp;quot;Save open files&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file prompts for the username, password and Database, compiles the current file and shows the compilation errors&amp;lt;br/&amp;gt;&lt;br /&gt;
The username, password and database should be passed like this: USER/PASSWORD@DATABASE&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Raed Jribi&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window Ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot; $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Python Function List====&lt;br /&gt;
Based on the above:&lt;br /&gt;
&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /n /o /r &amp;quot;\&amp;lt;def\&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File name: None&lt;br /&gt;
* Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
* Column: Tagged Expression 2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Posted By: [http://www.nowrap.de Igor Kogan]&lt;br /&gt;
&lt;br /&gt;
===JRuler===&lt;br /&gt;
Website: http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler===&lt;br /&gt;
Website: http://www.fabsoft.com/products/ruler/ruler.html&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;br /&gt;
&lt;br /&gt;
===Markdown Syntax===&lt;br /&gt;
Website: http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip&lt;br /&gt;
Description: Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). Great for writing blog posts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;perl Markdown.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Ankit Solanki.&lt;br /&gt;
&lt;br /&gt;
N.B. You will need to specify the location of both perl and Markdown.pl - EditPlus will not find them if they are in the path.&lt;br /&gt;
&lt;br /&gt;
===Make file writeable===&lt;br /&gt;
Description: clears the read-only file attribute on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;attrib.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-R &amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Parse 1-n ranges into text, ie [0-9]===&lt;br /&gt;
Description: Parses an unlimited number of numeric, alpha, alphanumeric, hex or octal ranges into text.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Take the code and save it as a .js file. Returns 1 copy of '''exactly''' what you send it for each replacement necessary.  So if you want it to return 1 entry per line, make sure you select a linebreak when running this tool.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:  [0x00-0x20] &lt;br /&gt;
Output: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20&lt;br /&gt;
&lt;br /&gt;
Input:  Option #[1-5][A-B], or reversed: [\1][\0]&lt;br /&gt;
Output:&lt;br /&gt;
Option #1A, or reversed: A1&lt;br /&gt;
Option #1B, or reversed: B1&lt;br /&gt;
Option #2A, or reversed: A2&lt;br /&gt;
Option #2B, or reversed: B2&lt;br /&gt;
Option #3A, or reversed: A3&lt;br /&gt;
Option #3B, or reversed: B3&lt;br /&gt;
Option #4A, or reversed: A4&lt;br /&gt;
Option #4B, or reversed: B4&lt;br /&gt;
Option #5A, or reversed: A5&lt;br /&gt;
Option #5B, or reversed: B5&lt;br /&gt;
&lt;br /&gt;
Input:  [ZX-102]&lt;br /&gt;
Output:&lt;br /&gt;
ZX&lt;br /&gt;
ZY&lt;br /&gt;
ZZ&lt;br /&gt;
100&lt;br /&gt;
101&lt;br /&gt;
102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin   = WScript.StdIn;&lt;br /&gt;
var stdout  = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
Array.prototype.exists=function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find  =function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
var input, results, matches;&lt;br /&gt;
&lt;br /&gt;
var bases = [&lt;br /&gt;
	'0123456789ABCDEF',&lt;br /&gt;
	'01234567',&lt;br /&gt;
	'0123456789',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
function baseToNum(str, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = 0;&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
	if(!zeros) tbase = ' '+tbase;&lt;br /&gt;
&lt;br /&gt;
	for(var i=0, j=str.length; i&amp;lt;j; i++){&lt;br /&gt;
		var dataVal = tbase.indexOf(str.charAt(i));&lt;br /&gt;
		out         = out * cnt + dataVal;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out-(zeros?0:1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function numToBase(num, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = '';&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
&lt;br /&gt;
	if(num==0) return tbase.substr(0, 1);&lt;br /&gt;
&lt;br /&gt;
	if(zeros){&lt;br /&gt;
		while(num){&lt;br /&gt;
			out = tbase.substr(num % cnt, 1) + out;&lt;br /&gt;
			num = Math.floor(num / cnt);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		var root=1, check=1, check2=0, rttl = 0;&lt;br /&gt;
		while(num&amp;gt;=rttl){&lt;br /&gt;
			check2 = Math.pow(cnt, root++);&lt;br /&gt;
			out    = tbase.substr(Math.floor((num-rttl)/check)%cnt, 1) + out;&lt;br /&gt;
			check  = check2;&lt;br /&gt;
			rttl  += check;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getMode(str){&lt;br /&gt;
	if(str.length==0) return -1;&lt;br /&gt;
	if((str.indexOf('0x')==0) &amp;amp;&amp;amp; /^[0-9A-F]+$/.test(str.substr(2))){                     return 0;&lt;br /&gt;
	}else if((str.indexOf('0')==0) &amp;amp;&amp;amp; (str.length&amp;gt;1) &amp;amp;&amp;amp; /^[0-7]+$/.test(str.substr(1))){ return 1;&lt;br /&gt;
	}else if(/^[0-9]+$/      .test(str)){                                                return 2;&lt;br /&gt;
	}else if(/^[a-z]+$/      .test(str)){                                                return 3;&lt;br /&gt;
	}else if(/^[A-Z]+$/      .test(str)){                                                return 4;&lt;br /&gt;
	}else if(/^[A-Za-z]+$/   .test(str)){                                                return 5;&lt;br /&gt;
	}else if(/^[a-z0-9]+$/   .test(str)){                                                return 6;&lt;br /&gt;
	}else if(/^[A-Z0-9]+$/   .test(str)){                                                return 7;&lt;br /&gt;
	}else if(/^[A-Za-z0-9]+$/.test(str)){                                                return 8;&lt;br /&gt;
	}&lt;br /&gt;
	return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function strip(num){&lt;br /&gt;
	while((num.indexOf('0')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	if   ((num.indexOf('x')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	return num;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function decNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return parseInt(strip(num), 16); break;&lt;br /&gt;
		case 1: return parseInt(strip(num), 8);  break;&lt;br /&gt;
		case 2: return eval(strip(num));         break;&lt;br /&gt;
		case 3: return baseToNum(num, 3);        break;&lt;br /&gt;
		case 4: return baseToNum(num, 4);        break;&lt;br /&gt;
		case 5: return baseToNum(num, 5);        break;&lt;br /&gt;
		case 6: return parseInt(num, 36);        break;&lt;br /&gt;
		case 7: return parseInt(num, 36);        break;&lt;br /&gt;
		case 8: return baseToNum(num, 8);        break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function modeNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return num.toString(16);               break;&lt;br /&gt;
		case 1: return num.toString(8);                break;&lt;br /&gt;
		case 2: return num;                            break;&lt;br /&gt;
		case 3: return numToBase(num, 3);              break;&lt;br /&gt;
		case 4: return numToBase(num, 4);              break;&lt;br /&gt;
		case 5: return numToBase(num, 5);              break;&lt;br /&gt;
		case 6: return num.toString(36);               break;&lt;br /&gt;
		case 7: return num.toString(36).toUpperCase(); break;&lt;br /&gt;
		case 8: return numToBase(num, 8);              break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function readMode(str1, str2){&lt;br /&gt;
	var mode1 = getMode(str1);&lt;br /&gt;
	var mode2 = getMode(str2);&lt;br /&gt;
	if((mode1==-1)||(mode2==-1)) return -1;&lt;br /&gt;
	mode  = mode1&amp;gt;mode2?mode1:mode2;&lt;br /&gt;
	if(mode&amp;gt;1){&lt;br /&gt;
		var lc = [3,5,6,8].exists(mode1)||[3,5,6,8].exists(mode2);&lt;br /&gt;
		var uc = [4,5,7,8].exists(mode1)||[4,5,7,8].exists(mode2);&lt;br /&gt;
		var nm = [2,6,7,8].exists(mode1)||[2,6,7,8].exists(mode2);&lt;br /&gt;
&lt;br /&gt;
		mode = lc?uc?nm?8:5:nm?6:3:uc?nm?7:4:nm?2:1;&lt;br /&gt;
		if(mode==-1) return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	i1    = decNumber(str1, mode);&lt;br /&gt;
	i2    = decNumber(str2, mode);&lt;br /&gt;
&lt;br /&gt;
	return {mode:mode, start:i1, end:i2};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function parseData(input, depth){&lt;br /&gt;
	var out = '';&lt;br /&gt;
	var rx  = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	var rx2 = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	if(!rx.test(input)) return input;&lt;br /&gt;
&lt;br /&gt;
	var matches = rx2.exec(input);&lt;br /&gt;
	var match   = matches[1];&lt;br /&gt;
	var start   = matches[2];&lt;br /&gt;
	var end     = matches[3];&lt;br /&gt;
&lt;br /&gt;
	var sett    = readMode(start, end);&lt;br /&gt;
&lt;br /&gt;
	for(var i=sett.start, j=sett.end; i&amp;lt;=j; i++){&lt;br /&gt;
		var mn = modeNumber(i, sett.mode);&lt;br /&gt;
		out+=parseData(input.replace(match, mn).replace(new RegExp('\\[\\\\'+depth+'\\]', 'g'), mn), depth+1);&lt;br /&gt;
	}&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(parseData(stdin.ReadAll(), 0));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full RegEx Supported Replace and More!===&lt;br /&gt;
Description: Does a full regular expression replace based on the file or expression.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: The first line of whatever you send has to be the regular expression you want parsed.  The 2nd line is what you want it replaced with.  Anything on the replace line between { and } sets is eval'd in JavaScript, meaning if you can do TONS of stuff that isn't possible with normal Regular Expressions, like {$1*$2} which will multiple the first match times the second.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
/([0-9])([0-9]+)/gi&lt;br /&gt;
{Math.pow($1, {$2})}&lt;br /&gt;
26&lt;br /&gt;
55&lt;br /&gt;
12&lt;br /&gt;
21&lt;br /&gt;
222&lt;br /&gt;
555&lt;br /&gt;
---123---&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
64&lt;br /&gt;
3125&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
4194304&lt;br /&gt;
2.77555756&lt;br /&gt;
---1---&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
/(id=&amp;quot;)([0-9]+)(&amp;quot;)/gi&lt;br /&gt;
$1{$2+1}$3&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
/([\w ]+)/gi&lt;br /&gt;
{'$1'.length+' - '+'$1'}&lt;br /&gt;
this is a test&lt;br /&gt;
this is the 2nd line of code&lt;br /&gt;
3rd line&lt;br /&gt;
4th&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
14 - this is a test&lt;br /&gt;
28 - this is the 2nd line of code&lt;br /&gt;
8 - 3rd line&lt;br /&gt;
3 - 4th&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
function RepText(text){&lt;br /&gt;
	if(/.*({[^{}]+}).*/gi.test(text)){&lt;br /&gt;
		var match = text.replace(/.*({[^{}]+}).*/gi, &amp;quot;$1&amp;quot;);&lt;br /&gt;
		text      = text.replace(match, eval(match.substr(1, match.length-2)));&lt;br /&gt;
		return text;&lt;br /&gt;
	}else{&lt;br /&gt;
		return -1;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function parseText(text, RX2, RP){&lt;br /&gt;
	var matches, results=[], res&lt;br /&gt;
	var RX = eval(RX2), text2=text;&lt;br /&gt;
&lt;br /&gt;
	while(matches = RX.exec(text2)){&lt;br /&gt;
		if(matches[0]=='') continue;&lt;br /&gt;
		text = text.replace(matches[0], &amp;quot;{{MATCH}}&amp;quot;);&lt;br /&gt;
		results.push(matches[0]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for(var i=0; i&amp;lt;results.length; i++){&lt;br /&gt;
		res  = results[i].replace(RX, RP);&lt;br /&gt;
		while((result=RepText(res))!=-1) res=result;&lt;br /&gt;
		text = text.replace(&amp;quot;{{MATCH}}&amp;quot;, res);&lt;br /&gt;
	}&lt;br /&gt;
	return text;&lt;br /&gt;
}&lt;br /&gt;
var text  = stdin.ReadAll();&lt;br /&gt;
var lines = text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var RX = eval(lines[0]);&lt;br /&gt;
var RP = lines[1].replace(/\r\n/, '');&lt;br /&gt;
text   = lines.splice(2, lines.length).join('\n');&lt;br /&gt;
RP     = RP.substr(0, RP.length-1)&lt;br /&gt;
&lt;br /&gt;
text   = (/.*({[^{}]+}).*/gi.test(RP))?parseText(text, RX, RP):text.replace(RX, RP)&lt;br /&gt;
&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Spacing===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; code spacing by aligning = signs, :'s, etc.  Makes code much easier to read.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size:11px;&lt;br /&gt;
	color:#4C82D8;&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
	padding-left:10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background:white;&lt;br /&gt;
	width:800px;&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
	border:1px solid #999999;&lt;br /&gt;
	padding:0px;&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size       : 11px;&lt;br /&gt;
	color           : #4C82D8;&lt;br /&gt;
	text-decoration : none;&lt;br /&gt;
	padding-left    : 10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background      : white;&lt;br /&gt;
	width           : 800px;&lt;br /&gt;
	margin          : 0 auto;&lt;br /&gt;
	border          : 1px solid #999999;&lt;br /&gt;
	padding         : 0px;&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'=&amp;gt;'data',&lt;br /&gt;
	'another field'=&amp;gt;'some more data',&lt;br /&gt;
	'etc'=&amp;gt;'etc'&lt;br /&gt;
);&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'         =&amp;gt; 'data',&lt;br /&gt;
	'another field' =&amp;gt; 'some more data',&lt;br /&gt;
	'etc'           =&amp;gt; 'etc'&lt;br /&gt;
);&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
a=5;&lt;br /&gt;
b=20;&lt;br /&gt;
dog=30;&lt;br /&gt;
some_really_really_long_variable_name=40;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
a                                     = 5;&lt;br /&gt;
b                                     = 20;&lt;br /&gt;
dog                                   = 30;&lt;br /&gt;
some_really_really_long_variable_name = 40;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// settings&lt;br /&gt;
&lt;br /&gt;
var ignore      = ['&amp;lt;%', '%&amp;gt;', '&amp;lt;?', '?&amp;gt;'];&lt;br /&gt;
var splitVals   = ['===', '!==', '==', '=&amp;gt;', '!=', '+=', '-=', '*=', '/=', '-&amp;gt;', '=', ':', '?'];&lt;br /&gt;
var noPreSpace  = ['?'];&lt;br /&gt;
var noPostSpace = ['?'];&lt;br /&gt;
var quoteChars  = ['&amp;quot;', &amp;quot;'&amp;quot;];&lt;br /&gt;
var escapeChar  = '\\';&lt;br /&gt;
&lt;br /&gt;
// do not edit below this line&lt;br /&gt;
&lt;br /&gt;
var stdin       = WScript.StdIn;&lt;br /&gt;
var stdout      = WScript.StdOut;&lt;br /&gt;
var input       = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var maxSplit    = 0;&lt;br /&gt;
var splits      = [];&lt;br /&gt;
var lines       = input.split('\n');&lt;br /&gt;
var output      = '';&lt;br /&gt;
var currentLine, currentSplit, inQuote, spaces, j, currentLineString, i, isSplit;&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^ +/,'').replace(/ +$/,'');}&lt;br /&gt;
Array.prototype.exists = function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find   = function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
for(var i=0; i&amp;lt;splitVals.length; i++) if(splitVals[i].length&amp;gt;maxSplit) maxSplit = splitVals[i].length;&lt;br /&gt;
&lt;br /&gt;
function doLoop(mid, end){&lt;br /&gt;
	for(i=0; i&amp;lt;lines.length; i++){&lt;br /&gt;
		currentLine  = lines[i];&lt;br /&gt;
		currentSplit = splits;&lt;br /&gt;
		inQuote      = '';&lt;br /&gt;
		curStr       = '';&lt;br /&gt;
		spaces       = 0;&lt;br /&gt;
&lt;br /&gt;
		loop2:&lt;br /&gt;
		for(j=0; j&amp;lt;currentLine.length; j++){&lt;br /&gt;
			currentLineString = currentLine.substr(j, maxSplit);&lt;br /&gt;
&lt;br /&gt;
			for(var k=0; k&amp;lt;ignore.length; k++){&lt;br /&gt;
				var splitValue = ignore[k];&lt;br /&gt;
				if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
					j      += splitValue.length-1;&lt;br /&gt;
					curStr += splitValue;&lt;br /&gt;
					continue loop2;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if(currentLineString.substr(0, 1) == escapeChar){&lt;br /&gt;
				j++;&lt;br /&gt;
				curStr += currentLineString.substr(0, 2);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if((inQuote=='') &amp;amp;&amp;amp; (quoteChars.exists(currentLineString.substr(0, 1)))){&lt;br /&gt;
				inQuote = currentLineString.substr(0, 1);&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(currentLineString.substr(0, 1)==inQuote){&lt;br /&gt;
				inQuote = '';&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(inQuote!=''){&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			isSplit = false;&lt;br /&gt;
&lt;br /&gt;
			if(mid) mid();&lt;br /&gt;
&lt;br /&gt;
			if(!isSplit) curStr += currentLineString.substr(0, 1);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(end) end();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function x(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			j += splitValue.length-1;&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function y(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			var preSpace  = ' ';&lt;br /&gt;
			var postSpace = ' ';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPreSpace.length;  l++) if(noPreSpace[l] ==splitValue) preSpace  = '';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPostSpace.length; l++) if(noPostSpace[l]==splitValue) postSpace = '';&lt;br /&gt;
&lt;br /&gt;
			j      += splitValue.length-1;&lt;br /&gt;
			var aLen = currentSplit[splitValue].max - curStr.trim().length + 1;&lt;br /&gt;
			if(aLen&amp;lt;0) alert(currentLine.substr(j));&lt;br /&gt;
			output += curStr.trim() + new Array(aLen).join(' ') + preSpace + splitValue + postSpace&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function z(){ output += curStr.trim() + '\n'; }&lt;br /&gt;
&lt;br /&gt;
doLoop(x);&lt;br /&gt;
doLoop(y, z);&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.substr(0, output.length-1));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Indentation===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; JavaScript/PHP/C++/etc code indentation by throwing away most starting indentation and replacing it based on braces &amp;amp; parenthesis.  The script will ignore spacing that is inside sets of parenthesis, i.e. function variables that are aligned.&amp;lt;br&amp;gt;&lt;br /&gt;
Known Bugs: Does not ignore PHP &amp;quot;heredoc&amp;quot; strings: e.g. &amp;quot;&amp;lt;&amp;lt;&amp;lt;EOF .... EOF;&amp;quot; blocks.  It will format these as it would any other block of code.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
while(bar){&lt;br /&gt;
       if(x){&lt;br /&gt;
for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
//do stuff;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
	while(bar){&lt;br /&gt;
		if(x){&lt;br /&gt;
			for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
				//do stuff;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var lines        = input.split('\n');&lt;br /&gt;
var output       = [];&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^[ \t]+/,'').replace(/[ \t]+$/,'');}&lt;br /&gt;
&lt;br /&gt;
var countParen   = 0;&lt;br /&gt;
var countIndent  = 0;&lt;br /&gt;
var startSpaces  = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=lines.length; i&amp;lt;m; i++){&lt;br /&gt;
	var lineTrimmed  = lines[i].trim();&lt;br /&gt;
	if(lineTrimmed==''){ output.push(''); continue; }&lt;br /&gt;
&lt;br /&gt;
	var line         = lineTrimmed.replace(/(\'[^\']*\'|\&amp;quot;[^\&amp;quot;]*\&amp;quot;)/g, '');&lt;br /&gt;
	while(/\([^\)\(]*\)/g.test(line)){ line = line.replace(/\([^\)\(]*\)/g,  ''); }&lt;br /&gt;
	while(/\{[^\}\{]*\}/g.test(line)){ line = line.replace(/\{[^\}\{]*\}/g, '');  }&lt;br /&gt;
	while(/\/\//g.test(line)){         line = line.replace(/\/\/.*/g, '');        }&lt;br /&gt;
&lt;br /&gt;
	var openParen   = line.split('(').length - 1;&lt;br /&gt;
	var closeParen  = line.split(')').length - 1;&lt;br /&gt;
	var openIndent  = line.split('{').length - 1;&lt;br /&gt;
	var closeIndent = line.split('}').length - 1;&lt;br /&gt;
&lt;br /&gt;
	if(lineTrimmed.indexOf('}')==0) { // starts with }&lt;br /&gt;
		var startingClose = 0;&lt;br /&gt;
		while(lineTrimmed.substr(startingClose, 1)=='}'){ startingClose++; }&lt;br /&gt;
		var start = new Array(countIndent+1-startingClose).join('\t');&lt;br /&gt;
	}else{&lt;br /&gt;
		addSpaces = 0;&lt;br /&gt;
		if(countParen&amp;gt;0){&lt;br /&gt;
			var addSpaces    = countOpeningSpaces(lines[i]) - startSpaces[0];&lt;br /&gt;
			if(addSpaces&amp;lt;0){ addSpaces = 0; };&lt;br /&gt;
		}&lt;br /&gt;
		var start        = (new Array(countIndent+1).join('\t'))+(addSpaces?(new Array(addSpaces+1).join(' ')):'');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	output.push(start+lineTrimmed);&lt;br /&gt;
&lt;br /&gt;
	for(var j=0; j&amp;lt;closeParen; j++){ startSpaces.pop(); }&lt;br /&gt;
	for(var j=0; j&amp;lt;openParen; j++){&lt;br /&gt;
		startSpaces.push(j&amp;lt;openParen-1?0:countOpeningSpaces(lines[i]));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	countParen  += openParen - closeParen;&lt;br /&gt;
	countIndent += line.split('{').length - line.split('}').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function countOpeningSpaces(str){&lt;br /&gt;
	str = str.replace(/\t/g, '   ');&lt;br /&gt;
	return str.length - str.replace(/^ +/, '').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full Prompted RegEx Replace===&lt;br /&gt;
Description: Full reg-ex support for a normal find/replace.  It prompts you for two arguments, the first being the regex in a linux style syntax, the second being what to replace the regex with.  The first argument should look like: &amp;quot;/[re][ge]x/gi&amp;quot;, without the quotes.  Your regular expression goes between the two /'s and the &amp;quot;gi&amp;quot; at the end mean: &amp;quot;g&amp;quot; means global - you will almost always want this as it allows multiple replaces.  Without &amp;quot;g&amp;quot;, the regex will stop after the first match.  &amp;quot;i&amp;quot; means &amp;quot;ignore case&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
var arg1   = WScript.arguments(0);&lt;br /&gt;
var arg2   = WScript.arguments(1);&lt;br /&gt;
var text   = stdin.ReadAll().replace(eval(arg1), arg2);&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML Beautifier===&lt;br /&gt;
Description: Simply formats an XML document by stripping whitespace and adding it back in.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
var xml = WScript.createObject(&amp;quot;MSXML2.DomDocument&amp;quot;);&lt;br /&gt;
xml.loadXML(stdin.ReadAll().replace(/\t/g, '').replace(/\r|\n/g, '').replace(/\&amp;gt;\&amp;lt;/g, '&amp;gt;\n&amp;lt;'));&lt;br /&gt;
&lt;br /&gt;
stdout.Write(xml.xml.substr(0, xml.xml.length-2));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Alternate Function List With JS===&lt;br /&gt;
Description: It show function list like &amp;quot;Search in files&amp;quot; command: You can see the line number, and click it on.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:szalai.laszlo@freemail.hu Laszlo Szalai]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath) &amp;quot;^[ \t]*([A-Za-z0-9_]*[ \t]*function[ \t]*[A-Za-z0-9_]+\([^;]*)$&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Text filter to Output Window&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on Output Pattern... button&amp;lt;br&amp;gt;&lt;br /&gt;
UnCheck: Use default output pattern&amp;lt;br&amp;gt;&lt;br /&gt;
Regular expression: &amp;lt;tt&amp;gt;^\(([0-9]+)\)[ \t]*:&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Regular expression tags: &amp;lt;br&amp;gt;&lt;br /&gt;
File name: Not Defined&amp;lt;br&amp;gt;&lt;br /&gt;
Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Column: Not Defined&amp;lt;br&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
var rexp         = WScript.arguments(0);&lt;br /&gt;
&lt;br /&gt;
var sorok        = input.split('\n');&lt;br /&gt;
var ret          = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=sorok.length; i&amp;lt;m; i++){&lt;br /&gt;
	var sor = new String(sorok[i]);&lt;br /&gt;
&lt;br /&gt;
	xpr = new RegExp(rexp, &amp;quot;i&amp;quot;);&lt;br /&gt;
	r  = xpr.exec(sor);&lt;br /&gt;
	if(r != null) {&lt;br /&gt;
		ret.push('('+(i+1)+') \t:\t'+sor);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
stdout.Write(ret.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2009-09-16T22:01:49Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* PHP: The Extended CHM Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists a resource for user tool configurations frequently used in EditPlus.&lt;br /&gt;
&lt;br /&gt;
For information on writing your own user tool to act as a text filter, see [[writing a text filter]].&lt;br /&gt;
&lt;br /&gt;
==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop===&lt;br /&gt;
Website: http://www.prall.net/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister===&lt;br /&gt;
Website: http://www.theill.com/fl/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Program Files\Mozilla Firefox\firefox.exe (for firefox)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com/ Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;tt&amp;gt;$(CurSel)&amp;lt;/tt&amp;gt; in quotes, like &amp;lt;tt&amp;gt;&amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===External Browser Preview UserTool===&lt;br /&gt;
Website: http://www.maxthon.com/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Save current file, then Launch it in Maxthon tabbed browser.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Maxthon Browser&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Maxthon\Maxthon.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: [leave blank]&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: This command is good for keeping the internal browser preview enabled in EditPlus, but still having the extra functionality of previewing your file in other browsers.&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy===&lt;br /&gt;
Website: http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;tidy.exe -config tidyconfig.txt&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: If tidy.exe is not in the Window's Path, and you installed it to &amp;quot;C:\Program Files\Tidy&amp;quot;, set initial directory to ''C:\Program Files\Tidy''. Also, in the tidyconfig.txt file, make sure you don't have the line ''write-back: yes'', as it will write the changes to the underlying file instead of to the EditPlus window. Either change it to ''write-back: no'' or delete the line, as ''no'' is the default setting.&lt;br /&gt;
&lt;br /&gt;
Here's an example config file for Tidy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  // sample config file for HTML tidy (XHTML formating)&lt;br /&gt;
  indent: auto&lt;br /&gt;
  indent-spaces: 4&lt;br /&gt;
  wrap: 80&lt;br /&gt;
  markup: yes&lt;br /&gt;
  output-xml: no&lt;br /&gt;
  input-xml: no&lt;br /&gt;
  output-xhtml: yes&lt;br /&gt;
  show-warnings: yes&lt;br /&gt;
  numeric-entities: yes&lt;br /&gt;
  quote-marks: yes&lt;br /&gt;
  quote-nbsp: yes&lt;br /&gt;
  quote-ampersand: yes&lt;br /&gt;
  break-before-br: no&lt;br /&gt;
  uppercase-tags: no&lt;br /&gt;
  uppercase-attributes: no&lt;br /&gt;
  char-encoding: latin1&lt;br /&gt;
  new-inline-tags: cfif, cfelse, math, mroot,&lt;br /&gt;
      mrow, mi, mn, mo, msqrt, mfrac, msubsup, munderover,&lt;br /&gt;
      munder, mover, mmultiscripts, msup, msub, mtext,&lt;br /&gt;
      mprescripts, mtable, mtr, mtd, mth&lt;br /&gt;
      new-blocklevel-tags: cfoutput, cfquery&lt;br /&gt;
  new-empty-tags: cfelse&lt;br /&gt;
  logical-emphasis: yes&lt;br /&gt;
  enclose-text: yes&lt;br /&gt;
  write-back: no&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
--[[User:NOSLOW|NOSLOW]] 07:17, 20 February 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
==DotNet==&lt;br /&gt;
&lt;br /&gt;
===Compile NAnt Projects===&lt;br /&gt;
Website: http://nant.sourceforge.net&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles NAnt project for DotNet.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;nant.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(CurSel) -find&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[\t ]*(\[.+\] )?([^(]+)\(([0-9]+),([0-9]+)\)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 2&lt;br /&gt;
* Line: Tagged Expression 3&lt;br /&gt;
* Column: Tagged Expression 4&lt;br /&gt;
Tips: What you have selected when launching this tool would be treated as the target name of the build file. For instance, given that you have a &amp;quot;default.build&amp;quot; file located in the same folder as the active file, and you have selected &amp;quot;debug&amp;quot;, then launch this tool. NAnt will compile the &amp;quot;debug&amp;quot; target of the &amp;quot;default.build&amp;quot; file.&lt;br /&gt;
Please notice that there's a &amp;quot;-find&amp;quot; argument in the command line which enables Nant to search for build files in parent folders of the active file in case of no build file exists in the directory.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compile A Single C# File to Console EXE===&lt;br /&gt;
Description: Compile c# code to a console executable file (for quick testing or very-light-weight application development purpose)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\Microsoft.NET\Framework\v1.1.4322\csc &amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileName)&amp;quot; /r:System.dll /r:System.data.dll /nologo /debug&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Tips:&lt;br /&gt;
# &amp;quot;v1.1.4322&amp;quot; in &amp;quot;command&amp;quot; should be the version number of the Microsoft .Net Framework;&lt;br /&gt;
# If you need to reference more assemblies, please add more &amp;quot;/r&amp;quot; stuff in the &amp;quot;arguments&amp;quot;&lt;br /&gt;
# Please refer to the .Net Framework SDK Documentation on CSC (C Sharp Compiler) for more information about how to compile C# files. You may also consider using a &amp;quot;Responding File&amp;quot;. However, NAnt Build files should be preferred if your project goes to be complex that you need to use &amp;quot;responding files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==C/C++==&lt;br /&gt;
&lt;br /&gt;
===C/C++: Compiler===&lt;br /&gt;
Website: http://nuwen.net/mingw.html (one of the better distributions available)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles your C or C++ project using a makefile and lets you jump to problematic lines by clicking in the output window.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\MinGW\bin\make.exe&amp;lt;/tt&amp;gt; (or just 'make.exe' if you edited your environment variables)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-f makefile&amp;lt;/tt&amp;gt; (if your makefile is named 'makefile' without an extension)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^([^:]+)\:([0-9]+)\:&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 1&lt;br /&gt;
* Line: Tagged Expression 2&lt;br /&gt;
* Column: Not Defined&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)===&lt;br /&gt;
Website: http://www.java2html.de/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Converts the source code of the current Java file to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar -srcfile&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\programming\java2html\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\java.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: compile $package.$classname===&lt;br /&gt;
Description: java compile keeping my .class files seperate from my .java files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Java\jdk1.6.0\bin\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-Xlint -d c:\java\home\classes -cp c:\java\home\src;. $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this conjunction with the &amp;quot;Java: run $package.$classname&amp;quot; usertool documented below.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: run $package.$classname===&lt;br /&gt;
'''FOR WINDOWS ONLY - Requires perl'''&amp;lt;br&amp;gt;&lt;br /&gt;
Description: this perl script works out the package name of the current file (relative to my &amp;lt;tt&amp;gt;c:\java\home\src&amp;lt;/tt&amp;gt; directory)&lt;br /&gt;
and executes &amp;lt;tt&amp;gt;java.exe&amp;lt;/tt&amp;gt; on &amp;lt;tt&amp;gt;$package.$(FileNameNoExt)&amp;lt;/tt&amp;gt;... allowing me to keep my .class files separate from my .java files&amp;lt;br&amp;gt;&lt;br /&gt;
The Script:&amp;lt;tt&amp;gt;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/perl/bin/perl -w&lt;br /&gt;
$package = $ARGV[0] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$fileNameNoExt = $ARGV[1] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$package =~ s/c:\\java\\home\\src\\//i;&lt;br /&gt;
$package =~ s/\\/./g;&lt;br /&gt;
$command='&amp;quot;C:\\Program Files\\Java\\jdk1.6.0\\bin\\java&amp;quot;';&lt;br /&gt;
$args = &amp;quot;-classpath \&amp;quot;c:\\java\\home\\classes;.\&amp;quot; $package.$fileNameNoExt&amp;quot;;&lt;br /&gt;
print &amp;quot;$command $args\n&amp;quot;;&lt;br /&gt;
print `$command $args`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Perl\bin\perl.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;quot; $(FileDir) $(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this in conjunction with the &amp;quot;Java: compile $package.$classname&amp;quot; usertool documented above.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javadoc.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\appletviewer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM===&lt;br /&gt;
Website: http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in the Java API CHM help file. Make sure when adding this you click Add Tool &amp;amp;rarr; HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\jdk142.chm&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online===&lt;br /&gt;
Website: http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the Java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\Maxthon.exe&amp;lt;/tt&amp;gt; (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///C:/java_api_1.4.2/api/index.html&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: google &amp;quot;java API ${SelectedText}&amp;quot;===&lt;br /&gt;
http://google.com/&amp;lt;br&amp;gt; &lt;br /&gt;
http://www.mozilla.com/en-US/firefox/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: runs a Google search for &amp;quot;java API ${SelectedText}&amp;quot; using firefox for results in English&amp;lt;br&amp;gt;&lt;br /&gt;
Note: this is useful for finding third party (non-sun) API doco.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\firefox.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;http://www.google.com.au/search?client=firefox-a&amp;amp;rls=org.mozilla%3Aen-US%3Aofficial_s&amp;amp;hl=en&amp;amp;q=java+API+$(CurSel)&amp;amp;meta=&amp;amp;btnG=Google+Search&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt; but this doesn't really matter&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe /c type&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Perl==&lt;br /&gt;
&lt;br /&gt;
=== Perl: Syntax Check ===&lt;br /&gt;
Description: Check perl syntax.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe -c&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perl: Perltidy ===&lt;br /&gt;
Website: http://perltidy.sourceforge.net/&lt;br /&gt;
Description: Runs Perltidy on the current file.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe &amp;quot;c:\path\to\perltidy&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; -st&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
Note: You must copy Perltidy\lib\Perl to Perl\site\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Groovy==&lt;br /&gt;
website: http://groovy.codehaus.org/&lt;br /&gt;
Description: Runs your groovy scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\groovy.bat&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Liberty Basic==&lt;br /&gt;
website: http://www.libertybasic.com/ &amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles Libery Basic programs &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\liberty.exe &amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;-R -A $(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir) &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones, based on information from Peter Anderson&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\php.exe -l&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (remove HTML from error message)===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\php.exe&amp;quot; -l -d html_errors=off&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.rebelinblue.com Stephen Ball]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (use output pattern to go to line)===&lt;br /&gt;
Description: Click on error message to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
First: set up the syntax checker as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
Select: Output Pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Uncheck: Use default output pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Regular Expression: &amp;lt;code&amp;gt;^.+ in (.+) on line ([0-9]+)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
File name: Tagged Expression 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Line: Tagged Expression 2&amp;lt;br /&amp;gt;&lt;br /&gt;
Column: None&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Extended CHM Manual=== (no longer available)&lt;br /&gt;
&lt;br /&gt;
===PHP: The Online Manual===&lt;br /&gt;
Website: http://www.php.net/docs.php&lt;br /&gt;
Description: Looks up current word in the online manual for PHP&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\browser\&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : It can be faster to use the URL PHP.net resolves to for your country, like &amp;quot;ie.php.net&amp;quot;, &amp;quot;uk.php.net&amp;quot;, &amp;quot;it.php.net&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===PHP: External Browser Preview ===&lt;br /&gt;
Website: N/A&amp;lt;br&amp;gt;&lt;br /&gt;
Description: PHP Development Aide - Preview current file, server-side, source code parsed by PHP engine&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\Your\Browser.exe&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost/$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.NoviceNotes.net Jeff Sabarese]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : the EditPlus Argument &amp;quot;$(CurSel)&amp;quot; is key here, but requires adopting a source-code commenting convention. Comment each file after the opening PHP tag to indicate the current file name and path (for example: // ./MySiteDev/Location/current.php ). When ready to preview, highlight this path info before executing the User Tool (as configured above). The magic of the &amp;quot;$(CurSel)&amp;quot; Argument will effectively preview the current file, without the inherent problem of the Browser prompting to &amp;quot;Open File With...&amp;quot;. NOTE: LocalHost may be substituted for any server name-- very useful when using the FTP edit / save / upload option.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Function Prototype for built-in functions===&lt;br /&gt;
Description: Show currently selected function's prototype in the output window. Poor man's Intellisense.&amp;lt;br&amp;gt;&lt;br /&gt;
Step 1: Download &amp;quot;funcsummary.txt&amp;quot; file from PHP.net source repository  [http://cvs.php.net/viewvc.cgi/phpdoc/funcsummary.txt?view=log]&amp;lt;br&amp;gt;&lt;br /&gt;
Step 2: Create and save a php_func_hint.js file using the JScript below&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;//Nologo C:\path\to\php_func_hint.js $(CurWord)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
JScript Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var lookup = WScript.Arguments(0);&lt;br /&gt;
var fso = new ActiveXObject(&amp;quot;Scripting.FileSystemObject&amp;quot;);&lt;br /&gt;
var f = fso.OpenTextFile(&amp;quot;C:\\path\\to\\funcsummary.txt&amp;quot;, 1);&lt;br /&gt;
while(!f.AtEndOfStream)&lt;br /&gt;
{&lt;br /&gt;
  line = f.ReadLine();&lt;br /&gt;
  if(line.indexOf(' '+lookup+'(') &amp;gt; -1)&lt;br /&gt;
  {&lt;br /&gt;
    WScript.Echo(line+&amp;quot;\n&amp;quot;+f.ReadLine());&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
f.close();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Run PHP Code from command line===&lt;br /&gt;
Description: Uses the &amp;quot;-r&amp;quot; option to run a snippet of PHP code, e.g.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;c:&amp;gt;php -r &amp;quot;echo 'foo';&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\php-win.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-r &amp;quot;$(Prompt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
&lt;br /&gt;
===Python: Python Runtime===&lt;br /&gt;
Website: http://www.python.org/&lt;br /&gt;
Description: Python runtime that lets you execute your Python scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\python.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;File &amp;quot;(.+)&amp;quot;, line ([0-9]+)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression File name tag: Tagged Expression 1&lt;br /&gt;
* Regular Expression Line: Tagged Expression 2&lt;br /&gt;
&lt;br /&gt;
==LSL - Linden Scripting Language==&lt;br /&gt;
&lt;br /&gt;
===LSL: syntax checker===&lt;br /&gt;
Website: http://w-hat.com/lslint&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Checks the syntactic and semantic validity of Second Life LSL scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\lslint.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[^(]+\(\ *([0-9]+),\ *([0-9]+)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name:&lt;br /&gt;
* Line: Tagged Expression 1&lt;br /&gt;
* Column: Tagged Expression 2&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''': Remember to specify the quotes for Argument, as shown above. Otherwise you'll get &amp;quot;Couldn't open file&amp;quot; errors for filenames with spaces.&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''': Click on error message in the output window to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [mailto:wikispam-agentsam@friikki.net Sami Salin] (aka. Lecalat Starbrook @Second Life)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ruby==&lt;br /&gt;
Website: http://www.ruby-lang.org/&lt;br /&gt;
Description: Runs your ruby scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\ruby.exe (Assume you have ruby on windows installed)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Debugs your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo //d //x&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt; (or if on W95/98/ME, &amp;lt;tt&amp;gt;command.com&amp;lt;/tt&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DOS (Executing current file)===&lt;br /&gt;
Description: Execute current opened file in a DOS (cmd.exe) window.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/c &amp;quot;$(FileNameNoExt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: PIT&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF===&lt;br /&gt;
http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look similar but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\ExamDiff.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Upon running, it will open the window list.  Simply hold CTRL and select the two files you would like to compare.&amp;lt;br&amp;gt;&lt;br /&gt;
If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===BeyondCompare (2.x)===&lt;br /&gt;
[http://www.scootersoftware.com/ Scooter Software]&amp;lt;br&amp;gt;&lt;br /&gt;
Description: BeyondCompare compares two versions of a file in a graphical interface, highlighting their differences.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\BC.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Upon running, it will open the window list.  Simply hold CTRL and select the two files you would like to compare.&amp;lt;br&amp;gt;&lt;br /&gt;
If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK. If you select more than two files, only the first two will be opened in BeyondCompare.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: DZ-Jay&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Selection)===&lt;br /&gt;
Description: Opens windows explorer in the location of the path currently selected.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/select, $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files===&lt;br /&gt;
Website: http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Programming\WinMerge\WinMergeU.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run Selection===&lt;br /&gt;
Description: Runs (ShellExec) the currently selected text. It is equivallent to entering the selected text in the Windows &amp;quot;run&amp;quot; dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
This tool also works to launch URLs, explore folder paths or launch a file (with with a registered extension).&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;regedit.exe&amp;lt;/tt&amp;gt;&amp;quot; is selected, the Registry Editor application is launched (assumes %systemroot% is in your path).&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;C:\EditPlus\editplus.hlp&amp;lt;/tt&amp;gt;&amp;quot; is selected, the EditPlus help file is opened.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\system32\RunDLL32.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;shell32.dll,ShellExec_RunDLL &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Close Window on Exit: &amp;lt;tt&amp;gt;On&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version Control==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Visual SourceSafe===&lt;br /&gt;
EditPlus user tool commands to interface with command-line version of Microsoft Visual SourceSafe&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display name of current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Current Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;project&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create a new VSS project and set as current&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create / Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;create -c- -s&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set VSS project working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Working Folder&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;workfold &amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: List files in VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Directory&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;dir -c&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current file in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;status &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get a file from VSS to working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get latest version of current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get Latest Version&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkout &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display differences between current EditPlus file and version in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Difference&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;diff &amp;quot;$(FileName)&amp;quot; -ds&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Undo checkout of current EditPlus file from VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Undo Checkout&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;undocheckout &amp;quot;$(FileName)&amp;quot; -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS but keep checked out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In / Keep Checked Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -k -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS and check out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File / Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c- -k&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CS-RCS===&lt;br /&gt;
EditPlus user tool commands to interface with CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Create $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Status $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: History&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;History $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from CS-RCS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckOut $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckIn $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Subversion===&lt;br /&gt;
Description: Compare differences of current file to base SVN repository, using WinMerge.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: SVN Diff&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\file\svndiff.bat&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir) $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [http://winmerge.sourceforge.net/ WinMerge], this batch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
&lt;br /&gt;
set WC=&amp;quot;%1\%2&amp;quot;&lt;br /&gt;
set REP=&amp;quot;%1\.svn\text-base\%2.svn-base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
IF NOT EXIST %WC% goto missing&lt;br /&gt;
IF NOT EXIST %REP% goto missing&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\WinMerge\WinMerge.exe&amp;quot; %REP% %WC%&lt;br /&gt;
goto end&lt;br /&gt;
&lt;br /&gt;
:missing&lt;br /&gt;
echo File(s) missing, not diffing.&lt;br /&gt;
&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Subversion Commit====&lt;br /&gt;
Description:  Commit Files to Server with TortoiseSVN&amp;lt;br&amp;gt;&lt;br /&gt;
Prerequesits: Files should be in Working Copy (previous checkout with TortoiseSVN)&amp;lt;br&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
Menu text: SVN Commit&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe&amp;lt;/tt&amp;gt; (or similar)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/command:commit /path:&amp;quot;$(FilePath)&amp;quot; /notempfile /closeonend:0&amp;lt;/tt&amp;gt; (use &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt; if you want to commit the current file's directory)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [tortoisesvn.tigris.org/ TortoiseSVN]&lt;br /&gt;
&lt;br /&gt;
==== Subversion Update, Delete, Rename, Checkout etc ====&lt;br /&gt;
Replace /command:&amp;lt;command&amp;gt; with one of the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:about Shows the About-dialog. This is also shown if no command is given.  &lt;br /&gt;
:log Opens the log dialog. The path specifies the file or folder for which the log should be shown. Three additional options can be set: /revstart:xxx, /revend:xxx and /strict  &lt;br /&gt;
:checkout Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from.  &lt;br /&gt;
:import Opens the import dialog. The path specifies the directory with the data to import.  &lt;br /&gt;
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.  &lt;br /&gt;
:commit Opens the commit dialog. The path specifies the target directory or the list of files to commit. You can also specify the /logmsg switch to pass a predefined log message to the commit dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.  &lt;br /&gt;
:add Adds the files in /path to version control.  &lt;br /&gt;
:revert Reverts local modifications of a working copy. The /path tells which items to revert.  &lt;br /&gt;
:cleanup Cleans up interrupted or aborted operations and unlocks the working copy in /path.  &lt;br /&gt;
:resolve Marks a conflicted file specified in /path as resolved. If /noquestion is given, then resolving is done without asking the user first if it really should be done.  &lt;br /&gt;
:repocreate Creates a repository in /path  &lt;br /&gt;
:switch Opens the switch dialog. The path specifies the target directory.  &lt;br /&gt;
:export Exports the working copy in /path to another directory. If the /path points to an unversioned directory, a dialog will ask for an URL to export to the dir in /path.  &lt;br /&gt;
:merge Opens the merge dialog. The path specifies the target directory.  &lt;br /&gt;
:copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from.  &lt;br /&gt;
:settings Opens the settings dialog.  &lt;br /&gt;
:remove Removes the file(s) in /path from version control.  &lt;br /&gt;
:rename Renames the file in /path. The new name for the file is asked with a dialog.  &lt;br /&gt;
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is ommitted, then the diff is done between the file in /path and its BASE.  &lt;br /&gt;
:conflicteditor Starts the conflicteditor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.  &lt;br /&gt;
:relocate Opens the relocate dialog. The /path specifies the working copy path to relocate.  &lt;br /&gt;
:help Opens the help file.  &lt;br /&gt;
:repostatus Opens the check-for-modifications dialog. The path specifies the working copy directory.  &lt;br /&gt;
:repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD.  &lt;br /&gt;
:ignore Adds all targets in /path to the ignore list, i.e. adds the svn:ignored property to those files.  &lt;br /&gt;
:blame Opens the blame dialog for the file specified in /path.  &lt;br /&gt;
:cat Saves a file from an URL or working copy path given in /path to the location given in /savepath:path. The revision is given in /revision:xxx. This can be used to get a file with a specific revision.  &lt;br /&gt;
:createpatch Creates a patch file for the path given in /path.  &lt;br /&gt;
:revisiongraph Shows the revision graph for the path given in /path.  &lt;br /&gt;
:lock Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path  &lt;br /&gt;
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. /noquestion  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Databases==&lt;br /&gt;
&lt;br /&gt;
=== SQL Server: sqlcmd / isql ===&lt;br /&gt;
Description: Execute SQL commands using sqlcmd or isql utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: sqlcmd.exe (MSSQL 2005) or isql.exe (previous versions)&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: -S HOST -U USERNAME -P PASSWORD -e -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: Prompts for a database name and executes the selected (highlighted) statement&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: SQL*Plus ===&lt;br /&gt;
Description: Execute SQL commands using SQL*Plus utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First create and save a DOS batch file (sqlplus.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%1&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%SQL:&amp;quot;=%&amp;lt;br/&amp;gt;&lt;br /&gt;
echo %SQL%; | sqlplus USERNAME/PASSWORD@SCHEMA&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\path\to\sqlplus.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file pipes the selected statement to SQL*Plus and outputs the result.&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: Compile PL\SQL ===&lt;br /&gt;
Description: Compile PL\SQL Procedure, function, packages and triggers.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create and save a DOS batch file (compilsql.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
echo exit;|echo show errors; |sqlplus -S %1 @%2&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\(Your Path)\compilsql.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: $(Prompt) $(FileName)&amp;lt;br/&amp;gt;&lt;br /&gt;
Initial Directory : $(FileDir)&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot; and &amp;quot;Save open files&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file prompts for the username, password and Database, compiles the current file and shows the compilation errors&amp;lt;br/&amp;gt;&lt;br /&gt;
The username, password and database should be passed like this: USER/PASSWORD@DATABASE&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Raed Jribi&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window Ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot; $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Python Function List====&lt;br /&gt;
Based on the above:&lt;br /&gt;
&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /n /o /r &amp;quot;\&amp;lt;def\&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File name: None&lt;br /&gt;
* Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
* Column: Tagged Expression 2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Posted By: [http://www.nowrap.de Igor Kogan]&lt;br /&gt;
&lt;br /&gt;
===JRuler===&lt;br /&gt;
Website: http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler===&lt;br /&gt;
Website: http://www.fabsoft.com/products/ruler/ruler.html&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;br /&gt;
&lt;br /&gt;
===Markdown Syntax===&lt;br /&gt;
Website: http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip&lt;br /&gt;
Description: Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). Great for writing blog posts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;perl Markdown.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Ankit Solanki.&lt;br /&gt;
&lt;br /&gt;
N.B. You will need to specify the location of both perl and Markdown.pl - EditPlus will not find them if they are in the path.&lt;br /&gt;
&lt;br /&gt;
===Make file writeable===&lt;br /&gt;
Description: clears the read-only file attribute on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;attrib.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-R &amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Parse 1-n ranges into text, ie [0-9]===&lt;br /&gt;
Description: Parses an unlimited number of numeric, alpha, alphanumeric, hex or octal ranges into text.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Take the code and save it as a .js file. Returns 1 copy of '''exactly''' what you send it for each replacement necessary.  So if you want it to return 1 entry per line, make sure you select a linebreak when running this tool.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:  [0x00-0x20] &lt;br /&gt;
Output: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20&lt;br /&gt;
&lt;br /&gt;
Input:  Option #[1-5][A-B], or reversed: [\1][\0]&lt;br /&gt;
Output:&lt;br /&gt;
Option #1A, or reversed: A1&lt;br /&gt;
Option #1B, or reversed: B1&lt;br /&gt;
Option #2A, or reversed: A2&lt;br /&gt;
Option #2B, or reversed: B2&lt;br /&gt;
Option #3A, or reversed: A3&lt;br /&gt;
Option #3B, or reversed: B3&lt;br /&gt;
Option #4A, or reversed: A4&lt;br /&gt;
Option #4B, or reversed: B4&lt;br /&gt;
Option #5A, or reversed: A5&lt;br /&gt;
Option #5B, or reversed: B5&lt;br /&gt;
&lt;br /&gt;
Input:  [ZX-102]&lt;br /&gt;
Output:&lt;br /&gt;
ZX&lt;br /&gt;
ZY&lt;br /&gt;
ZZ&lt;br /&gt;
100&lt;br /&gt;
101&lt;br /&gt;
102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin   = WScript.StdIn;&lt;br /&gt;
var stdout  = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
Array.prototype.exists=function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find  =function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
var input, results, matches;&lt;br /&gt;
&lt;br /&gt;
var bases = [&lt;br /&gt;
	'0123456789ABCDEF',&lt;br /&gt;
	'01234567',&lt;br /&gt;
	'0123456789',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
function baseToNum(str, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = 0;&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
	if(!zeros) tbase = ' '+tbase;&lt;br /&gt;
&lt;br /&gt;
	for(var i=0, j=str.length; i&amp;lt;j; i++){&lt;br /&gt;
		var dataVal = tbase.indexOf(str.charAt(i));&lt;br /&gt;
		out         = out * cnt + dataVal;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out-(zeros?0:1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function numToBase(num, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = '';&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
&lt;br /&gt;
	if(num==0) return tbase.substr(0, 1);&lt;br /&gt;
&lt;br /&gt;
	if(zeros){&lt;br /&gt;
		while(num){&lt;br /&gt;
			out = tbase.substr(num % cnt, 1) + out;&lt;br /&gt;
			num = Math.floor(num / cnt);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		var root=1, check=1, check2=0, rttl = 0;&lt;br /&gt;
		while(num&amp;gt;=rttl){&lt;br /&gt;
			check2 = Math.pow(cnt, root++);&lt;br /&gt;
			out    = tbase.substr(Math.floor((num-rttl)/check)%cnt, 1) + out;&lt;br /&gt;
			check  = check2;&lt;br /&gt;
			rttl  += check;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getMode(str){&lt;br /&gt;
	if(str.length==0) return -1;&lt;br /&gt;
	if((str.indexOf('0x')==0) &amp;amp;&amp;amp; /^[0-9A-F]+$/.test(str.substr(2))){                     return 0;&lt;br /&gt;
	}else if((str.indexOf('0')==0) &amp;amp;&amp;amp; (str.length&amp;gt;1) &amp;amp;&amp;amp; /^[0-7]+$/.test(str.substr(1))){ return 1;&lt;br /&gt;
	}else if(/^[0-9]+$/      .test(str)){                                                return 2;&lt;br /&gt;
	}else if(/^[a-z]+$/      .test(str)){                                                return 3;&lt;br /&gt;
	}else if(/^[A-Z]+$/      .test(str)){                                                return 4;&lt;br /&gt;
	}else if(/^[A-Za-z]+$/   .test(str)){                                                return 5;&lt;br /&gt;
	}else if(/^[a-z0-9]+$/   .test(str)){                                                return 6;&lt;br /&gt;
	}else if(/^[A-Z0-9]+$/   .test(str)){                                                return 7;&lt;br /&gt;
	}else if(/^[A-Za-z0-9]+$/.test(str)){                                                return 8;&lt;br /&gt;
	}&lt;br /&gt;
	return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function strip(num){&lt;br /&gt;
	while((num.indexOf('0')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	if   ((num.indexOf('x')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	return num;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function decNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return parseInt(strip(num), 16); break;&lt;br /&gt;
		case 1: return parseInt(strip(num), 8);  break;&lt;br /&gt;
		case 2: return eval(strip(num));         break;&lt;br /&gt;
		case 3: return baseToNum(num, 3);        break;&lt;br /&gt;
		case 4: return baseToNum(num, 4);        break;&lt;br /&gt;
		case 5: return baseToNum(num, 5);        break;&lt;br /&gt;
		case 6: return parseInt(num, 36);        break;&lt;br /&gt;
		case 7: return parseInt(num, 36);        break;&lt;br /&gt;
		case 8: return baseToNum(num, 8);        break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function modeNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return num.toString(16);               break;&lt;br /&gt;
		case 1: return num.toString(8);                break;&lt;br /&gt;
		case 2: return num;                            break;&lt;br /&gt;
		case 3: return numToBase(num, 3);              break;&lt;br /&gt;
		case 4: return numToBase(num, 4);              break;&lt;br /&gt;
		case 5: return numToBase(num, 5);              break;&lt;br /&gt;
		case 6: return num.toString(36);               break;&lt;br /&gt;
		case 7: return num.toString(36).toUpperCase(); break;&lt;br /&gt;
		case 8: return numToBase(num, 8);              break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function readMode(str1, str2){&lt;br /&gt;
	var mode1 = getMode(str1);&lt;br /&gt;
	var mode2 = getMode(str2);&lt;br /&gt;
	if((mode1==-1)||(mode2==-1)) return -1;&lt;br /&gt;
	mode  = mode1&amp;gt;mode2?mode1:mode2;&lt;br /&gt;
	if(mode&amp;gt;1){&lt;br /&gt;
		var lc = [3,5,6,8].exists(mode1)||[3,5,6,8].exists(mode2);&lt;br /&gt;
		var uc = [4,5,7,8].exists(mode1)||[4,5,7,8].exists(mode2);&lt;br /&gt;
		var nm = [2,6,7,8].exists(mode1)||[2,6,7,8].exists(mode2);&lt;br /&gt;
&lt;br /&gt;
		mode = lc?uc?nm?8:5:nm?6:3:uc?nm?7:4:nm?2:1;&lt;br /&gt;
		if(mode==-1) return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	i1    = decNumber(str1, mode);&lt;br /&gt;
	i2    = decNumber(str2, mode);&lt;br /&gt;
&lt;br /&gt;
	return {mode:mode, start:i1, end:i2};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function parseData(input, depth){&lt;br /&gt;
	var out = '';&lt;br /&gt;
	var rx  = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	var rx2 = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	if(!rx.test(input)) return input;&lt;br /&gt;
&lt;br /&gt;
	var matches = rx2.exec(input);&lt;br /&gt;
	var match   = matches[1];&lt;br /&gt;
	var start   = matches[2];&lt;br /&gt;
	var end     = matches[3];&lt;br /&gt;
&lt;br /&gt;
	var sett    = readMode(start, end);&lt;br /&gt;
&lt;br /&gt;
	for(var i=sett.start, j=sett.end; i&amp;lt;=j; i++){&lt;br /&gt;
		var mn = modeNumber(i, sett.mode);&lt;br /&gt;
		out+=parseData(input.replace(match, mn).replace(new RegExp('\\[\\\\'+depth+'\\]', 'g'), mn), depth+1);&lt;br /&gt;
	}&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(parseData(stdin.ReadAll(), 0));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full RegEx Supported Replace and More!===&lt;br /&gt;
Description: Does a full regular expression replace based on the file or expression.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: The first line of whatever you send has to be the regular expression you want parsed.  The 2nd line is what you want it replaced with.  Anything on the replace line between { and } sets is eval'd in JavaScript, meaning if you can do TONS of stuff that isn't possible with normal Regular Expressions, like {$1*$2} which will multiple the first match times the second.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
/([0-9])([0-9]+)/gi&lt;br /&gt;
{Math.pow($1, {$2})}&lt;br /&gt;
26&lt;br /&gt;
55&lt;br /&gt;
12&lt;br /&gt;
21&lt;br /&gt;
222&lt;br /&gt;
555&lt;br /&gt;
---123---&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
64&lt;br /&gt;
3125&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
4194304&lt;br /&gt;
2.77555756&lt;br /&gt;
---1---&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
/(id=&amp;quot;)([0-9]+)(&amp;quot;)/gi&lt;br /&gt;
$1{$2+1}$3&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
/([\w ]+)/gi&lt;br /&gt;
{'$1'.length+' - '+'$1'}&lt;br /&gt;
this is a test&lt;br /&gt;
this is the 2nd line of code&lt;br /&gt;
3rd line&lt;br /&gt;
4th&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
14 - this is a test&lt;br /&gt;
28 - this is the 2nd line of code&lt;br /&gt;
8 - 3rd line&lt;br /&gt;
3 - 4th&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
function RepText(text){&lt;br /&gt;
	if(/.*({[^{}]+}).*/gi.test(text)){&lt;br /&gt;
		var match = text.replace(/.*({[^{}]+}).*/gi, &amp;quot;$1&amp;quot;);&lt;br /&gt;
		text      = text.replace(match, eval(match.substr(1, match.length-2)));&lt;br /&gt;
		return text;&lt;br /&gt;
	}else{&lt;br /&gt;
		return -1;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function parseText(text, RX2, RP){&lt;br /&gt;
	var matches, results=[], res&lt;br /&gt;
	var RX = eval(RX2), text2=text;&lt;br /&gt;
&lt;br /&gt;
	while(matches = RX.exec(text2)){&lt;br /&gt;
		if(matches[0]=='') continue;&lt;br /&gt;
		text = text.replace(matches[0], &amp;quot;{{MATCH}}&amp;quot;);&lt;br /&gt;
		results.push(matches[0]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for(var i=0; i&amp;lt;results.length; i++){&lt;br /&gt;
		res  = results[i].replace(RX, RP);&lt;br /&gt;
		while((result=RepText(res))!=-1) res=result;&lt;br /&gt;
		text = text.replace(&amp;quot;{{MATCH}}&amp;quot;, res);&lt;br /&gt;
	}&lt;br /&gt;
	return text;&lt;br /&gt;
}&lt;br /&gt;
var text  = stdin.ReadAll();&lt;br /&gt;
var lines = text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var RX = eval(lines[0]);&lt;br /&gt;
var RP = lines[1].replace(/\r\n/, '');&lt;br /&gt;
text   = lines.splice(2, lines.length).join('\n');&lt;br /&gt;
RP     = RP.substr(0, RP.length-1)&lt;br /&gt;
&lt;br /&gt;
text   = (/.*({[^{}]+}).*/gi.test(RP))?parseText(text, RX, RP):text.replace(RX, RP)&lt;br /&gt;
&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Spacing===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; code spacing by aligning = signs, :'s, etc.  Makes code much easier to read.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size:11px;&lt;br /&gt;
	color:#4C82D8;&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
	padding-left:10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background:white;&lt;br /&gt;
	width:800px;&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
	border:1px solid #999999;&lt;br /&gt;
	padding:0px;&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size       : 11px;&lt;br /&gt;
	color           : #4C82D8;&lt;br /&gt;
	text-decoration : none;&lt;br /&gt;
	padding-left    : 10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background      : white;&lt;br /&gt;
	width           : 800px;&lt;br /&gt;
	margin          : 0 auto;&lt;br /&gt;
	border          : 1px solid #999999;&lt;br /&gt;
	padding         : 0px;&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'=&amp;gt;'data',&lt;br /&gt;
	'another field'=&amp;gt;'some more data',&lt;br /&gt;
	'etc'=&amp;gt;'etc'&lt;br /&gt;
);&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'         =&amp;gt; 'data',&lt;br /&gt;
	'another field' =&amp;gt; 'some more data',&lt;br /&gt;
	'etc'           =&amp;gt; 'etc'&lt;br /&gt;
);&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
a=5;&lt;br /&gt;
b=20;&lt;br /&gt;
dog=30;&lt;br /&gt;
some_really_really_long_variable_name=40;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
a                                     = 5;&lt;br /&gt;
b                                     = 20;&lt;br /&gt;
dog                                   = 30;&lt;br /&gt;
some_really_really_long_variable_name = 40;&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// settings&lt;br /&gt;
&lt;br /&gt;
var ignore      = ['&amp;lt;%', '%&amp;gt;', '&amp;lt;?', '?&amp;gt;'];&lt;br /&gt;
var splitVals   = ['===', '!==', '==', '=&amp;gt;', '!=', '+=', '-=', '*=', '/=', '-&amp;gt;', '=', ':', '?'];&lt;br /&gt;
var noPreSpace  = ['?'];&lt;br /&gt;
var noPostSpace = ['?'];&lt;br /&gt;
var quoteChars  = ['&amp;quot;', &amp;quot;'&amp;quot;];&lt;br /&gt;
var escapeChar  = '\\';&lt;br /&gt;
&lt;br /&gt;
// do not edit below this line&lt;br /&gt;
&lt;br /&gt;
var stdin       = WScript.StdIn;&lt;br /&gt;
var stdout      = WScript.StdOut;&lt;br /&gt;
var input       = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var maxSplit    = 0;&lt;br /&gt;
var splits      = [];&lt;br /&gt;
var lines       = input.split('\n');&lt;br /&gt;
var output      = '';&lt;br /&gt;
var currentLine, currentSplit, inQuote, spaces, j, currentLineString, i, isSplit;&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^ +/,'').replace(/ +$/,'');}&lt;br /&gt;
Array.prototype.exists = function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find   = function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
for(var i=0; i&amp;lt;splitVals.length; i++) if(splitVals[i].length&amp;gt;maxSplit) maxSplit = splitVals[i].length;&lt;br /&gt;
&lt;br /&gt;
function doLoop(mid, end){&lt;br /&gt;
	for(i=0; i&amp;lt;lines.length; i++){&lt;br /&gt;
		currentLine  = lines[i];&lt;br /&gt;
		currentSplit = splits;&lt;br /&gt;
		inQuote      = '';&lt;br /&gt;
		curStr       = '';&lt;br /&gt;
		spaces       = 0;&lt;br /&gt;
&lt;br /&gt;
		loop2:&lt;br /&gt;
		for(j=0; j&amp;lt;currentLine.length; j++){&lt;br /&gt;
			currentLineString = currentLine.substr(j, maxSplit);&lt;br /&gt;
&lt;br /&gt;
			for(var k=0; k&amp;lt;ignore.length; k++){&lt;br /&gt;
				var splitValue = ignore[k];&lt;br /&gt;
				if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
					j      += splitValue.length-1;&lt;br /&gt;
					curStr += splitValue;&lt;br /&gt;
					continue loop2;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if(currentLineString.substr(0, 1) == escapeChar){&lt;br /&gt;
				j++;&lt;br /&gt;
				curStr += currentLineString.substr(0, 2);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if((inQuote=='') &amp;amp;&amp;amp; (quoteChars.exists(currentLineString.substr(0, 1)))){&lt;br /&gt;
				inQuote = currentLineString.substr(0, 1);&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(currentLineString.substr(0, 1)==inQuote){&lt;br /&gt;
				inQuote = '';&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(inQuote!=''){&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			isSplit = false;&lt;br /&gt;
&lt;br /&gt;
			if(mid) mid();&lt;br /&gt;
&lt;br /&gt;
			if(!isSplit) curStr += currentLineString.substr(0, 1);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(end) end();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function x(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			j += splitValue.length-1;&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function y(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			var preSpace  = ' ';&lt;br /&gt;
			var postSpace = ' ';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPreSpace.length;  l++) if(noPreSpace[l] ==splitValue) preSpace  = '';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPostSpace.length; l++) if(noPostSpace[l]==splitValue) postSpace = '';&lt;br /&gt;
&lt;br /&gt;
			j      += splitValue.length-1;&lt;br /&gt;
			var aLen = currentSplit[splitValue].max - curStr.trim().length + 1;&lt;br /&gt;
			if(aLen&amp;lt;0) alert(currentLine.substr(j));&lt;br /&gt;
			output += curStr.trim() + new Array(aLen).join(' ') + preSpace + splitValue + postSpace&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function z(){ output += curStr.trim() + '\n'; }&lt;br /&gt;
&lt;br /&gt;
doLoop(x);&lt;br /&gt;
doLoop(y, z);&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.substr(0, output.length-1));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Indentation===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; JavaScript/PHP/C++/etc code indentation by throwing away most starting indentation and replacing it based on braces &amp;amp; parenthesis.  The script will ignore spacing that is inside sets of parenthesis, i.e. function variables that are aligned.&amp;lt;br&amp;gt;&lt;br /&gt;
Known Bugs: Does not ignore PHP &amp;quot;heredoc&amp;quot; strings: e.g. &amp;quot;&amp;lt;&amp;lt;&amp;lt;EOF .... EOF;&amp;quot; blocks.  It will format these as it would any other block of code.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
══════&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
while(bar){&lt;br /&gt;
       if(x){&lt;br /&gt;
for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
//do stuff;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
══════&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
	while(bar){&lt;br /&gt;
		if(x){&lt;br /&gt;
			for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
				//do stuff;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
══════&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var lines        = input.split('\n');&lt;br /&gt;
var output       = [];&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^[ \t]+/,'').replace(/[ \t]+$/,'');}&lt;br /&gt;
&lt;br /&gt;
var countParen   = 0;&lt;br /&gt;
var countIndent  = 0;&lt;br /&gt;
var startSpaces  = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=lines.length; i&amp;lt;m; i++){&lt;br /&gt;
	var lineTrimmed  = lines[i].trim();&lt;br /&gt;
	if(lineTrimmed==''){ output.push(''); continue; }&lt;br /&gt;
&lt;br /&gt;
	var line         = lineTrimmed.replace(/(\'[^\']*\'|\&amp;quot;[^\&amp;quot;]*\&amp;quot;)/g, '');&lt;br /&gt;
	while(/\([^\)\(]*\)/g.test(line)){ line = line.replace(/\([^\)\(]*\)/g,  ''); }&lt;br /&gt;
	while(/\{[^\}\{]*\}/g.test(line)){ line = line.replace(/\{[^\}\{]*\}/g, '');  }&lt;br /&gt;
	while(/\/\//g.test(line)){         line = line.replace(/\/\/.*/g, '');        }&lt;br /&gt;
&lt;br /&gt;
	var openParen   = line.split('(').length - 1;&lt;br /&gt;
	var closeParen  = line.split(')').length - 1;&lt;br /&gt;
	var openIndent  = line.split('{').length - 1;&lt;br /&gt;
	var closeIndent = line.split('}').length - 1;&lt;br /&gt;
&lt;br /&gt;
	if(lineTrimmed.indexOf('}')==0) { // starts with }&lt;br /&gt;
		var startingClose = 0;&lt;br /&gt;
		while(lineTrimmed.substr(startingClose, 1)=='}'){ startingClose++; }&lt;br /&gt;
		var start = new Array(countIndent+1-startingClose).join('\t');&lt;br /&gt;
	}else{&lt;br /&gt;
		addSpaces = 0;&lt;br /&gt;
		if(countParen&amp;gt;0){&lt;br /&gt;
			var addSpaces    = countOpeningSpaces(lines[i]) - startSpaces[0];&lt;br /&gt;
			if(addSpaces&amp;lt;0){ addSpaces = 0; };&lt;br /&gt;
		}&lt;br /&gt;
		var start        = (new Array(countIndent+1).join('\t'))+(addSpaces?(new Array(addSpaces+1).join(' ')):'');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	output.push(start+lineTrimmed);&lt;br /&gt;
&lt;br /&gt;
	for(var j=0; j&amp;lt;closeParen; j++){ startSpaces.pop(); }&lt;br /&gt;
	for(var j=0; j&amp;lt;openParen; j++){&lt;br /&gt;
		startSpaces.push(j&amp;lt;openParen-1?0:countOpeningSpaces(lines[i]));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	countParen  += openParen - closeParen;&lt;br /&gt;
	countIndent += line.split('{').length - line.split('}').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function countOpeningSpaces(str){&lt;br /&gt;
	str = str.replace(/\t/g, '   ');&lt;br /&gt;
	return str.length - str.replace(/^ +/, '').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full Prompted RegEx Replace===&lt;br /&gt;
Description: Full reg-ex support for a normal find/replace.  It prompts you for two arguments, the first being the regex in a linux style syntax, the second being what to replace the regex with.  The first argument should look like: &amp;quot;/[re][ge]x/gi&amp;quot;, without the quotes.  Your regular expression goes between the two /'s and the &amp;quot;gi&amp;quot; at the end mean: &amp;quot;g&amp;quot; means global - you will almost always want this as it allows multiple replaces.  Without &amp;quot;g&amp;quot;, the regex will stop after the first match.  &amp;quot;i&amp;quot; means &amp;quot;ignore case&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
var arg1   = WScript.arguments(0);&lt;br /&gt;
var arg2   = WScript.arguments(1);&lt;br /&gt;
var text   = stdin.ReadAll().replace(eval(arg1), arg2);&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XML Beautifier===&lt;br /&gt;
Description: Simply formats an XML document by stripping whitespace and adding it back in.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
var xml = WScript.createObject(&amp;quot;MSXML2.DomDocument&amp;quot;);&lt;br /&gt;
xml.loadXML(stdin.ReadAll().replace(/\t/g, '').replace(/\r|\n/g, '').replace(/\&amp;gt;\&amp;lt;/g, '&amp;gt;\n&amp;lt;'));&lt;br /&gt;
&lt;br /&gt;
stdout.Write(xml.xml.substr(0, xml.xml.length-2));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Alternate Function List With JS===&lt;br /&gt;
Description: It show function list like &amp;quot;Search in files&amp;quot; command: You can see the line number, and click it on.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:szalai.laszlo@freemail.hu Laszlo Szalai]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath) &amp;quot;^[ \t]*([A-Za-z0-9_]*[ \t]*function[ \t]*[A-Za-z0-9_]+\([^;]*)$&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Text filter to Output Window&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on Output Pattern... button&amp;lt;br&amp;gt;&lt;br /&gt;
UnCheck: Use default output pattern&amp;lt;br&amp;gt;&lt;br /&gt;
Regular expression: &amp;lt;tt&amp;gt;^\(([0-9]+)\)[ \t]*:&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Regular expression tags: &amp;lt;br&amp;gt;&lt;br /&gt;
File name: Not Defined&amp;lt;br&amp;gt;&lt;br /&gt;
Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Column: Not Defined&amp;lt;br&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
var rexp         = WScript.arguments(0);&lt;br /&gt;
&lt;br /&gt;
var sorok        = input.split('\n');&lt;br /&gt;
var ret          = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=sorok.length; i&amp;lt;m; i++){&lt;br /&gt;
	var sor = new String(sorok[i]);&lt;br /&gt;
&lt;br /&gt;
	xpr = new RegExp(rexp, &amp;quot;i&amp;quot;);&lt;br /&gt;
	r  = xpr.exec(sor);&lt;br /&gt;
	if(r != null) {&lt;br /&gt;
		ret.push('('+(i+1)+') \t:\t'+sor);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
stdout.Write(ret.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2007-08-21T23:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Modified to select current file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists a resource for user tool configurations frequently used in EditPlus.&lt;br /&gt;
&lt;br /&gt;
For information on writing your own user tool to act as a text filter, see [[writing a text filter]].&lt;br /&gt;
&lt;br /&gt;
==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop===&lt;br /&gt;
Website: http://www.prall.net/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister===&lt;br /&gt;
Website: http://www.theill.com/fl/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Program Files\Mozilla Firefox\firefox.exe (for firefox)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com/ Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;tt&amp;gt;$(CurSel)&amp;lt;/tt&amp;gt; in quotes, like &amp;lt;tt&amp;gt;&amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===External Browser Preview UserTool===&lt;br /&gt;
Website: http://www.maxthon.com/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Save current file, then Launch it in Maxthon tabbed browser.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Maxthon Browser&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Maxthon\Maxthon.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: [leave blank]&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: This command is good for keeping the internal browser preview enabled in EditPlus, but still having the extra functionality of previewing your file in other browsers.&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy===&lt;br /&gt;
Website: http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;tidy.exe -config tidyconfig.txt&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DotNet==&lt;br /&gt;
&lt;br /&gt;
===Compile NAnt Projects===&lt;br /&gt;
Website: http://nant.sourceforge.net&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles NAnt project for DotNet.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;nant.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(CurSel) -find&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[\t ]*(\[.+\] )?([^(]+)\(([0-9]+),([0-9]+)\)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 2&lt;br /&gt;
* Line: Tagged Expression 3&lt;br /&gt;
* Column: Tagged Expression 4&lt;br /&gt;
Tips: What you have selected when launching this tool would be treated as the target name of the build file. For instance, given that you have a &amp;quot;default.build&amp;quot; file located in the same folder as the active file, and you have selected &amp;quot;debug&amp;quot;, then launch this tool. NAnt will compile the &amp;quot;debug&amp;quot; target of the &amp;quot;default.build&amp;quot; file.&lt;br /&gt;
Please notice that there's a &amp;quot;-find&amp;quot; argument in the command line which enables Nant to search for build files in parent folders of the active file in case of no build file exists in the directory.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compile A Single C# File to Console EXE===&lt;br /&gt;
Description: Compile c# code to a console executable file (for quick testing or very-light-weight application development purpose)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\Microsoft.NET\Framework\v1.1.4322\csc &amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileName)&amp;quot; /r:System.dll /r:System.data.dll /nologo /debug&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Tips:&lt;br /&gt;
# &amp;quot;v1.1.4322&amp;quot; in &amp;quot;command&amp;quot; should be the version number of the Microsoft .Net Framework;&lt;br /&gt;
# If you need to reference more assemblies, please add more &amp;quot;/r&amp;quot; stuff in the &amp;quot;arguments&amp;quot;&lt;br /&gt;
# Please refer to the .Net Framework SDK Documentation on CSC (C Sharp Compiler) for more information about how to compile C# files. You may also consider using a &amp;quot;Responding File&amp;quot;. However, NAnt Build files should be preferred if your project goes to be complex that you need to use &amp;quot;responding files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)===&lt;br /&gt;
Website: http://www.java2html.de/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Converts the source code of the current Java file to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar -srcfile&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\programming\java2html\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\java.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: compile $package.$classname===&lt;br /&gt;
Description: java compile keeping my .class files seperate from my .java files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Java\jdk1.6.0\bin\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-Xlint -d c:\java\home\classes -cp c:\java\home\src;. $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this conjunction with the &amp;quot;Java: run $package.$classname&amp;quot; usertool documented below.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: run $package.$classname===&lt;br /&gt;
'''FOR WINDOWS ONLY - Requires perl'''&amp;lt;br&amp;gt;&lt;br /&gt;
Description: this perl script works out the package name of the current file (relative to my &amp;lt;tt&amp;gt;c:\java\home\src&amp;lt;/tt&amp;gt; directory)&lt;br /&gt;
and executes &amp;lt;tt&amp;gt;java.exe&amp;lt;/tt&amp;gt; on &amp;lt;tt&amp;gt;$package.$(FileNameNoExt)&amp;lt;/tt&amp;gt;... allowing me to keep my .class files separate from my .java files&amp;lt;br&amp;gt;&lt;br /&gt;
The Script:&amp;lt;tt&amp;gt;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/perl/bin/perl -w&lt;br /&gt;
$package = $ARGV[0] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$fileNameNoExt = $ARGV[1] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$package =~ s/c:\\java\\home\\src\\//i;&lt;br /&gt;
$package =~ s/\\/./g;&lt;br /&gt;
$command='&amp;quot;C:\\Program Files\\Java\\jdk1.6.0\\bin\\java&amp;quot;';&lt;br /&gt;
$args = &amp;quot;-classpath \&amp;quot;c:\\java\\home\\classes;.\&amp;quot; $package.$fileNameNoExt&amp;quot;;&lt;br /&gt;
print &amp;quot;$command $args\n&amp;quot;;&lt;br /&gt;
print `$command $args`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Perl\bin\perl.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;quot; $(FileDir) $(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this in conjunction with the &amp;quot;Java: compile $package.$classname&amp;quot; usertool documented above.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javadoc.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\appletviewer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM===&lt;br /&gt;
Website: http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in the Java API CHM help file. Make sure when adding this you click Add Tool &amp;amp;rarr; HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\jdk142.chm&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online===&lt;br /&gt;
Website: http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the Java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\Maxthon.exe&amp;lt;/tt&amp;gt; (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///C:/java_api_1.4.2/api/index.html&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: google &amp;quot;java API ${SelectedText}&amp;quot;===&lt;br /&gt;
http://google.com/&amp;lt;br&amp;gt; &lt;br /&gt;
http://www.mozilla.com/en-US/firefox/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: runs a Google search for &amp;quot;java API ${SelectedText}&amp;quot; using firefox for results in English&amp;lt;br&amp;gt;&lt;br /&gt;
Note: this is useful for finding third party (non-sun) API doco.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\firefox.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;http://www.google.com.au/search?client=firefox-a&amp;amp;rls=org.mozilla%3Aen-US%3Aofficial_s&amp;amp;hl=en&amp;amp;q=java+API+$(CurSel)&amp;amp;meta=&amp;amp;btnG=Google+Search&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt; but this doesn't really matter&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe /c type&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Perl==&lt;br /&gt;
&lt;br /&gt;
=== Perl: Syntax Check ===&lt;br /&gt;
Description: Check perl syntax.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe -c&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perl: Perltidy ===&lt;br /&gt;
Website: http://perltidy.sourceforge.net/&lt;br /&gt;
Description: Runs Perltidy on the current file.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe &amp;quot;c:\path\to\perltidy&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; -st&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
Note: You must copy Perltidy\lib\Perl to Perl\site\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Groovy==&lt;br /&gt;
website: http://groovy.codehaus.org/&lt;br /&gt;
Description: Runs your groovy scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\groovy.bat&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\php.exe -l&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (remove HTML from error message)===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\php.exe&amp;quot; -l -d html_errors=off&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.rebelinblue.com Stephen Ball]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (use output pattern to go to line)===&lt;br /&gt;
Description: Click on error message to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
First: set up the syntax checker as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
Select: Output Pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Uncheck: Use default output pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Regular Expression: &amp;lt;code&amp;gt;^.+ in (.+) on line ([0-9]+)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
File name: Tagged Expression 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Line: Tagged Expression 2&amp;lt;br /&amp;gt;&lt;br /&gt;
Column: None&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Extended CHM Manual===&lt;br /&gt;
Website: http://www.php.net/docs-echm.php&lt;br /&gt;
Add Tool &amp;amp;rarr; HTML help file (*.chm) &amp;amp;rarr; Point to php_manual_en.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version. Be sure to run php_manual_prefs.exe to set the configuration how you like it. I recommend selecting the phpZ skin. It gives a lot of extra options such as a breadcrumb for easy navigation, &amp;quot;Navigate to this page online&amp;quot;, seperated user comments from help example, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Online Manual===&lt;br /&gt;
Website: http://www.php.net/docs.php&lt;br /&gt;
Description: Looks up current word in the online manual for PHP&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\browser\&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : It can be faster to use the URL PHP.net resolves to for your country, like &amp;quot;ie.php.net&amp;quot;, &amp;quot;uk.php.net&amp;quot;, &amp;quot;it.php.net&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===PHP: External Browser Preview ===&lt;br /&gt;
Website: N/A&amp;lt;br&amp;gt;&lt;br /&gt;
Description: PHP Development Aide - Preview current file, server-side, source code parsed by PHP engine&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\Your\Browser.exe&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost/$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.NoviceNotes.net Jeff Sabarese]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : the EditPlus Argument &amp;quot;$(CurSel)&amp;quot; is key here, but requires adopting a source-code commenting convention. Comment each file after the opening PHP tag to indicate the current file name and path (for example: // ./MySiteDev/Location/current.php ). When ready to preview, highlight this path info before executing the User Tool (as configured above). The magic of the &amp;quot;$(CurSel)&amp;quot; Argument will effectively preview the current file, without the inherent problem of the Browser prompting to &amp;quot;Open File With...&amp;quot;. NOTE: LocalHost may be substituted for any server name-- very useful when using the FTP edit / save / upload option.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Function Prototype for built-in functions===&lt;br /&gt;
Description: Show currently selected function's prototype in the output window. Poor man's Intellisense.&amp;lt;br&amp;gt;&lt;br /&gt;
Step 1: Download and uncompress the PHP Manual as &amp;quot;Many HTML Files&amp;quot; from [http://www.php.net/download-docs.php php.net]&amp;lt;br&amp;gt;&lt;br /&gt;
Step 2: Run the PHP script below to produce a single text file of the built-in function prototypes.&amp;lt;br /&amp;gt;&lt;br /&gt;
Step 3: Create and save a php_func_hint.js file using the JScript below&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;//Nologo C:\path\to\php_func_hint.js $(CurWord)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
PHP Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$path = 'C:\path\to\php_manual_html_files';&lt;br /&gt;
$d = scandir($path);&lt;br /&gt;
$fp = fopen($path.'\php_func_list.txt', 'w');&lt;br /&gt;
foreach($d as $f){&lt;br /&gt;
  if(strpos($f,'function.')!==false){&lt;br /&gt;
    $c = file_get_contents($path.'\\'.$f);&lt;br /&gt;
    preg_match('@CLASS=&amp;quot;methodname&amp;quot;(.*?\))@s',$c, $m);&lt;br /&gt;
    $func = strip_tags(str_replace(&amp;quot;\n&amp;quot;, '', $m[1]));&lt;br /&gt;
    fwrite($fp, $func.&amp;quot;\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
fclose($fp);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
JScript Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var lookup = WScript.Arguments(0);&lt;br /&gt;
fso = new ActiveXObject(&amp;quot;Scripting.FileSystemObject&amp;quot;);&lt;br /&gt;
f = fso.OpenTextFile(&amp;quot;C:\\path\\to\\php_func_list.txt&amp;quot;, 1);&lt;br /&gt;
while(!f.AtEndOfStream)&lt;br /&gt;
{&lt;br /&gt;
  line = f.ReadLine();&lt;br /&gt;
  if(line.substr(0, lookup.length+1) == lookup+&amp;quot; &amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    WScript.Echo(line);&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
f.close();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Run PHP Code from command line===&lt;br /&gt;
Description: Uses the &amp;quot;-r&amp;quot; option to run a snippet of PHP code, e.g.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;c:&amp;gt;php -r &amp;quot;echo 'foo';&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\php-win.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-r &amp;quot;$(Prompt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
&lt;br /&gt;
===Python: Python Runtime===&lt;br /&gt;
Website: http://www.python.org/&lt;br /&gt;
Description: Python runtime that lets you execute your Python scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\python.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;File &amp;quot;(.+)&amp;quot;, line ([0-9]+)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression File name tag: Tagged Expression 1&lt;br /&gt;
* Regular Expression Line: Tagged Expression 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruby==&lt;br /&gt;
Website: http://www.ruby-lang.org/&lt;br /&gt;
Description: Runs your ruby scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\ruby.exe (Assume you have ruby on windows installed)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Debugs your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo //d //x&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt; (or if on W95/98/ME, &amp;lt;tt&amp;gt;command.com&amp;lt;/tt&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF===&lt;br /&gt;
http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look similar but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\ExamDiff.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Upon running, it will open the window list.  Simple hold CTRL and select the two files you would like to compare.&amp;lt;br&amp;gt;&lt;br /&gt;
If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Selection)===&lt;br /&gt;
Description: Opens windows explorer in the location of the path currently selected.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/select, $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files===&lt;br /&gt;
Website: http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Programming\WinMerge\WinMergeU.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run Selection===&lt;br /&gt;
Description: Runs (ShellExec) the currently selected text. It is equivallent to entering the selected text in the Windows &amp;quot;run&amp;quot; dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
This tool also works to launch URLs, explore folder paths or launch a file (with with a registered extension).&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;regedit.exe&amp;lt;/tt&amp;gt;&amp;quot; is selected, the Registry Editor application is launched (assumes %systemroot% is in your path).&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;C:\EditPlus\editplus.hlp&amp;lt;/tt&amp;gt;&amp;quot; is selected, the EditPlus help file is opened.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\system32\RunDLL32.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;shell32.dll,ShellExec_RunDLL &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Close Window on Exit: &amp;lt;tt&amp;gt;On&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version Control==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Visual SourceSafe===&lt;br /&gt;
EditPlus user tool commands to interface with command-line version of Microsoft Visual SourceSafe&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display name of current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Current Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;project&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create a new VSS project and set as current&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create / Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;create -c- -s&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set VSS project working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Working Folder&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;workfold &amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: List files in VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Directory&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;dir -c&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current file in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;status &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get a file from VSS to working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get latest version of current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get Latest Version&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkout &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display differences between current EditPlus file and version in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Difference&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;diff &amp;quot;$(FileName)&amp;quot; -ds&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Undo checkout of current EditPlus file from VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Undo Checkout&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;undocheckout &amp;quot;$(FileName)&amp;quot; -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS but keep checked out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In / Keep Checked Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -k -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS and check out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File / Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c- -k&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CS-RCS===&lt;br /&gt;
EditPlus user tool commands to interface with CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Create $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Status $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: History&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;History $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from CS-RCS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckOut $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckIn $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Subversion===&lt;br /&gt;
Description: Compare differences of current file to base SVN repository, using WinMerge.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: SVN Diff&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\file\svndiff.bat&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir) $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [http://winmerge.sourceforge.net/ WinMerge], this batch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
&lt;br /&gt;
set WC=&amp;quot;%1\%2&amp;quot;&lt;br /&gt;
set REP=&amp;quot;%1\.svn\text-base\%2.svn-base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
IF NOT EXIST %WC% goto missing&lt;br /&gt;
IF NOT EXIST %REP% goto missing&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\WinMerge\WinMerge.exe&amp;quot; %REP% %WC%&lt;br /&gt;
goto end&lt;br /&gt;
&lt;br /&gt;
:missing&lt;br /&gt;
echo File(s) missing, not diffing.&lt;br /&gt;
&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Subversion Commit====&lt;br /&gt;
Description:  Commit Files to Server with TortoiseSVN&amp;lt;br&amp;gt;&lt;br /&gt;
Prerequesits: Files should be in Working Copy (previous checkout with TortoiseSVN)&amp;lt;br&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
Menu text: SVN Commit&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe&amp;lt;/tt&amp;gt; (or similar)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/command:commit /path:&amp;quot;$(FilePath)&amp;quot; /notempfile /closeonend&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [tortoisesvn.tigris.org/ TortoiseSVN]&lt;br /&gt;
&lt;br /&gt;
==== Subversion Update, Delete, Rename, Checkout etc ====&lt;br /&gt;
Replace /command:&amp;lt;command&amp;gt; with one of the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:about Shows the About-dialog. This is also shown if no command is given.  &lt;br /&gt;
:log Opens the log dialog. The path specifies the file or folder for which the log should be shown. Three additional options can be set: /revstart:xxx, /revend:xxx and /strict  &lt;br /&gt;
:checkout Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from.  &lt;br /&gt;
:import Opens the import dialog. The path specifies the directory with the data to import.  &lt;br /&gt;
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.  &lt;br /&gt;
:commit Opens the commit dialog. The path specifies the target directory or the list of files to commit. You can also specify the /logmsg switch to pass a predefined log message to the commit dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.  &lt;br /&gt;
:add Adds the files in /path to version control.  &lt;br /&gt;
:revert Reverts local modifications of a working copy. The /path tells which items to revert.  &lt;br /&gt;
:cleanup Cleans up interrupted or aborted operations and unlocks the working copy in /path.  &lt;br /&gt;
:resolve Marks a conflicted file specified in /path as resolved. If /noquestion is given, then resolving is done without asking the user first if it really should be done.  &lt;br /&gt;
:repocreate Creates a repository in /path  &lt;br /&gt;
:switch Opens the switch dialog. The path specifies the target directory.  &lt;br /&gt;
:export Exports the working copy in /path to another directory. If the /path points to an unversioned directory, a dialog will ask for an URL to export to the dir in /path.  &lt;br /&gt;
:merge Opens the merge dialog. The path specifies the target directory.  &lt;br /&gt;
:copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from.  &lt;br /&gt;
:settings Opens the settings dialog.  &lt;br /&gt;
:remove Removes the file(s) in /path from version control.  &lt;br /&gt;
:rename Renames the file in /path. The new name for the file is asked with a dialog.  &lt;br /&gt;
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is ommitted, then the diff is done between the file in /path and its BASE.  &lt;br /&gt;
:conflicteditor Starts the conflicteditor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.  &lt;br /&gt;
:relocate Opens the relocate dialog. The /path specifies the working copy path to relocate.  &lt;br /&gt;
:help Opens the help file.  &lt;br /&gt;
:repostatus Opens the check-for-modifications dialog. The path specifies the working copy directory.  &lt;br /&gt;
:repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD.  &lt;br /&gt;
:ignore Adds all targets in /path to the ignore list, i.e. adds the svn:ignored property to those files.  &lt;br /&gt;
:blame Opens the blame dialog for the file specified in /path.  &lt;br /&gt;
:cat Saves a file from an URL or working copy path given in /path to the location given in /savepath:path. The revision is given in /revision:xxx. This can be used to get a file with a specific revision.  &lt;br /&gt;
:createpatch Creates a patch file for the path given in /path.  &lt;br /&gt;
:revisiongraph Shows the revision graph for the path given in /path.  &lt;br /&gt;
:lock Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path  &lt;br /&gt;
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. /noquestion  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Databases==&lt;br /&gt;
&lt;br /&gt;
=== SQL Server: sqlcmd / isql ===&lt;br /&gt;
Description: Execute SQL commands using sqlcmd or isql utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: sqlcmd.exe (MSSQL 2005) or isql.exe (previous versions)&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: -S HOST -U USERNAME -P PASSWORD -e -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: Prompts for a database name and executes the selected (highlighted) statement&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: SQL*Plus ===&lt;br /&gt;
Description: Execute SQL commands using SQL*Plus utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First create and save a DOS batch file (sqlplus.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%1&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%SQL:&amp;quot;=%&amp;lt;br/&amp;gt;&lt;br /&gt;
echo %SQL%; | sqlplus USERNAME/PASSWORD@SCHEMA&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\path\to\sqlplus.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file pipes the selected statement to SQL*Plus and outputs the result.&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window Ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot; $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Python Function List====&lt;br /&gt;
Based on the above:&lt;br /&gt;
&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /n /o /r &amp;quot;\&amp;lt;def\&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File name: None&lt;br /&gt;
* Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
* Column: Tagged Expression 2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Posted By: [http://www.nowrap.de Igor Kogan]&lt;br /&gt;
&lt;br /&gt;
===JRuler===&lt;br /&gt;
Website: http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler===&lt;br /&gt;
Website: http://www.fabsoft.com/products/ruler/ruler.html&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;br /&gt;
&lt;br /&gt;
===Markdown Syntax===&lt;br /&gt;
Website: http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip&lt;br /&gt;
Description: Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). Great for writing blog posts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;perl Markdown.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Ankit Solanki.&lt;br /&gt;
&lt;br /&gt;
N.B. You will need to specify the location of both perl and Markdown.pl - EditPlus will not find them if they are in the path.&lt;br /&gt;
&lt;br /&gt;
===Make file writeable===&lt;br /&gt;
Description: clears the read-only file attribute on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;attrib.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-R &amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Parse 1-n ranges into text, ie [0-9]===&lt;br /&gt;
Description: Parses an unlimited number of numeric, alpha, alphanumeric, hex or octal ranges into text.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Take the code and save it as a .js file. Returns 1 copy of '''exactly''' what you send it for each replacement necessary.  So if you want it to return 1 entry per line, make sure you select a linebreak when running this tool.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:  [0x00-0x20] &lt;br /&gt;
Output: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20&lt;br /&gt;
&lt;br /&gt;
Input:  Option #[1-5][A-B], or reversed: [\1][\0]&lt;br /&gt;
Output:&lt;br /&gt;
Option #1A, or reversed: A1&lt;br /&gt;
Option #1B, or reversed: B1&lt;br /&gt;
Option #2A, or reversed: A2&lt;br /&gt;
Option #2B, or reversed: B2&lt;br /&gt;
Option #3A, or reversed: A3&lt;br /&gt;
Option #3B, or reversed: B3&lt;br /&gt;
Option #4A, or reversed: A4&lt;br /&gt;
Option #4B, or reversed: B4&lt;br /&gt;
Option #5A, or reversed: A5&lt;br /&gt;
Option #5B, or reversed: B5&lt;br /&gt;
&lt;br /&gt;
Input:  [ZX-102]&lt;br /&gt;
Output:&lt;br /&gt;
ZX&lt;br /&gt;
ZY&lt;br /&gt;
ZZ&lt;br /&gt;
100&lt;br /&gt;
101&lt;br /&gt;
102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin   = WScript.StdIn;&lt;br /&gt;
var stdout  = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
Array.prototype.exists=function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find  =function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
var input, results, matches;&lt;br /&gt;
&lt;br /&gt;
var bases = [&lt;br /&gt;
	'0123456789ABCDEF',&lt;br /&gt;
	'01234567',&lt;br /&gt;
	'0123456789',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
function baseToNum(str, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = 0;&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
	if(!zeros) tbase = ' '+tbase;&lt;br /&gt;
&lt;br /&gt;
	for(var i=0, j=str.length; i&amp;lt;j; i++){&lt;br /&gt;
		var dataVal = tbase.indexOf(str.charAt(i));&lt;br /&gt;
		out         = out * cnt + dataVal;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out-(zeros?0:1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function numToBase(num, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = '';&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
&lt;br /&gt;
	if(num==0) return tbase.substr(0, 1);&lt;br /&gt;
&lt;br /&gt;
	if(zeros){&lt;br /&gt;
		while(num){&lt;br /&gt;
			out = tbase.substr(num % cnt, 1) + out;&lt;br /&gt;
			num = Math.floor(num / cnt);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		var root=1, check=1, check2=0, rttl = 0;&lt;br /&gt;
		while(num&amp;gt;=rttl){&lt;br /&gt;
			check2 = Math.pow(cnt, root++);&lt;br /&gt;
			out    = tbase.substr(Math.floor((num-rttl)/check)%cnt, 1) + out;&lt;br /&gt;
			check  = check2;&lt;br /&gt;
			rttl  += check;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getMode(str){&lt;br /&gt;
	if(str.length==0) return -1;&lt;br /&gt;
	if((str.indexOf('0x')==0) &amp;amp;&amp;amp; /^[0-9A-F]+$/.test(str.substr(2))){                     return 0;&lt;br /&gt;
	}else if((str.indexOf('0')==0) &amp;amp;&amp;amp; (str.length&amp;gt;1) &amp;amp;&amp;amp; /^[0-7]+$/.test(str.substr(1))){ return 1;&lt;br /&gt;
	}else if(/^[0-9]+$/      .test(str)){                                                return 2;&lt;br /&gt;
	}else if(/^[a-z]+$/      .test(str)){                                                return 3;&lt;br /&gt;
	}else if(/^[A-Z]+$/      .test(str)){                                                return 4;&lt;br /&gt;
	}else if(/^[A-Za-z]+$/   .test(str)){                                                return 5;&lt;br /&gt;
	}else if(/^[a-z0-9]+$/   .test(str)){                                                return 6;&lt;br /&gt;
	}else if(/^[A-Z0-9]+$/   .test(str)){                                                return 7;&lt;br /&gt;
	}else if(/^[A-Za-z0-9]+$/.test(str)){                                                return 8;&lt;br /&gt;
	}&lt;br /&gt;
	return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function strip(num){&lt;br /&gt;
	while((num.indexOf('0')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	if   ((num.indexOf('x')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	return num;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function decNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return parseInt(strip(num), 16); break;&lt;br /&gt;
		case 1: return parseInt(strip(num), 8);  break;&lt;br /&gt;
		case 2: return eval(strip(num));         break;&lt;br /&gt;
		case 3: return baseToNum(num, 3);        break;&lt;br /&gt;
		case 4: return baseToNum(num, 4);        break;&lt;br /&gt;
		case 5: return baseToNum(num, 5);        break;&lt;br /&gt;
		case 6: return parseInt(num, 36);        break;&lt;br /&gt;
		case 7: return parseInt(num, 36);        break;&lt;br /&gt;
		case 8: return baseToNum(num, 8);        break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function modeNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return num.toString(16);               break;&lt;br /&gt;
		case 1: return num.toString(8);                break;&lt;br /&gt;
		case 2: return num;                            break;&lt;br /&gt;
		case 3: return numToBase(num, 3);              break;&lt;br /&gt;
		case 4: return numToBase(num, 4);              break;&lt;br /&gt;
		case 5: return numToBase(num, 5);              break;&lt;br /&gt;
		case 6: return num.toString(36);               break;&lt;br /&gt;
		case 7: return num.toString(36).toUpperCase(); break;&lt;br /&gt;
		case 8: return numToBase(num, 8);              break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function readMode(str1, str2){&lt;br /&gt;
	var mode1 = getMode(str1);&lt;br /&gt;
	var mode2 = getMode(str2);&lt;br /&gt;
	if((mode1==-1)||(mode2==-1)) return -1;&lt;br /&gt;
	mode  = mode1&amp;gt;mode2?mode1:mode2;&lt;br /&gt;
	if(mode&amp;gt;1){&lt;br /&gt;
		var lc = [3,5,6,8].exists(mode1)||[3,5,6,8].exists(mode2);&lt;br /&gt;
		var uc = [4,5,7,8].exists(mode1)||[4,5,7,8].exists(mode2);&lt;br /&gt;
		var nm = [2,6,7,8].exists(mode1)||[2,6,7,8].exists(mode2);&lt;br /&gt;
&lt;br /&gt;
		mode = lc?uc?nm?8:5:nm?6:3:uc?nm?7:4:nm?2:1;&lt;br /&gt;
		if(mode==-1) return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	i1    = decNumber(str1, mode);&lt;br /&gt;
	i2    = decNumber(str2, mode);&lt;br /&gt;
&lt;br /&gt;
	return {mode:mode, start:i1, end:i2};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function parseData(input, depth){&lt;br /&gt;
	var out = '';&lt;br /&gt;
	var rx  = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	var rx2 = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	if(!rx.test(input)) return input;&lt;br /&gt;
&lt;br /&gt;
	var matches = rx2.exec(input);&lt;br /&gt;
	var match   = matches[1];&lt;br /&gt;
	var start   = matches[2];&lt;br /&gt;
	var end     = matches[3];&lt;br /&gt;
&lt;br /&gt;
	var sett    = readMode(start, end);&lt;br /&gt;
&lt;br /&gt;
	for(var i=sett.start, j=sett.end; i&amp;lt;=j; i++){&lt;br /&gt;
		var mn = modeNumber(i, sett.mode);&lt;br /&gt;
		out+=parseData(input.replace(match, mn).replace(new RegExp('\\[\\\\'+depth+'\\]', 'g'), mn), depth+1);&lt;br /&gt;
	}&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(parseData(stdin.ReadAll(), 0));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full RegEx Supported Replace and More!===&lt;br /&gt;
Description: Does a full regular expression replace based on the file or expression.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: The first line of whatever you send has to be the regular expression you want parsed.  The 2nd line is what you want it replaced with.  Anything on the replace line between { and } sets is eval'd in JavaScript, meaning if you can do TONS of stuff that isn't possible with normal Regular Expressions, like {$1*$2} which will multiple the first match times the second.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/([0-9])([0-9]+)/gi&lt;br /&gt;
{Math.pow($1, {$2})}&lt;br /&gt;
26&lt;br /&gt;
55&lt;br /&gt;
12&lt;br /&gt;
21&lt;br /&gt;
222&lt;br /&gt;
555&lt;br /&gt;
---123---&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
64&lt;br /&gt;
3125&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
4194304&lt;br /&gt;
2.77555756&lt;br /&gt;
---1---&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/(id=&amp;quot;)([0-9]+)(&amp;quot;)/gi&lt;br /&gt;
$1{$2+1}$3&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/([\w ]+)/gi&lt;br /&gt;
{'$1'.length+' - '+'$1'}&lt;br /&gt;
this is a test&lt;br /&gt;
this is the 2nd line of code&lt;br /&gt;
3rd line&lt;br /&gt;
4th&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
14 - this is a test&lt;br /&gt;
28 - this is the 2nd line of code&lt;br /&gt;
8 - 3rd line&lt;br /&gt;
3 - 4th&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
function RepText(text){&lt;br /&gt;
	if(/.*({[^{}]+}).*/gi.test(text)){&lt;br /&gt;
		var match = text.replace(/.*({[^{}]+}).*/gi, &amp;quot;$1&amp;quot;);&lt;br /&gt;
		text      = text.replace(match, eval(match.substr(1, match.length-2)));&lt;br /&gt;
		return text;&lt;br /&gt;
	}else{&lt;br /&gt;
		return -1;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function parseText(text, RX2, RP){&lt;br /&gt;
	var matches, results=[], res&lt;br /&gt;
	var RX = eval(RX2), text2=text;&lt;br /&gt;
&lt;br /&gt;
	while(matches = RX.exec(text2)){&lt;br /&gt;
		if(matches[0]=='') continue;&lt;br /&gt;
		text = text.replace(matches[0], &amp;quot;{{MATCH}}&amp;quot;);&lt;br /&gt;
		results.push(matches[0]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for(var i=0; i&amp;lt;results.length; i++){&lt;br /&gt;
		res  = results[i].replace(RX, RP);&lt;br /&gt;
		while((result=RepText(res))!=-1) res=result;&lt;br /&gt;
		text = text.replace(&amp;quot;{{MATCH}}&amp;quot;, res);&lt;br /&gt;
	}&lt;br /&gt;
	return text;&lt;br /&gt;
}&lt;br /&gt;
var text  = stdin.ReadAll();&lt;br /&gt;
var lines = text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var RX = eval(lines[0]);&lt;br /&gt;
var RP = lines[1].replace(/\r\n/, '');&lt;br /&gt;
text   = lines.splice(2, lines.length).join('\n');&lt;br /&gt;
RP     = RP.substr(0, RP.length-1)&lt;br /&gt;
&lt;br /&gt;
text   = (/.*({[^{}]+}).*/gi.test(RP))?parseText(text, RX, RP):text.replace(RX, RP)&lt;br /&gt;
&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Spacing===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; code spacing by aligning = signs, :'s, etc.  Makes code much easier to read.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size:11px;&lt;br /&gt;
	color:#4C82D8;&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
	padding-left:10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background:white;&lt;br /&gt;
	width:800px;&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
	border:1px solid #999999;&lt;br /&gt;
	padding:0px;&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size       : 11px;&lt;br /&gt;
	color           : #4C82D8;&lt;br /&gt;
	text-decoration : none;&lt;br /&gt;
	padding-left    : 10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background      : white;&lt;br /&gt;
	width           : 800px;&lt;br /&gt;
	margin          : 0 auto;&lt;br /&gt;
	border          : 1px solid #999999;&lt;br /&gt;
	padding         : 0px;&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'=&amp;gt;'data',&lt;br /&gt;
	'another field'=&amp;gt;'some more data',&lt;br /&gt;
	'etc'=&amp;gt;'etc'&lt;br /&gt;
);&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'         =&amp;gt; 'data',&lt;br /&gt;
	'another field' =&amp;gt; 'some more data',&lt;br /&gt;
	'etc'           =&amp;gt; 'etc'&lt;br /&gt;
);&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
a=5;&lt;br /&gt;
b=20;&lt;br /&gt;
dog=30;&lt;br /&gt;
some_really_really_long_variable_name=40;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
a                                     = 5;&lt;br /&gt;
b                                     = 20;&lt;br /&gt;
dog                                   = 30;&lt;br /&gt;
some_really_really_long_variable_name = 40;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// settings&lt;br /&gt;
&lt;br /&gt;
var ignore      = ['&amp;lt;%', '%&amp;gt;', '&amp;lt;?', '?&amp;gt;'];&lt;br /&gt;
var splitVals   = ['===', '!==', '==', '=&amp;gt;', '!=', '+=', '-=', '*=', '/=', '-&amp;gt;', '=', ':', '?'];&lt;br /&gt;
var noPreSpace  = ['?'];&lt;br /&gt;
var noPostSpace = ['?'];&lt;br /&gt;
var quoteChars  = ['&amp;quot;', &amp;quot;'&amp;quot;];&lt;br /&gt;
var escapeChar  = '\\';&lt;br /&gt;
&lt;br /&gt;
// do not edit below this line&lt;br /&gt;
&lt;br /&gt;
var stdin       = WScript.StdIn;&lt;br /&gt;
var stdout      = WScript.StdOut;&lt;br /&gt;
var input       = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var maxSplit    = 0;&lt;br /&gt;
var splits      = [];&lt;br /&gt;
var lines       = input.split('\n');&lt;br /&gt;
var output      = '';&lt;br /&gt;
var currentLine, currentSplit, inQuote, spaces, j, currentLineString, i, isSplit;&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^ +/,'').replace(/ +$/,'');}&lt;br /&gt;
Array.prototype.exists = function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find   = function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
for(var i=0; i&amp;lt;splitVals.length; i++) if(splitVals[i].length&amp;gt;maxSplit) maxSplit = splitVals[i].length;&lt;br /&gt;
&lt;br /&gt;
function doLoop(mid, end){&lt;br /&gt;
	for(i=0; i&amp;lt;lines.length; i++){&lt;br /&gt;
		currentLine  = lines[i];&lt;br /&gt;
		currentSplit = splits;&lt;br /&gt;
		inQuote      = '';&lt;br /&gt;
		curStr       = '';&lt;br /&gt;
		spaces       = 0;&lt;br /&gt;
&lt;br /&gt;
		loop2:&lt;br /&gt;
		for(j=0; j&amp;lt;currentLine.length; j++){&lt;br /&gt;
			currentLineString = currentLine.substr(j, maxSplit);&lt;br /&gt;
&lt;br /&gt;
			for(var k=0; k&amp;lt;ignore.length; k++){&lt;br /&gt;
				var splitValue = ignore[k];&lt;br /&gt;
				if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
					j      += splitValue.length-1;&lt;br /&gt;
					curStr += splitValue;&lt;br /&gt;
					continue loop2;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if(currentLineString.substr(0, 1) == escapeChar){&lt;br /&gt;
				j++;&lt;br /&gt;
				curStr += currentLineString.substr(0, 2);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if((inQuote=='') &amp;amp;&amp;amp; (quoteChars.exists(currentLineString.substr(0, 1)))){&lt;br /&gt;
				inQuote = currentLineString.substr(0, 1);&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(currentLineString.substr(0, 1)==inQuote){&lt;br /&gt;
				inQuote = '';&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(inQuote!=''){&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			isSplit = false;&lt;br /&gt;
&lt;br /&gt;
			if(mid) mid();&lt;br /&gt;
&lt;br /&gt;
			if(!isSplit) curStr += currentLineString.substr(0, 1);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(end) end();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function x(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			j += splitValue.length-1;&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function y(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			var preSpace  = ' ';&lt;br /&gt;
			var postSpace = ' ';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPreSpace.length;  l++) if(noPreSpace[l] ==splitValue) preSpace  = '';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPostSpace.length; l++) if(noPostSpace[l]==splitValue) postSpace = '';&lt;br /&gt;
&lt;br /&gt;
			j      += splitValue.length-1;&lt;br /&gt;
			var aLen = currentSplit[splitValue].max - curStr.trim().length + 1;&lt;br /&gt;
			if(aLen&amp;lt;0) alert(currentLine.substr(j));&lt;br /&gt;
			output += curStr.trim() + new Array(aLen).join(' ') + preSpace + splitValue + postSpace&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function z(){ output += curStr.trim() + '\n'; }&lt;br /&gt;
&lt;br /&gt;
doLoop(x);&lt;br /&gt;
doLoop(y, z);&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.substr(0, output.length-1));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Indentation===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; JavaScript/PHP/C++/etc code indentation by throwing away most starting indentation and replacing it based on braces &amp;amp; parenthesis.  The script will ignore spacing that is inside sets of parenthesis, i.e. function variables that are aligned.&amp;lt;br&amp;gt;&lt;br /&gt;
Known Bugs: Does not ignore PHP &amp;quot;heredoc&amp;quot; strings: e.g. &amp;quot;&amp;lt;&amp;lt;&amp;lt;EOF .... EOF;&amp;quot; blocks.  It will format these as it would any other block of code.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
while(bar){&lt;br /&gt;
       if(x){&lt;br /&gt;
for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
//do stuff;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
	while(bar){&lt;br /&gt;
		if(x){&lt;br /&gt;
			for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
				//do stuff;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var lines        = input.split('\n');&lt;br /&gt;
var output       = [];&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^[ \t]+/,'').replace(/[ \t]+$/,'');}&lt;br /&gt;
&lt;br /&gt;
var countParen   = 0;&lt;br /&gt;
var countIndent  = 0;&lt;br /&gt;
var startSpaces  = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=lines.length; i&amp;lt;m; i++){&lt;br /&gt;
	var lineTrimmed  = lines[i].trim();&lt;br /&gt;
	if(lineTrimmed==''){ output.push(''); continue; }&lt;br /&gt;
&lt;br /&gt;
	var line         = lineTrimmed.replace(/(\'[^\']*\'|\&amp;quot;[^\&amp;quot;]*\&amp;quot;)/g, '');&lt;br /&gt;
	while(/\([^\)\(]*\)/g.test(line)){ line = line.replace(/\([^\)\(]*\)/g,  ''); }&lt;br /&gt;
	while(/\{[^\}\{]*\}/g.test(line)){ line = line.replace(/\{[^\}\{]*\}/g, '');  }&lt;br /&gt;
	while(/\/\//g.test(line)){         line = line.replace(/\/\/.*/g, '');        }&lt;br /&gt;
&lt;br /&gt;
	var openParen   = line.split('(').length - 1;&lt;br /&gt;
	var closeParen  = line.split(')').length - 1;&lt;br /&gt;
	var openIndent  = line.split('{').length - 1;&lt;br /&gt;
	var closeIndent = line.split('}').length - 1;&lt;br /&gt;
&lt;br /&gt;
	if(lineTrimmed.indexOf('}')==0) { // starts with }&lt;br /&gt;
		var startingClose = 0;&lt;br /&gt;
		while(lineTrimmed.substr(startingClose, 1)=='}'){ startingClose++; }&lt;br /&gt;
		var start = new Array(countIndent+1-startingClose).join('\t');&lt;br /&gt;
	}else{&lt;br /&gt;
		addSpaces = 0;&lt;br /&gt;
		if(countParen&amp;gt;0){&lt;br /&gt;
			var addSpaces    = countOpeningSpaces(lines[i]) - startSpaces[0];&lt;br /&gt;
			if(addSpaces&amp;lt;0){ addSpaces = 0; };&lt;br /&gt;
		}&lt;br /&gt;
		var start        = (new Array(countIndent+1).join('\t'))+(addSpaces?(new Array(addSpaces+1).join(' ')):'');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	output.push(start+lineTrimmed);&lt;br /&gt;
&lt;br /&gt;
	for(var j=0; j&amp;lt;closeParen; j++){ startSpaces.pop(); }&lt;br /&gt;
	for(var j=0; j&amp;lt;openParen; j++){&lt;br /&gt;
		startSpaces.push(j&amp;lt;openParen-1?0:countOpeningSpaces(lines[i]));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	countParen  += openParen - closeParen;&lt;br /&gt;
	countIndent += line.split('{').length - line.split('}').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function countOpeningSpaces(str){&lt;br /&gt;
	str = str.replace(/\t/g, '   ');&lt;br /&gt;
	return str.length - str.replace(/^ +/, '').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2007-08-21T23:12:32Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* ExamDIFF */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists a resource for user tool configurations frequently used in EditPlus.&lt;br /&gt;
&lt;br /&gt;
For information on writing your own user tool to act as a text filter, see [[writing a text filter]].&lt;br /&gt;
&lt;br /&gt;
==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop===&lt;br /&gt;
Website: http://www.prall.net/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister===&lt;br /&gt;
Website: http://www.theill.com/fl/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Program Files\Mozilla Firefox\firefox.exe (for firefox)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com/ Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;tt&amp;gt;$(CurSel)&amp;lt;/tt&amp;gt; in quotes, like &amp;lt;tt&amp;gt;&amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===External Browser Preview UserTool===&lt;br /&gt;
Website: http://www.maxthon.com/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Save current file, then Launch it in Maxthon tabbed browser.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Maxthon Browser&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Maxthon\Maxthon.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: [leave blank]&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: This command is good for keeping the internal browser preview enabled in EditPlus, but still having the extra functionality of previewing your file in other browsers.&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy===&lt;br /&gt;
Website: http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;tidy.exe -config tidyconfig.txt&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DotNet==&lt;br /&gt;
&lt;br /&gt;
===Compile NAnt Projects===&lt;br /&gt;
Website: http://nant.sourceforge.net&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles NAnt project for DotNet.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;nant.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(CurSel) -find&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[\t ]*(\[.+\] )?([^(]+)\(([0-9]+),([0-9]+)\)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 2&lt;br /&gt;
* Line: Tagged Expression 3&lt;br /&gt;
* Column: Tagged Expression 4&lt;br /&gt;
Tips: What you have selected when launching this tool would be treated as the target name of the build file. For instance, given that you have a &amp;quot;default.build&amp;quot; file located in the same folder as the active file, and you have selected &amp;quot;debug&amp;quot;, then launch this tool. NAnt will compile the &amp;quot;debug&amp;quot; target of the &amp;quot;default.build&amp;quot; file.&lt;br /&gt;
Please notice that there's a &amp;quot;-find&amp;quot; argument in the command line which enables Nant to search for build files in parent folders of the active file in case of no build file exists in the directory.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compile A Single C# File to Console EXE===&lt;br /&gt;
Description: Compile c# code to a console executable file (for quick testing or very-light-weight application development purpose)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\Microsoft.NET\Framework\v1.1.4322\csc &amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileName)&amp;quot; /r:System.dll /r:System.data.dll /nologo /debug&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Tips:&lt;br /&gt;
# &amp;quot;v1.1.4322&amp;quot; in &amp;quot;command&amp;quot; should be the version number of the Microsoft .Net Framework;&lt;br /&gt;
# If you need to reference more assemblies, please add more &amp;quot;/r&amp;quot; stuff in the &amp;quot;arguments&amp;quot;&lt;br /&gt;
# Please refer to the .Net Framework SDK Documentation on CSC (C Sharp Compiler) for more information about how to compile C# files. You may also consider using a &amp;quot;Responding File&amp;quot;. However, NAnt Build files should be preferred if your project goes to be complex that you need to use &amp;quot;responding files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)===&lt;br /&gt;
Website: http://www.java2html.de/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Converts the source code of the current Java file to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar -srcfile&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\programming\java2html\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\java.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: compile $package.$classname===&lt;br /&gt;
Description: java compile keeping my .class files seperate from my .java files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Java\jdk1.6.0\bin\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-Xlint -d c:\java\home\classes -cp c:\java\home\src;. $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this conjunction with the &amp;quot;Java: run $package.$classname&amp;quot; usertool documented below.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: run $package.$classname===&lt;br /&gt;
'''FOR WINDOWS ONLY - Requires perl'''&amp;lt;br&amp;gt;&lt;br /&gt;
Description: this perl script works out the package name of the current file (relative to my &amp;lt;tt&amp;gt;c:\java\home\src&amp;lt;/tt&amp;gt; directory)&lt;br /&gt;
and executes &amp;lt;tt&amp;gt;java.exe&amp;lt;/tt&amp;gt; on &amp;lt;tt&amp;gt;$package.$(FileNameNoExt)&amp;lt;/tt&amp;gt;... allowing me to keep my .class files separate from my .java files&amp;lt;br&amp;gt;&lt;br /&gt;
The Script:&amp;lt;tt&amp;gt;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/perl/bin/perl -w&lt;br /&gt;
$package = $ARGV[0] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$fileNameNoExt = $ARGV[1] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$package =~ s/c:\\java\\home\\src\\//i;&lt;br /&gt;
$package =~ s/\\/./g;&lt;br /&gt;
$command='&amp;quot;C:\\Program Files\\Java\\jdk1.6.0\\bin\\java&amp;quot;';&lt;br /&gt;
$args = &amp;quot;-classpath \&amp;quot;c:\\java\\home\\classes;.\&amp;quot; $package.$fileNameNoExt&amp;quot;;&lt;br /&gt;
print &amp;quot;$command $args\n&amp;quot;;&lt;br /&gt;
print `$command $args`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Perl\bin\perl.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;quot; $(FileDir) $(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this in conjunction with the &amp;quot;Java: compile $package.$classname&amp;quot; usertool documented above.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javadoc.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\appletviewer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM===&lt;br /&gt;
Website: http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in the Java API CHM help file. Make sure when adding this you click Add Tool &amp;amp;rarr; HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\jdk142.chm&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online===&lt;br /&gt;
Website: http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the Java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\Maxthon.exe&amp;lt;/tt&amp;gt; (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///C:/java_api_1.4.2/api/index.html&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: google &amp;quot;java API ${SelectedText}&amp;quot;===&lt;br /&gt;
http://google.com/&amp;lt;br&amp;gt; &lt;br /&gt;
http://www.mozilla.com/en-US/firefox/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: runs a Google search for &amp;quot;java API ${SelectedText}&amp;quot; using firefox for results in English&amp;lt;br&amp;gt;&lt;br /&gt;
Note: this is useful for finding third party (non-sun) API doco.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\firefox.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;http://www.google.com.au/search?client=firefox-a&amp;amp;rls=org.mozilla%3Aen-US%3Aofficial_s&amp;amp;hl=en&amp;amp;q=java+API+$(CurSel)&amp;amp;meta=&amp;amp;btnG=Google+Search&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt; but this doesn't really matter&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe /c type&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Perl==&lt;br /&gt;
&lt;br /&gt;
=== Perl: Syntax Check ===&lt;br /&gt;
Description: Check perl syntax.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe -c&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perl: Perltidy ===&lt;br /&gt;
Website: http://perltidy.sourceforge.net/&lt;br /&gt;
Description: Runs Perltidy on the current file.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe &amp;quot;c:\path\to\perltidy&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; -st&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
Note: You must copy Perltidy\lib\Perl to Perl\site\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Groovy==&lt;br /&gt;
website: http://groovy.codehaus.org/&lt;br /&gt;
Description: Runs your groovy scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\groovy.bat&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\php.exe -l&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (remove HTML from error message)===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\php.exe&amp;quot; -l -d html_errors=off&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.rebelinblue.com Stephen Ball]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (use output pattern to go to line)===&lt;br /&gt;
Description: Click on error message to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
First: set up the syntax checker as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
Select: Output Pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Uncheck: Use default output pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Regular Expression: &amp;lt;code&amp;gt;^.+ in (.+) on line ([0-9]+)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
File name: Tagged Expression 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Line: Tagged Expression 2&amp;lt;br /&amp;gt;&lt;br /&gt;
Column: None&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Extended CHM Manual===&lt;br /&gt;
Website: http://www.php.net/docs-echm.php&lt;br /&gt;
Add Tool &amp;amp;rarr; HTML help file (*.chm) &amp;amp;rarr; Point to php_manual_en.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version. Be sure to run php_manual_prefs.exe to set the configuration how you like it. I recommend selecting the phpZ skin. It gives a lot of extra options such as a breadcrumb for easy navigation, &amp;quot;Navigate to this page online&amp;quot;, seperated user comments from help example, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Online Manual===&lt;br /&gt;
Website: http://www.php.net/docs.php&lt;br /&gt;
Description: Looks up current word in the online manual for PHP&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\browser\&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : It can be faster to use the URL PHP.net resolves to for your country, like &amp;quot;ie.php.net&amp;quot;, &amp;quot;uk.php.net&amp;quot;, &amp;quot;it.php.net&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===PHP: External Browser Preview ===&lt;br /&gt;
Website: N/A&amp;lt;br&amp;gt;&lt;br /&gt;
Description: PHP Development Aide - Preview current file, server-side, source code parsed by PHP engine&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\Your\Browser.exe&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost/$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.NoviceNotes.net Jeff Sabarese]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : the EditPlus Argument &amp;quot;$(CurSel)&amp;quot; is key here, but requires adopting a source-code commenting convention. Comment each file after the opening PHP tag to indicate the current file name and path (for example: // ./MySiteDev/Location/current.php ). When ready to preview, highlight this path info before executing the User Tool (as configured above). The magic of the &amp;quot;$(CurSel)&amp;quot; Argument will effectively preview the current file, without the inherent problem of the Browser prompting to &amp;quot;Open File With...&amp;quot;. NOTE: LocalHost may be substituted for any server name-- very useful when using the FTP edit / save / upload option.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Function Prototype for built-in functions===&lt;br /&gt;
Description: Show currently selected function's prototype in the output window. Poor man's Intellisense.&amp;lt;br&amp;gt;&lt;br /&gt;
Step 1: Download and uncompress the PHP Manual as &amp;quot;Many HTML Files&amp;quot; from [http://www.php.net/download-docs.php php.net]&amp;lt;br&amp;gt;&lt;br /&gt;
Step 2: Run the PHP script below to produce a single text file of the built-in function prototypes.&amp;lt;br /&amp;gt;&lt;br /&gt;
Step 3: Create and save a php_func_hint.js file using the JScript below&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;//Nologo C:\path\to\php_func_hint.js $(CurWord)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
PHP Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$path = 'C:\path\to\php_manual_html_files';&lt;br /&gt;
$d = scandir($path);&lt;br /&gt;
$fp = fopen($path.'\php_func_list.txt', 'w');&lt;br /&gt;
foreach($d as $f){&lt;br /&gt;
  if(strpos($f,'function.')!==false){&lt;br /&gt;
    $c = file_get_contents($path.'\\'.$f);&lt;br /&gt;
    preg_match('@CLASS=&amp;quot;methodname&amp;quot;(.*?\))@s',$c, $m);&lt;br /&gt;
    $func = strip_tags(str_replace(&amp;quot;\n&amp;quot;, '', $m[1]));&lt;br /&gt;
    fwrite($fp, $func.&amp;quot;\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
fclose($fp);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
JScript Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var lookup = WScript.Arguments(0);&lt;br /&gt;
fso = new ActiveXObject(&amp;quot;Scripting.FileSystemObject&amp;quot;);&lt;br /&gt;
f = fso.OpenTextFile(&amp;quot;C:\\path\\to\\php_func_list.txt&amp;quot;, 1);&lt;br /&gt;
while(!f.AtEndOfStream)&lt;br /&gt;
{&lt;br /&gt;
  line = f.ReadLine();&lt;br /&gt;
  if(line.substr(0, lookup.length+1) == lookup+&amp;quot; &amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    WScript.Echo(line);&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
f.close();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Run PHP Code from command line===&lt;br /&gt;
Description: Uses the &amp;quot;-r&amp;quot; option to run a snippet of PHP code, e.g.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;c:&amp;gt;php -r &amp;quot;echo 'foo';&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\php-win.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-r &amp;quot;$(Prompt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
&lt;br /&gt;
===Python: Python Runtime===&lt;br /&gt;
Website: http://www.python.org/&lt;br /&gt;
Description: Python runtime that lets you execute your Python scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\python.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;File &amp;quot;(.+)&amp;quot;, line ([0-9]+)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression File name tag: Tagged Expression 1&lt;br /&gt;
* Regular Expression Line: Tagged Expression 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruby==&lt;br /&gt;
Website: http://www.ruby-lang.org/&lt;br /&gt;
Description: Runs your ruby scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\ruby.exe (Assume you have ruby on windows installed)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Debugs your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo //d //x&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt; (or if on W95/98/ME, &amp;lt;tt&amp;gt;command.com&amp;lt;/tt&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF===&lt;br /&gt;
http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look similar but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\ExamDiff.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Upon running, it will open the window list.  Simple hold CTRL and select the two files you would like to compare.&amp;lt;br&amp;gt;&lt;br /&gt;
If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Selection)===&lt;br /&gt;
Description: Opens windows explorer in the location of the path currently selected.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/e, /select, &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files===&lt;br /&gt;
Website: http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Programming\WinMerge\WinMergeU.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run Selection===&lt;br /&gt;
Description: Runs (ShellExec) the currently selected text. It is equivallent to entering the selected text in the Windows &amp;quot;run&amp;quot; dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
This tool also works to launch URLs, explore folder paths or launch a file (with with a registered extension).&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;regedit.exe&amp;lt;/tt&amp;gt;&amp;quot; is selected, the Registry Editor application is launched (assumes %systemroot% is in your path).&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;C:\EditPlus\editplus.hlp&amp;lt;/tt&amp;gt;&amp;quot; is selected, the EditPlus help file is opened.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\system32\RunDLL32.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;shell32.dll,ShellExec_RunDLL &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Close Window on Exit: &amp;lt;tt&amp;gt;On&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version Control==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Visual SourceSafe===&lt;br /&gt;
EditPlus user tool commands to interface with command-line version of Microsoft Visual SourceSafe&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display name of current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Current Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;project&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create a new VSS project and set as current&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create / Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;create -c- -s&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set VSS project working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Working Folder&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;workfold &amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: List files in VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Directory&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;dir -c&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current file in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;status &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get a file from VSS to working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get latest version of current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get Latest Version&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkout &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display differences between current EditPlus file and version in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Difference&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;diff &amp;quot;$(FileName)&amp;quot; -ds&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Undo checkout of current EditPlus file from VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Undo Checkout&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;undocheckout &amp;quot;$(FileName)&amp;quot; -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS but keep checked out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In / Keep Checked Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -k -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS and check out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File / Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c- -k&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CS-RCS===&lt;br /&gt;
EditPlus user tool commands to interface with CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Create $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Status $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: History&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;History $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from CS-RCS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckOut $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckIn $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Subversion===&lt;br /&gt;
Description: Compare differences of current file to base SVN repository, using WinMerge.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: SVN Diff&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\file\svndiff.bat&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir) $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [http://winmerge.sourceforge.net/ WinMerge], this batch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
&lt;br /&gt;
set WC=&amp;quot;%1\%2&amp;quot;&lt;br /&gt;
set REP=&amp;quot;%1\.svn\text-base\%2.svn-base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
IF NOT EXIST %WC% goto missing&lt;br /&gt;
IF NOT EXIST %REP% goto missing&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\WinMerge\WinMerge.exe&amp;quot; %REP% %WC%&lt;br /&gt;
goto end&lt;br /&gt;
&lt;br /&gt;
:missing&lt;br /&gt;
echo File(s) missing, not diffing.&lt;br /&gt;
&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Subversion Commit====&lt;br /&gt;
Description:  Commit Files to Server with TortoiseSVN&amp;lt;br&amp;gt;&lt;br /&gt;
Prerequesits: Files should be in Working Copy (previous checkout with TortoiseSVN)&amp;lt;br&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
Menu text: SVN Commit&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe&amp;lt;/tt&amp;gt; (or similar)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/command:commit /path:&amp;quot;$(FilePath)&amp;quot; /notempfile /closeonend&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [tortoisesvn.tigris.org/ TortoiseSVN]&lt;br /&gt;
&lt;br /&gt;
==== Subversion Update, Delete, Rename, Checkout etc ====&lt;br /&gt;
Replace /command:&amp;lt;command&amp;gt; with one of the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:about Shows the About-dialog. This is also shown if no command is given.  &lt;br /&gt;
:log Opens the log dialog. The path specifies the file or folder for which the log should be shown. Three additional options can be set: /revstart:xxx, /revend:xxx and /strict  &lt;br /&gt;
:checkout Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from.  &lt;br /&gt;
:import Opens the import dialog. The path specifies the directory with the data to import.  &lt;br /&gt;
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.  &lt;br /&gt;
:commit Opens the commit dialog. The path specifies the target directory or the list of files to commit. You can also specify the /logmsg switch to pass a predefined log message to the commit dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.  &lt;br /&gt;
:add Adds the files in /path to version control.  &lt;br /&gt;
:revert Reverts local modifications of a working copy. The /path tells which items to revert.  &lt;br /&gt;
:cleanup Cleans up interrupted or aborted operations and unlocks the working copy in /path.  &lt;br /&gt;
:resolve Marks a conflicted file specified in /path as resolved. If /noquestion is given, then resolving is done without asking the user first if it really should be done.  &lt;br /&gt;
:repocreate Creates a repository in /path  &lt;br /&gt;
:switch Opens the switch dialog. The path specifies the target directory.  &lt;br /&gt;
:export Exports the working copy in /path to another directory. If the /path points to an unversioned directory, a dialog will ask for an URL to export to the dir in /path.  &lt;br /&gt;
:merge Opens the merge dialog. The path specifies the target directory.  &lt;br /&gt;
:copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from.  &lt;br /&gt;
:settings Opens the settings dialog.  &lt;br /&gt;
:remove Removes the file(s) in /path from version control.  &lt;br /&gt;
:rename Renames the file in /path. The new name for the file is asked with a dialog.  &lt;br /&gt;
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is ommitted, then the diff is done between the file in /path and its BASE.  &lt;br /&gt;
:conflicteditor Starts the conflicteditor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.  &lt;br /&gt;
:relocate Opens the relocate dialog. The /path specifies the working copy path to relocate.  &lt;br /&gt;
:help Opens the help file.  &lt;br /&gt;
:repostatus Opens the check-for-modifications dialog. The path specifies the working copy directory.  &lt;br /&gt;
:repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD.  &lt;br /&gt;
:ignore Adds all targets in /path to the ignore list, i.e. adds the svn:ignored property to those files.  &lt;br /&gt;
:blame Opens the blame dialog for the file specified in /path.  &lt;br /&gt;
:cat Saves a file from an URL or working copy path given in /path to the location given in /savepath:path. The revision is given in /revision:xxx. This can be used to get a file with a specific revision.  &lt;br /&gt;
:createpatch Creates a patch file for the path given in /path.  &lt;br /&gt;
:revisiongraph Shows the revision graph for the path given in /path.  &lt;br /&gt;
:lock Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path  &lt;br /&gt;
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. /noquestion  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Databases==&lt;br /&gt;
&lt;br /&gt;
=== SQL Server: sqlcmd / isql ===&lt;br /&gt;
Description: Execute SQL commands using sqlcmd or isql utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: sqlcmd.exe (MSSQL 2005) or isql.exe (previous versions)&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: -S HOST -U USERNAME -P PASSWORD -e -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: Prompts for a database name and executes the selected (highlighted) statement&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: SQL*Plus ===&lt;br /&gt;
Description: Execute SQL commands using SQL*Plus utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First create and save a DOS batch file (sqlplus.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%1&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%SQL:&amp;quot;=%&amp;lt;br/&amp;gt;&lt;br /&gt;
echo %SQL%; | sqlplus USERNAME/PASSWORD@SCHEMA&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\path\to\sqlplus.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file pipes the selected statement to SQL*Plus and outputs the result.&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window Ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot; $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Python Function List====&lt;br /&gt;
Based on the above:&lt;br /&gt;
&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /n /o /r &amp;quot;\&amp;lt;def\&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File name: None&lt;br /&gt;
* Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
* Column: Tagged Expression 2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Posted By: [http://www.nowrap.de Igor Kogan]&lt;br /&gt;
&lt;br /&gt;
===JRuler===&lt;br /&gt;
Website: http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler===&lt;br /&gt;
Website: http://www.fabsoft.com/products/ruler/ruler.html&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;br /&gt;
&lt;br /&gt;
===Markdown Syntax===&lt;br /&gt;
Website: http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip&lt;br /&gt;
Description: Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). Great for writing blog posts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;perl Markdown.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Ankit Solanki.&lt;br /&gt;
&lt;br /&gt;
N.B. You will need to specify the location of both perl and Markdown.pl - EditPlus will not find them if they are in the path.&lt;br /&gt;
&lt;br /&gt;
===Make file writeable===&lt;br /&gt;
Description: clears the read-only file attribute on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;attrib.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-R &amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Parse 1-n ranges into text, ie [0-9]===&lt;br /&gt;
Description: Parses an unlimited number of numeric, alpha, alphanumeric, hex or octal ranges into text.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Take the code and save it as a .js file. Returns 1 copy of '''exactly''' what you send it for each replacement necessary.  So if you want it to return 1 entry per line, make sure you select a linebreak when running this tool.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:  [0x00-0x20] &lt;br /&gt;
Output: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20&lt;br /&gt;
&lt;br /&gt;
Input:  Option #[1-5][A-B], or reversed: [\1][\0]&lt;br /&gt;
Output:&lt;br /&gt;
Option #1A, or reversed: A1&lt;br /&gt;
Option #1B, or reversed: B1&lt;br /&gt;
Option #2A, or reversed: A2&lt;br /&gt;
Option #2B, or reversed: B2&lt;br /&gt;
Option #3A, or reversed: A3&lt;br /&gt;
Option #3B, or reversed: B3&lt;br /&gt;
Option #4A, or reversed: A4&lt;br /&gt;
Option #4B, or reversed: B4&lt;br /&gt;
Option #5A, or reversed: A5&lt;br /&gt;
Option #5B, or reversed: B5&lt;br /&gt;
&lt;br /&gt;
Input:  [ZX-102]&lt;br /&gt;
Output:&lt;br /&gt;
ZX&lt;br /&gt;
ZY&lt;br /&gt;
ZZ&lt;br /&gt;
100&lt;br /&gt;
101&lt;br /&gt;
102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin   = WScript.StdIn;&lt;br /&gt;
var stdout  = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
Array.prototype.exists=function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find  =function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
var input, results, matches;&lt;br /&gt;
&lt;br /&gt;
var bases = [&lt;br /&gt;
	'0123456789ABCDEF',&lt;br /&gt;
	'01234567',&lt;br /&gt;
	'0123456789',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
function baseToNum(str, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = 0;&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
	if(!zeros) tbase = ' '+tbase;&lt;br /&gt;
&lt;br /&gt;
	for(var i=0, j=str.length; i&amp;lt;j; i++){&lt;br /&gt;
		var dataVal = tbase.indexOf(str.charAt(i));&lt;br /&gt;
		out         = out * cnt + dataVal;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out-(zeros?0:1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function numToBase(num, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = '';&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
&lt;br /&gt;
	if(num==0) return tbase.substr(0, 1);&lt;br /&gt;
&lt;br /&gt;
	if(zeros){&lt;br /&gt;
		while(num){&lt;br /&gt;
			out = tbase.substr(num % cnt, 1) + out;&lt;br /&gt;
			num = Math.floor(num / cnt);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		var root=1, check=1, check2=0, rttl = 0;&lt;br /&gt;
		while(num&amp;gt;=rttl){&lt;br /&gt;
			check2 = Math.pow(cnt, root++);&lt;br /&gt;
			out    = tbase.substr(Math.floor((num-rttl)/check)%cnt, 1) + out;&lt;br /&gt;
			check  = check2;&lt;br /&gt;
			rttl  += check;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getMode(str){&lt;br /&gt;
	if(str.length==0) return -1;&lt;br /&gt;
	if((str.indexOf('0x')==0) &amp;amp;&amp;amp; /^[0-9A-F]+$/.test(str.substr(2))){                     return 0;&lt;br /&gt;
	}else if((str.indexOf('0')==0) &amp;amp;&amp;amp; (str.length&amp;gt;1) &amp;amp;&amp;amp; /^[0-7]+$/.test(str.substr(1))){ return 1;&lt;br /&gt;
	}else if(/^[0-9]+$/      .test(str)){                                                return 2;&lt;br /&gt;
	}else if(/^[a-z]+$/      .test(str)){                                                return 3;&lt;br /&gt;
	}else if(/^[A-Z]+$/      .test(str)){                                                return 4;&lt;br /&gt;
	}else if(/^[A-Za-z]+$/   .test(str)){                                                return 5;&lt;br /&gt;
	}else if(/^[a-z0-9]+$/   .test(str)){                                                return 6;&lt;br /&gt;
	}else if(/^[A-Z0-9]+$/   .test(str)){                                                return 7;&lt;br /&gt;
	}else if(/^[A-Za-z0-9]+$/.test(str)){                                                return 8;&lt;br /&gt;
	}&lt;br /&gt;
	return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function strip(num){&lt;br /&gt;
	while((num.indexOf('0')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	if   ((num.indexOf('x')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	return num;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function decNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return parseInt(strip(num), 16); break;&lt;br /&gt;
		case 1: return parseInt(strip(num), 8);  break;&lt;br /&gt;
		case 2: return eval(strip(num));         break;&lt;br /&gt;
		case 3: return baseToNum(num, 3);        break;&lt;br /&gt;
		case 4: return baseToNum(num, 4);        break;&lt;br /&gt;
		case 5: return baseToNum(num, 5);        break;&lt;br /&gt;
		case 6: return parseInt(num, 36);        break;&lt;br /&gt;
		case 7: return parseInt(num, 36);        break;&lt;br /&gt;
		case 8: return baseToNum(num, 8);        break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function modeNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return num.toString(16);               break;&lt;br /&gt;
		case 1: return num.toString(8);                break;&lt;br /&gt;
		case 2: return num;                            break;&lt;br /&gt;
		case 3: return numToBase(num, 3);              break;&lt;br /&gt;
		case 4: return numToBase(num, 4);              break;&lt;br /&gt;
		case 5: return numToBase(num, 5);              break;&lt;br /&gt;
		case 6: return num.toString(36);               break;&lt;br /&gt;
		case 7: return num.toString(36).toUpperCase(); break;&lt;br /&gt;
		case 8: return numToBase(num, 8);              break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function readMode(str1, str2){&lt;br /&gt;
	var mode1 = getMode(str1);&lt;br /&gt;
	var mode2 = getMode(str2);&lt;br /&gt;
	if((mode1==-1)||(mode2==-1)) return -1;&lt;br /&gt;
	mode  = mode1&amp;gt;mode2?mode1:mode2;&lt;br /&gt;
	if(mode&amp;gt;1){&lt;br /&gt;
		var lc = [3,5,6,8].exists(mode1)||[3,5,6,8].exists(mode2);&lt;br /&gt;
		var uc = [4,5,7,8].exists(mode1)||[4,5,7,8].exists(mode2);&lt;br /&gt;
		var nm = [2,6,7,8].exists(mode1)||[2,6,7,8].exists(mode2);&lt;br /&gt;
&lt;br /&gt;
		mode = lc?uc?nm?8:5:nm?6:3:uc?nm?7:4:nm?2:1;&lt;br /&gt;
		if(mode==-1) return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	i1    = decNumber(str1, mode);&lt;br /&gt;
	i2    = decNumber(str2, mode);&lt;br /&gt;
&lt;br /&gt;
	return {mode:mode, start:i1, end:i2};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function parseData(input, depth){&lt;br /&gt;
	var out = '';&lt;br /&gt;
	var rx  = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	var rx2 = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	if(!rx.test(input)) return input;&lt;br /&gt;
&lt;br /&gt;
	var matches = rx2.exec(input);&lt;br /&gt;
	var match   = matches[1];&lt;br /&gt;
	var start   = matches[2];&lt;br /&gt;
	var end     = matches[3];&lt;br /&gt;
&lt;br /&gt;
	var sett    = readMode(start, end);&lt;br /&gt;
&lt;br /&gt;
	for(var i=sett.start, j=sett.end; i&amp;lt;=j; i++){&lt;br /&gt;
		var mn = modeNumber(i, sett.mode);&lt;br /&gt;
		out+=parseData(input.replace(match, mn).replace(new RegExp('\\[\\\\'+depth+'\\]', 'g'), mn), depth+1);&lt;br /&gt;
	}&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(parseData(stdin.ReadAll(), 0));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full RegEx Supported Replace and More!===&lt;br /&gt;
Description: Does a full regular expression replace based on the file or expression.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: The first line of whatever you send has to be the regular expression you want parsed.  The 2nd line is what you want it replaced with.  Anything on the replace line between { and } sets is eval'd in JavaScript, meaning if you can do TONS of stuff that isn't possible with normal Regular Expressions, like {$1*$2} which will multiple the first match times the second.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/([0-9])([0-9]+)/gi&lt;br /&gt;
{Math.pow($1, {$2})}&lt;br /&gt;
26&lt;br /&gt;
55&lt;br /&gt;
12&lt;br /&gt;
21&lt;br /&gt;
222&lt;br /&gt;
555&lt;br /&gt;
---123---&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
64&lt;br /&gt;
3125&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
4194304&lt;br /&gt;
2.77555756&lt;br /&gt;
---1---&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/(id=&amp;quot;)([0-9]+)(&amp;quot;)/gi&lt;br /&gt;
$1{$2+1}$3&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/([\w ]+)/gi&lt;br /&gt;
{'$1'.length+' - '+'$1'}&lt;br /&gt;
this is a test&lt;br /&gt;
this is the 2nd line of code&lt;br /&gt;
3rd line&lt;br /&gt;
4th&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
14 - this is a test&lt;br /&gt;
28 - this is the 2nd line of code&lt;br /&gt;
8 - 3rd line&lt;br /&gt;
3 - 4th&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
function RepText(text){&lt;br /&gt;
	if(/.*({[^{}]+}).*/gi.test(text)){&lt;br /&gt;
		var match = text.replace(/.*({[^{}]+}).*/gi, &amp;quot;$1&amp;quot;);&lt;br /&gt;
		text      = text.replace(match, eval(match.substr(1, match.length-2)));&lt;br /&gt;
		return text;&lt;br /&gt;
	}else{&lt;br /&gt;
		return -1;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function parseText(text, RX2, RP){&lt;br /&gt;
	var matches, results=[], res&lt;br /&gt;
	var RX = eval(RX2), text2=text;&lt;br /&gt;
&lt;br /&gt;
	while(matches = RX.exec(text2)){&lt;br /&gt;
		if(matches[0]=='') continue;&lt;br /&gt;
		text = text.replace(matches[0], &amp;quot;{{MATCH}}&amp;quot;);&lt;br /&gt;
		results.push(matches[0]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for(var i=0; i&amp;lt;results.length; i++){&lt;br /&gt;
		res  = results[i].replace(RX, RP);&lt;br /&gt;
		while((result=RepText(res))!=-1) res=result;&lt;br /&gt;
		text = text.replace(&amp;quot;{{MATCH}}&amp;quot;, res);&lt;br /&gt;
	}&lt;br /&gt;
	return text;&lt;br /&gt;
}&lt;br /&gt;
var text  = stdin.ReadAll();&lt;br /&gt;
var lines = text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var RX = eval(lines[0]);&lt;br /&gt;
var RP = lines[1].replace(/\r\n/, '');&lt;br /&gt;
text   = lines.splice(2, lines.length).join('\n');&lt;br /&gt;
RP     = RP.substr(0, RP.length-1)&lt;br /&gt;
&lt;br /&gt;
text   = (/.*({[^{}]+}).*/gi.test(RP))?parseText(text, RX, RP):text.replace(RX, RP)&lt;br /&gt;
&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Spacing===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; code spacing by aligning = signs, :'s, etc.  Makes code much easier to read.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size:11px;&lt;br /&gt;
	color:#4C82D8;&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
	padding-left:10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background:white;&lt;br /&gt;
	width:800px;&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
	border:1px solid #999999;&lt;br /&gt;
	padding:0px;&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size       : 11px;&lt;br /&gt;
	color           : #4C82D8;&lt;br /&gt;
	text-decoration : none;&lt;br /&gt;
	padding-left    : 10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background      : white;&lt;br /&gt;
	width           : 800px;&lt;br /&gt;
	margin          : 0 auto;&lt;br /&gt;
	border          : 1px solid #999999;&lt;br /&gt;
	padding         : 0px;&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'=&amp;gt;'data',&lt;br /&gt;
	'another field'=&amp;gt;'some more data',&lt;br /&gt;
	'etc'=&amp;gt;'etc'&lt;br /&gt;
);&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'         =&amp;gt; 'data',&lt;br /&gt;
	'another field' =&amp;gt; 'some more data',&lt;br /&gt;
	'etc'           =&amp;gt; 'etc'&lt;br /&gt;
);&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
a=5;&lt;br /&gt;
b=20;&lt;br /&gt;
dog=30;&lt;br /&gt;
some_really_really_long_variable_name=40;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
a                                     = 5;&lt;br /&gt;
b                                     = 20;&lt;br /&gt;
dog                                   = 30;&lt;br /&gt;
some_really_really_long_variable_name = 40;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// settings&lt;br /&gt;
&lt;br /&gt;
var ignore      = ['&amp;lt;%', '%&amp;gt;', '&amp;lt;?', '?&amp;gt;'];&lt;br /&gt;
var splitVals   = ['===', '!==', '==', '=&amp;gt;', '!=', '+=', '-=', '*=', '/=', '-&amp;gt;', '=', ':', '?'];&lt;br /&gt;
var noPreSpace  = ['?'];&lt;br /&gt;
var noPostSpace = ['?'];&lt;br /&gt;
var quoteChars  = ['&amp;quot;', &amp;quot;'&amp;quot;];&lt;br /&gt;
var escapeChar  = '\\';&lt;br /&gt;
&lt;br /&gt;
// do not edit below this line&lt;br /&gt;
&lt;br /&gt;
var stdin       = WScript.StdIn;&lt;br /&gt;
var stdout      = WScript.StdOut;&lt;br /&gt;
var input       = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var maxSplit    = 0;&lt;br /&gt;
var splits      = [];&lt;br /&gt;
var lines       = input.split('\n');&lt;br /&gt;
var output      = '';&lt;br /&gt;
var currentLine, currentSplit, inQuote, spaces, j, currentLineString, i, isSplit;&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^ +/,'').replace(/ +$/,'');}&lt;br /&gt;
Array.prototype.exists = function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find   = function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
for(var i=0; i&amp;lt;splitVals.length; i++) if(splitVals[i].length&amp;gt;maxSplit) maxSplit = splitVals[i].length;&lt;br /&gt;
&lt;br /&gt;
function doLoop(mid, end){&lt;br /&gt;
	for(i=0; i&amp;lt;lines.length; i++){&lt;br /&gt;
		currentLine  = lines[i];&lt;br /&gt;
		currentSplit = splits;&lt;br /&gt;
		inQuote      = '';&lt;br /&gt;
		curStr       = '';&lt;br /&gt;
		spaces       = 0;&lt;br /&gt;
&lt;br /&gt;
		loop2:&lt;br /&gt;
		for(j=0; j&amp;lt;currentLine.length; j++){&lt;br /&gt;
			currentLineString = currentLine.substr(j, maxSplit);&lt;br /&gt;
&lt;br /&gt;
			for(var k=0; k&amp;lt;ignore.length; k++){&lt;br /&gt;
				var splitValue = ignore[k];&lt;br /&gt;
				if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
					j      += splitValue.length-1;&lt;br /&gt;
					curStr += splitValue;&lt;br /&gt;
					continue loop2;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if(currentLineString.substr(0, 1) == escapeChar){&lt;br /&gt;
				j++;&lt;br /&gt;
				curStr += currentLineString.substr(0, 2);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if((inQuote=='') &amp;amp;&amp;amp; (quoteChars.exists(currentLineString.substr(0, 1)))){&lt;br /&gt;
				inQuote = currentLineString.substr(0, 1);&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(currentLineString.substr(0, 1)==inQuote){&lt;br /&gt;
				inQuote = '';&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(inQuote!=''){&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			isSplit = false;&lt;br /&gt;
&lt;br /&gt;
			if(mid) mid();&lt;br /&gt;
&lt;br /&gt;
			if(!isSplit) curStr += currentLineString.substr(0, 1);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(end) end();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function x(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			j += splitValue.length-1;&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function y(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			var preSpace  = ' ';&lt;br /&gt;
			var postSpace = ' ';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPreSpace.length;  l++) if(noPreSpace[l] ==splitValue) preSpace  = '';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPostSpace.length; l++) if(noPostSpace[l]==splitValue) postSpace = '';&lt;br /&gt;
&lt;br /&gt;
			j      += splitValue.length-1;&lt;br /&gt;
			var aLen = currentSplit[splitValue].max - curStr.trim().length + 1;&lt;br /&gt;
			if(aLen&amp;lt;0) alert(currentLine.substr(j));&lt;br /&gt;
			output += curStr.trim() + new Array(aLen).join(' ') + preSpace + splitValue + postSpace&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function z(){ output += curStr.trim() + '\n'; }&lt;br /&gt;
&lt;br /&gt;
doLoop(x);&lt;br /&gt;
doLoop(y, z);&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.substr(0, output.length-1));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Indentation===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; JavaScript/PHP/C++/etc code indentation by throwing away most starting indentation and replacing it based on braces &amp;amp; parenthesis.  The script will ignore spacing that is inside sets of parenthesis, i.e. function variables that are aligned.&amp;lt;br&amp;gt;&lt;br /&gt;
Known Bugs: Does not ignore PHP &amp;quot;heredoc&amp;quot; strings: e.g. &amp;quot;&amp;lt;&amp;lt;&amp;lt;EOF .... EOF;&amp;quot; blocks.  It will format these as it would any other block of code.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
while(bar){&lt;br /&gt;
       if(x){&lt;br /&gt;
for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
//do stuff;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
	while(bar){&lt;br /&gt;
		if(x){&lt;br /&gt;
			for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
				//do stuff;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var lines        = input.split('\n');&lt;br /&gt;
var output       = [];&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^[ \t]+/,'').replace(/[ \t]+$/,'');}&lt;br /&gt;
&lt;br /&gt;
var countParen   = 0;&lt;br /&gt;
var countIndent  = 0;&lt;br /&gt;
var startSpaces  = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=lines.length; i&amp;lt;m; i++){&lt;br /&gt;
	var lineTrimmed  = lines[i].trim();&lt;br /&gt;
	if(lineTrimmed==''){ output.push(''); continue; }&lt;br /&gt;
&lt;br /&gt;
	var line         = lineTrimmed.replace(/(\'[^\']*\'|\&amp;quot;[^\&amp;quot;]*\&amp;quot;)/g, '');&lt;br /&gt;
	while(/\([^\)\(]*\)/g.test(line)){ line = line.replace(/\([^\)\(]*\)/g,  ''); }&lt;br /&gt;
	while(/\{[^\}\{]*\}/g.test(line)){ line = line.replace(/\{[^\}\{]*\}/g, '');  }&lt;br /&gt;
	while(/\/\//g.test(line)){         line = line.replace(/\/\/.*/g, '');        }&lt;br /&gt;
&lt;br /&gt;
	var openParen   = line.split('(').length - 1;&lt;br /&gt;
	var closeParen  = line.split(')').length - 1;&lt;br /&gt;
	var openIndent  = line.split('{').length - 1;&lt;br /&gt;
	var closeIndent = line.split('}').length - 1;&lt;br /&gt;
&lt;br /&gt;
	if(lineTrimmed.indexOf('}')==0) { // starts with }&lt;br /&gt;
		var startingClose = 0;&lt;br /&gt;
		while(lineTrimmed.substr(startingClose, 1)=='}'){ startingClose++; }&lt;br /&gt;
		var start = new Array(countIndent+1-startingClose).join('\t');&lt;br /&gt;
	}else{&lt;br /&gt;
		addSpaces = 0;&lt;br /&gt;
		if(countParen&amp;gt;0){&lt;br /&gt;
			var addSpaces    = countOpeningSpaces(lines[i]) - startSpaces[0];&lt;br /&gt;
			if(addSpaces&amp;lt;0){ addSpaces = 0; };&lt;br /&gt;
		}&lt;br /&gt;
		var start        = (new Array(countIndent+1).join('\t'))+(addSpaces?(new Array(addSpaces+1).join(' ')):'');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	output.push(start+lineTrimmed);&lt;br /&gt;
&lt;br /&gt;
	for(var j=0; j&amp;lt;closeParen; j++){ startSpaces.pop(); }&lt;br /&gt;
	for(var j=0; j&amp;lt;openParen; j++){&lt;br /&gt;
		startSpaces.push(j&amp;lt;openParen-1?0:countOpeningSpaces(lines[i]));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	countParen  += openParen - closeParen;&lt;br /&gt;
	countIndent += line.split('{').length - line.split('}').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function countOpeningSpaces(str){&lt;br /&gt;
	str = str.replace(/\t/g, '   ');&lt;br /&gt;
	return str.length - str.replace(/^ +/, '').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2007-08-21T23:01:38Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: ExamDIFF - Added ability to compare files (even remote) directly via a User Tool&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists a resource for user tool configurations frequently used in EditPlus.&lt;br /&gt;
&lt;br /&gt;
For information on writing your own user tool to act as a text filter, see [[writing a text filter]].&lt;br /&gt;
&lt;br /&gt;
==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop===&lt;br /&gt;
Website: http://www.prall.net/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister===&lt;br /&gt;
Website: http://www.theill.com/fl/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Program Files\Mozilla Firefox\firefox.exe (for firefox)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com/ Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;tt&amp;gt;$(CurSel)&amp;lt;/tt&amp;gt; in quotes, like &amp;lt;tt&amp;gt;&amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===External Browser Preview UserTool===&lt;br /&gt;
Website: http://www.maxthon.com/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Save current file, then Launch it in Maxthon tabbed browser.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Maxthon Browser&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Maxthon\Maxthon.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: [leave blank]&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: This command is good for keeping the internal browser preview enabled in EditPlus, but still having the extra functionality of previewing your file in other browsers.&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy===&lt;br /&gt;
Website: http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;tidy.exe -config tidyconfig.txt&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DotNet==&lt;br /&gt;
&lt;br /&gt;
===Compile NAnt Projects===&lt;br /&gt;
Website: http://nant.sourceforge.net&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Compiles NAnt project for DotNet.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;nant.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(CurSel) -find&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;^[\t ]*(\[.+\] )?([^(]+)\(([0-9]+),([0-9]+)\)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File Name: Tagged Expression 2&lt;br /&gt;
* Line: Tagged Expression 3&lt;br /&gt;
* Column: Tagged Expression 4&lt;br /&gt;
Tips: What you have selected when launching this tool would be treated as the target name of the build file. For instance, given that you have a &amp;quot;default.build&amp;quot; file located in the same folder as the active file, and you have selected &amp;quot;debug&amp;quot;, then launch this tool. NAnt will compile the &amp;quot;debug&amp;quot; target of the &amp;quot;default.build&amp;quot; file.&lt;br /&gt;
Please notice that there's a &amp;quot;-find&amp;quot; argument in the command line which enables Nant to search for build files in parent folders of the active file in case of no build file exists in the directory.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Compile A Single C# File to Console EXE===&lt;br /&gt;
Description: Compile c# code to a console executable file (for quick testing or very-light-weight application development purpose)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\Microsoft.NET\Framework\v1.1.4322\csc &amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileName)&amp;quot; /r:System.dll /r:System.data.dll /nologo /debug&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Tips:&lt;br /&gt;
# &amp;quot;v1.1.4322&amp;quot; in &amp;quot;command&amp;quot; should be the version number of the Microsoft .Net Framework;&lt;br /&gt;
# If you need to reference more assemblies, please add more &amp;quot;/r&amp;quot; stuff in the &amp;quot;arguments&amp;quot;&lt;br /&gt;
# Please refer to the .Net Framework SDK Documentation on CSC (C Sharp Compiler) for more information about how to compile C# files. You may also consider using a &amp;quot;Responding File&amp;quot;. However, NAnt Build files should be preferred if your project goes to be complex that you need to use &amp;quot;responding files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Posted By: [mailto:wmjordan@163.com Welman Jordan]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)===&lt;br /&gt;
Website: http://www.java2html.de/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Converts the source code of the current Java file to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar -srcfile&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\path\to\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)===&lt;br /&gt;
Website: http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to HTML.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java -jar c:\programming\java2html\java2html.jar&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\java.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: compile $package.$classname===&lt;br /&gt;
Description: java compile keeping my .class files seperate from my .java files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Java\jdk1.6.0\bin\javac.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-Xlint -d c:\java\home\classes -cp c:\java\home\src;. $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this conjunction with the &amp;quot;Java: run $package.$classname&amp;quot; usertool documented below.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: run $package.$classname===&lt;br /&gt;
'''FOR WINDOWS ONLY - Requires perl'''&amp;lt;br&amp;gt;&lt;br /&gt;
Description: this perl script works out the package name of the current file (relative to my &amp;lt;tt&amp;gt;c:\java\home\src&amp;lt;/tt&amp;gt; directory)&lt;br /&gt;
and executes &amp;lt;tt&amp;gt;java.exe&amp;lt;/tt&amp;gt; on &amp;lt;tt&amp;gt;$package.$(FileNameNoExt)&amp;lt;/tt&amp;gt;... allowing me to keep my .class files separate from my .java files&amp;lt;br&amp;gt;&lt;br /&gt;
The Script:&amp;lt;tt&amp;gt;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/perl/bin/perl -w&lt;br /&gt;
$package = $ARGV[0] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$fileNameNoExt = $ARGV[1] || die &amp;quot;read the script!&amp;quot;;&lt;br /&gt;
$package =~ s/c:\\java\\home\\src\\//i;&lt;br /&gt;
$package =~ s/\\/./g;&lt;br /&gt;
$command='&amp;quot;C:\\Program Files\\Java\\jdk1.6.0\\bin\\java&amp;quot;';&lt;br /&gt;
$args = &amp;quot;-classpath \&amp;quot;c:\\java\\home\\classes;.\&amp;quot; $package.$fileNameNoExt&amp;quot;;&lt;br /&gt;
print &amp;quot;$command $args\n&amp;quot;;&lt;br /&gt;
print `$command $args`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Perl\bin\perl.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\UserTools\Java\run.pl&amp;quot; $(FileDir) $(FileNameNoExt)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
See Also: I use this in conjunction with the &amp;quot;Java: compile $package.$classname&amp;quot; usertool documented above.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\javadoc.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer===&lt;br /&gt;
Website: http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\appletviewer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM===&lt;br /&gt;
Website: http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in the Java API CHM help file. Make sure when adding this you click Add Tool &amp;amp;rarr; HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\jdk142.chm&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online===&lt;br /&gt;
Website: http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the Java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\Maxthon.exe&amp;lt;/tt&amp;gt; (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;file:///C:/java_api_1.4.2/api/index.html&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: google &amp;quot;java API ${SelectedText}&amp;quot;===&lt;br /&gt;
http://google.com/&amp;lt;br&amp;gt; &lt;br /&gt;
http://www.mozilla.com/en-US/firefox/&amp;lt;br&amp;gt;&lt;br /&gt;
Description: runs a Google search for &amp;quot;java API ${SelectedText}&amp;quot; using firefox for results in English&amp;lt;br&amp;gt;&lt;br /&gt;
Note: this is useful for finding third party (non-sun) API doco.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\firefox.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;http://www.google.com.au/search?client=firefox-a&amp;amp;rls=org.mozilla%3Aen-US%3Aofficial_s&amp;amp;hl=en&amp;amp;q=java+API+$(CurSel)&amp;amp;meta=&amp;amp;btnG=Google+Search&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt; but this doesn't really matter&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Keith Corlett&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe /c type&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)===&lt;br /&gt;
Website: http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Perl==&lt;br /&gt;
&lt;br /&gt;
=== Perl: Syntax Check ===&lt;br /&gt;
Description: Check perl syntax.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe -c&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perl: Perltidy ===&lt;br /&gt;
Website: http://perltidy.sourceforge.net/&lt;br /&gt;
Description: Runs Perltidy on the current file.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: c:\path\to\perl.exe &amp;quot;c:\path\to\perltidy&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; -st&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: [http://www.apothegm.us James Kelly]&amp;lt;br/&amp;gt;&lt;br /&gt;
Note: You must copy Perltidy\lib\Perl to Perl\site\lib&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Groovy==&lt;br /&gt;
website: http://groovy.codehaus.org/&lt;br /&gt;
Description: Runs your groovy scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\groovy.bat&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\php.exe -l&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (remove HTML from error message)===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\php.exe&amp;quot; -l -d html_errors=off&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.rebelinblue.com Stephen Ball]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : it's better to use &amp;quot;$(FilePath)&amp;quot; (with the quotes) for the Argument.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Alex Mathieu&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker (use output pattern to go to line)===&lt;br /&gt;
Description: Click on error message to go to line in source file.&amp;lt;br&amp;gt;&lt;br /&gt;
First: set up the syntax checker as above.&amp;lt;br /&amp;gt;&lt;br /&gt;
Select: Output Pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Uncheck: Use default output pattern&amp;lt;br /&amp;gt;&lt;br /&gt;
Regular Expression: &amp;lt;code&amp;gt;^.+ in (.+) on line ([0-9]+)&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
File name: Tagged Expression 1&amp;lt;br /&amp;gt;&lt;br /&gt;
Line: Tagged Expression 2&amp;lt;br /&amp;gt;&lt;br /&gt;
Column: None&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Extended CHM Manual===&lt;br /&gt;
Website: http://www.php.net/docs-echm.php&lt;br /&gt;
Add Tool &amp;amp;rarr; HTML help file (*.chm) &amp;amp;rarr; Point to php_manual_en.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version. Be sure to run php_manual_prefs.exe to set the configuration how you like it. I recommend selecting the phpZ skin. It gives a lot of extra options such as a breadcrumb for easy navigation, &amp;quot;Navigate to this page online&amp;quot;, seperated user comments from help example, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Online Manual===&lt;br /&gt;
Website: http://www.php.net/docs.php&lt;br /&gt;
Description: Looks up current word in the online manual for PHP&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\path\to\browser\&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Peter Lafferty&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : It can be faster to use the URL PHP.net resolves to for your country, like &amp;quot;ie.php.net&amp;quot;, &amp;quot;uk.php.net&amp;quot;, &amp;quot;it.php.net&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===PHP: External Browser Preview ===&lt;br /&gt;
Website: N/A&amp;lt;br&amp;gt;&lt;br /&gt;
Description: PHP Development Aide - Preview current file, server-side, source code parsed by PHP engine&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;&amp;quot;c:\Program Files\Your\Browser.exe&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;http://localhost/$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.NoviceNotes.net Jeff Sabarese]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Hint''' : the EditPlus Argument &amp;quot;$(CurSel)&amp;quot; is key here, but requires adopting a source-code commenting convention. Comment each file after the opening PHP tag to indicate the current file name and path (for example: // ./MySiteDev/Location/current.php ). When ready to preview, highlight this path info before executing the User Tool (as configured above). The magic of the &amp;quot;$(CurSel)&amp;quot; Argument will effectively preview the current file, without the inherent problem of the Browser prompting to &amp;quot;Open File With...&amp;quot;. NOTE: LocalHost may be substituted for any server name-- very useful when using the FTP edit / save / upload option.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Function Prototype for built-in functions===&lt;br /&gt;
Description: Show currently selected function's prototype in the output window. Poor man's Intellisense.&amp;lt;br&amp;gt;&lt;br /&gt;
Step 1: Download and uncompress the PHP Manual as &amp;quot;Many HTML Files&amp;quot; from [http://www.php.net/download-docs.php php.net]&amp;lt;br&amp;gt;&lt;br /&gt;
Step 2: Run the PHP script below to produce a single text file of the built-in function prototypes.&amp;lt;br /&amp;gt;&lt;br /&gt;
Step 3: Create and save a php_func_hint.js file using the JScript below&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;//Nologo C:\path\to\php_func_hint.js $(CurWord)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
PHP Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$path = 'C:\path\to\php_manual_html_files';&lt;br /&gt;
$d = scandir($path);&lt;br /&gt;
$fp = fopen($path.'\php_func_list.txt', 'w');&lt;br /&gt;
foreach($d as $f){&lt;br /&gt;
  if(strpos($f,'function.')!==false){&lt;br /&gt;
    $c = file_get_contents($path.'\\'.$f);&lt;br /&gt;
    preg_match('@CLASS=&amp;quot;methodname&amp;quot;(.*?\))@s',$c, $m);&lt;br /&gt;
    $func = strip_tags(str_replace(&amp;quot;\n&amp;quot;, '', $m[1]));&lt;br /&gt;
    fwrite($fp, $func.&amp;quot;\n&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
fclose($fp);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
JScript Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var lookup = WScript.Arguments(0);&lt;br /&gt;
fso = new ActiveXObject(&amp;quot;Scripting.FileSystemObject&amp;quot;);&lt;br /&gt;
f = fso.OpenTextFile(&amp;quot;C:\\path\\to\\php_func_list.txt&amp;quot;, 1);&lt;br /&gt;
while(!f.AtEndOfStream)&lt;br /&gt;
{&lt;br /&gt;
  line = f.ReadLine();&lt;br /&gt;
  if(line.substr(0, lookup.length+1) == lookup+&amp;quot; &amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    WScript.Echo(line);&lt;br /&gt;
    break;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
f.close();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: Run PHP Code from command line===&lt;br /&gt;
Description: Uses the &amp;quot;-r&amp;quot; option to run a snippet of PHP code, e.g.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;c:&amp;gt;php -r &amp;quot;echo 'foo';&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\php-win.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-r &amp;quot;$(Prompt)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: Capture output, Save open files&amp;lt;br /&amp;gt;&lt;br /&gt;
Posted By: [http://www.josheli.com/knob DV]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
&lt;br /&gt;
===Python: Python Runtime===&lt;br /&gt;
Website: http://www.python.org/&lt;br /&gt;
Description: Python runtime that lets you execute your Python scripts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\python.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;File &amp;quot;(.+)&amp;quot;, line ([0-9]+)&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression File name tag: Tagged Expression 1&lt;br /&gt;
* Regular Expression Line: Tagged Expression 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ruby==&lt;br /&gt;
Website: http://www.ruby-lang.org/&lt;br /&gt;
Description: Runs your ruby scripts &amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\path\to\ruby.exe (Assume you have ruby on windows installed)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: leave Initial Directory blank &amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Kasim Tuman&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Debugs your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;&amp;quot;$(FilePath)&amp;quot; //nologo //d //x&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt; (or if on W95/98/ME, &amp;lt;tt&amp;gt;command.com&amp;lt;/tt&amp;gt;)&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF===&lt;br /&gt;
http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look similar but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;c:\path\to\ExamDiff.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Upon running, it will open the window list.  Simple hold CTRL and select the two files you would like to compare.  If you are comparing Remote FTP files, make sure to check the box next to &amp;quot;Create temp file of remote file&amp;quot;, and hit OK.&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Selection)===&lt;br /&gt;
Description: Opens windows explorer in the location of the path currently selected.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\explorer.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/e, /select, &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files===&lt;br /&gt;
Website: http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Programming\WinMerge\WinMergeU.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(WindowList)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run Selection===&lt;br /&gt;
Description: Runs (ShellExec) the currently selected text. It is equivallent to entering the selected text in the Windows &amp;quot;run&amp;quot; dialog.&amp;lt;br&amp;gt;&lt;br /&gt;
This tool also works to launch URLs, explore folder paths or launch a file (with with a registered extension).&amp;lt;br&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;regedit.exe&amp;lt;/tt&amp;gt;&amp;quot; is selected, the Registry Editor application is launched (assumes %systemroot% is in your path).&lt;br /&gt;
#If &amp;quot;&amp;lt;tt&amp;gt;C:\EditPlus\editplus.hlp&amp;lt;/tt&amp;gt;&amp;quot; is selected, the EditPlus help file is opened.&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;%systemroot%\system32\RunDLL32.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;shell32.dll,ShellExec_RunDLL &amp;quot;$(CurSel)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Close Window on Exit: &amp;lt;tt&amp;gt;On&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Carlos Rivas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Version Control==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Visual SourceSafe===&lt;br /&gt;
EditPlus user tool commands to interface with command-line version of Microsoft Visual SourceSafe&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display name of current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Current Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;project&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set current VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;cp&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create a new VSS project and set as current&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create / Set Project&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;create -c- -s&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Set VSS project working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Set Working Folder&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;workfold &amp;quot;$(FileDir)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: List files in VSS project&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Directory&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;dir -c&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current file in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;status &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get a file from VSS to working folder&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Prompt for arguments&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Get latest version of current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Get Latest Version&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;get &amp;quot;$(FileName)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from VSS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkout &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display differences between current EditPlus file and version in VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Difference&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;diff &amp;quot;$(FileName)&amp;quot; -ds&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Undo checkout of current EditPlus file from VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Undo Checkout&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;undocheckout &amp;quot;$(FileName)&amp;quot; -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into VSS but keep checked out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In / Keep Checked Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;checkin &amp;quot;$(FileName)&amp;quot; -c- -k -p&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c-&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Add current EditPlus file into VSS and check out&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Add File / Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SS.EXE&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;add &amp;quot;$(FileName)&amp;quot; -c- -k&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CS-RCS===&lt;br /&gt;
EditPlus user tool commands to interface with CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Create current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Create&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Create $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Status&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;Status $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Display status of current EditPlus file in CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: History&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;History $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check out current EditPlus file from CS-RCS, overwriting existing file on disk&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check Out&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckOut $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Description: Check current EditPlus file into CS-RCS&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: Check In&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;D:\Program Files\ComponentSoftware\CS-RCS\System\csrcs.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;CheckIn $(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Michael Jones&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Subversion===&lt;br /&gt;
Description: Compare differences of current file to base SVN repository, using WinMerge.&amp;lt;br&amp;gt;&lt;br /&gt;
Menu text: SVN Diff&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\path\to\file\svndiff.bat&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileDir) $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [http://winmerge.sourceforge.net/ WinMerge], this batch file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
&lt;br /&gt;
set WC=&amp;quot;%1\%2&amp;quot;&lt;br /&gt;
set REP=&amp;quot;%1\.svn\text-base\%2.svn-base&amp;quot;&lt;br /&gt;
&lt;br /&gt;
IF NOT EXIST %WC% goto missing&lt;br /&gt;
IF NOT EXIST %REP% goto missing&lt;br /&gt;
&lt;br /&gt;
&amp;quot;C:\Program Files\WinMerge\WinMerge.exe&amp;quot; %REP% %WC%&lt;br /&gt;
goto end&lt;br /&gt;
&lt;br /&gt;
:missing&lt;br /&gt;
echo File(s) missing, not diffing.&lt;br /&gt;
&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Subversion Commit====&lt;br /&gt;
Description:  Commit Files to Server with TortoiseSVN&amp;lt;br&amp;gt;&lt;br /&gt;
Prerequesits: Files should be in Working Copy (previous checkout with TortoiseSVN)&amp;lt;br&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
Menu text: SVN Commit&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe&amp;lt;/tt&amp;gt; (or similar)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;/command:commit /path:&amp;quot;$(FilePath)&amp;quot; /notempfile /closeonend&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: &amp;lt;tt&amp;gt;$(FileDir)&amp;lt;/tt&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Depends: [tortoisesvn.tigris.org/ TortoiseSVN]&lt;br /&gt;
&lt;br /&gt;
==== Subversion Update, Delete, Rename, Checkout etc ====&lt;br /&gt;
Replace /command:&amp;lt;command&amp;gt; with one of the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
:about Shows the About-dialog. This is also shown if no command is given.  &lt;br /&gt;
:log Opens the log dialog. The path specifies the file or folder for which the log should be shown. Three additional options can be set: /revstart:xxx, /revend:xxx and /strict  &lt;br /&gt;
:checkout Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from.  &lt;br /&gt;
:import Opens the import dialog. The path specifies the directory with the data to import.  &lt;br /&gt;
:update Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go.  &lt;br /&gt;
:commit Opens the commit dialog. The path specifies the target directory or the list of files to commit. You can also specify the /logmsg switch to pass a predefined log message to the commit dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.  &lt;br /&gt;
:add Adds the files in /path to version control.  &lt;br /&gt;
:revert Reverts local modifications of a working copy. The /path tells which items to revert.  &lt;br /&gt;
:cleanup Cleans up interrupted or aborted operations and unlocks the working copy in /path.  &lt;br /&gt;
:resolve Marks a conflicted file specified in /path as resolved. If /noquestion is given, then resolving is done without asking the user first if it really should be done.  &lt;br /&gt;
:repocreate Creates a repository in /path  &lt;br /&gt;
:switch Opens the switch dialog. The path specifies the target directory.  &lt;br /&gt;
:export Exports the working copy in /path to another directory. If the /path points to an unversioned directory, a dialog will ask for an URL to export to the dir in /path.  &lt;br /&gt;
:merge Opens the merge dialog. The path specifies the target directory.  &lt;br /&gt;
:copy Brings up the branch/tag dialog. The /path is the working copy to branch/tag from.  &lt;br /&gt;
:settings Opens the settings dialog.  &lt;br /&gt;
:remove Removes the file(s) in /path from version control.  &lt;br /&gt;
:rename Renames the file in /path. The new name for the file is asked with a dialog.  &lt;br /&gt;
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is ommitted, then the diff is done between the file in /path and its BASE.  &lt;br /&gt;
:conflicteditor Starts the conflicteditor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.  &lt;br /&gt;
:relocate Opens the relocate dialog. The /path specifies the working copy path to relocate.  &lt;br /&gt;
:help Opens the help file.  &lt;br /&gt;
:repostatus Opens the check-for-modifications dialog. The path specifies the working copy directory.  &lt;br /&gt;
:repobrowser Starts the repository browser dialog, pointing to the URL of the working copy given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD.  &lt;br /&gt;
:ignore Adds all targets in /path to the ignore list, i.e. adds the svn:ignored property to those files.  &lt;br /&gt;
:blame Opens the blame dialog for the file specified in /path.  &lt;br /&gt;
:cat Saves a file from an URL or working copy path given in /path to the location given in /savepath:path. The revision is given in /revision:xxx. This can be used to get a file with a specific revision.  &lt;br /&gt;
:createpatch Creates a patch file for the path given in /path.  &lt;br /&gt;
:revisiongraph Shows the revision graph for the path given in /path.  &lt;br /&gt;
:lock Locks a file. The 'lock' dialog is shown so the user can enter a comment for the lock. /path  &lt;br /&gt;
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. /noquestion  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Databases==&lt;br /&gt;
&lt;br /&gt;
=== SQL Server: sqlcmd / isql ===&lt;br /&gt;
Description: Execute SQL commands using sqlcmd or isql utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
Command: sqlcmd.exe (MSSQL 2005) or isql.exe (previous versions)&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: -S HOST -U USERNAME -P PASSWORD -e -d $(Prompt) -Q &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: Prompts for a database name and executes the selected (highlighted) statement&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Oracle: SQL*Plus ===&lt;br /&gt;
Description: Execute SQL commands using SQL*Plus utility and capture output.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First create and save a DOS batch file (sqlplus.bat):&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@echo off&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%1&amp;lt;br/&amp;gt;&lt;br /&gt;
SET SQL=%SQL:&amp;quot;=%&amp;lt;br/&amp;gt;&lt;br /&gt;
echo %SQL%; | sqlplus USERNAME/PASSWORD@SCHEMA&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Command: c:\path\to\sqlplus.bat&amp;lt;br/&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(CurSel)&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Notes: The batch file pipes the selected statement to SQL*Plus and outputs the result.&amp;lt;br/&amp;gt;&lt;br /&gt;
Posted By: Kai Hilton-Jones&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window Ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot; $(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FileName)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* Regular Expression Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://brett.batie.com Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Python Function List====&lt;br /&gt;
Based on the above:&lt;br /&gt;
&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;findstr /n /o /r &amp;quot;\&amp;lt;def\&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;$(FilePath)&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Output Pattern:&lt;br /&gt;
* Regular Expression: &amp;lt;tt&amp;gt;^([0-9]+):([0-9]+):&amp;lt;/tt&amp;gt;&lt;br /&gt;
* File name: None&lt;br /&gt;
* Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
* Column: Tagged Expression 2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Posted By: [http://www.nowrap.de Igor Kogan]&lt;br /&gt;
&lt;br /&gt;
===JRuler===&lt;br /&gt;
Website: http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler===&lt;br /&gt;
Website: http://www.fabsoft.com/products/ruler/ruler.html&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;br /&gt;
&lt;br /&gt;
===Markdown Syntax===&lt;br /&gt;
Website: http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip&lt;br /&gt;
Description: Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). Great for writing blog posts.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;perl Markdown.pl&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: Ankit Solanki.&lt;br /&gt;
&lt;br /&gt;
N.B. You will need to specify the location of both perl and Markdown.pl - EditPlus will not find them if they are in the path.&lt;br /&gt;
&lt;br /&gt;
===Make file writeable===&lt;br /&gt;
Description: clears the read-only file attribute on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;attrib.exe&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;tt&amp;gt;-R &amp;quot;$(FilePath)&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Parse 1-n ranges into text, ie [0-9]===&lt;br /&gt;
Description: Parses an unlimited number of numeric, alpha, alphanumeric, hex or octal ranges into text.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: Take the code and save it as a .js file. Returns 1 copy of '''exactly''' what you send it for each replacement necessary.  So if you want it to return 1 entry per line, make sure you select a linebreak when running this tool.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:  [0x00-0x20] &lt;br /&gt;
Output: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20&lt;br /&gt;
&lt;br /&gt;
Input:  Option #[1-5][A-B], or reversed: [\1][\0]&lt;br /&gt;
Output:&lt;br /&gt;
Option #1A, or reversed: A1&lt;br /&gt;
Option #1B, or reversed: B1&lt;br /&gt;
Option #2A, or reversed: A2&lt;br /&gt;
Option #2B, or reversed: B2&lt;br /&gt;
Option #3A, or reversed: A3&lt;br /&gt;
Option #3B, or reversed: B3&lt;br /&gt;
Option #4A, or reversed: A4&lt;br /&gt;
Option #4B, or reversed: B4&lt;br /&gt;
Option #5A, or reversed: A5&lt;br /&gt;
Option #5B, or reversed: B5&lt;br /&gt;
&lt;br /&gt;
Input:  [ZX-102]&lt;br /&gt;
Output:&lt;br /&gt;
ZX&lt;br /&gt;
ZY&lt;br /&gt;
ZZ&lt;br /&gt;
100&lt;br /&gt;
101&lt;br /&gt;
102&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin   = WScript.StdIn;&lt;br /&gt;
var stdout  = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
Array.prototype.exists=function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find  =function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
var input, results, matches;&lt;br /&gt;
&lt;br /&gt;
var bases = [&lt;br /&gt;
	'0123456789ABCDEF',&lt;br /&gt;
	'01234567',&lt;br /&gt;
	'0123456789',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyz',&lt;br /&gt;
	'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',&lt;br /&gt;
	'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
function baseToNum(str, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = 0;&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
	if(!zeros) tbase = ' '+tbase;&lt;br /&gt;
&lt;br /&gt;
	for(var i=0, j=str.length; i&amp;lt;j; i++){&lt;br /&gt;
		var dataVal = tbase.indexOf(str.charAt(i));&lt;br /&gt;
		out         = out * cnt + dataVal;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out-(zeros?0:1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function numToBase(num, base){&lt;br /&gt;
	var tbase = bases[base];&lt;br /&gt;
	var cnt   = tbase.length;&lt;br /&gt;
	var out   = '';&lt;br /&gt;
	var zeros = tbase.substr(0, 1)=='0';&lt;br /&gt;
&lt;br /&gt;
	if(num==0) return tbase.substr(0, 1);&lt;br /&gt;
&lt;br /&gt;
	if(zeros){&lt;br /&gt;
		while(num){&lt;br /&gt;
			out = tbase.substr(num % cnt, 1) + out;&lt;br /&gt;
			num = Math.floor(num / cnt);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		var root=1, check=1, check2=0, rttl = 0;&lt;br /&gt;
		while(num&amp;gt;=rttl){&lt;br /&gt;
			check2 = Math.pow(cnt, root++);&lt;br /&gt;
			out    = tbase.substr(Math.floor((num-rttl)/check)%cnt, 1) + out;&lt;br /&gt;
			check  = check2;&lt;br /&gt;
			rttl  += check;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function getMode(str){&lt;br /&gt;
	if(str.length==0) return -1;&lt;br /&gt;
	if((str.indexOf('0x')==0) &amp;amp;&amp;amp; /^[0-9A-F]+$/.test(str.substr(2))){                     return 0;&lt;br /&gt;
	}else if((str.indexOf('0')==0) &amp;amp;&amp;amp; (str.length&amp;gt;1) &amp;amp;&amp;amp; /^[0-7]+$/.test(str.substr(1))){ return 1;&lt;br /&gt;
	}else if(/^[0-9]+$/      .test(str)){                                                return 2;&lt;br /&gt;
	}else if(/^[a-z]+$/      .test(str)){                                                return 3;&lt;br /&gt;
	}else if(/^[A-Z]+$/      .test(str)){                                                return 4;&lt;br /&gt;
	}else if(/^[A-Za-z]+$/   .test(str)){                                                return 5;&lt;br /&gt;
	}else if(/^[a-z0-9]+$/   .test(str)){                                                return 6;&lt;br /&gt;
	}else if(/^[A-Z0-9]+$/   .test(str)){                                                return 7;&lt;br /&gt;
	}else if(/^[A-Za-z0-9]+$/.test(str)){                                                return 8;&lt;br /&gt;
	}&lt;br /&gt;
	return -1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function strip(num){&lt;br /&gt;
	while((num.indexOf('0')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	if   ((num.indexOf('x')==0)&amp;amp;&amp;amp;(num.length&amp;gt;1)) num=num.substr(1);&lt;br /&gt;
	return num;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function decNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return parseInt(strip(num), 16); break;&lt;br /&gt;
		case 1: return parseInt(strip(num), 8);  break;&lt;br /&gt;
		case 2: return eval(strip(num));         break;&lt;br /&gt;
		case 3: return baseToNum(num, 3);        break;&lt;br /&gt;
		case 4: return baseToNum(num, 4);        break;&lt;br /&gt;
		case 5: return baseToNum(num, 5);        break;&lt;br /&gt;
		case 6: return parseInt(num, 36);        break;&lt;br /&gt;
		case 7: return parseInt(num, 36);        break;&lt;br /&gt;
		case 8: return baseToNum(num, 8);        break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function modeNumber(num, mode){&lt;br /&gt;
	switch(mode){&lt;br /&gt;
		case 0: return num.toString(16);               break;&lt;br /&gt;
		case 1: return num.toString(8);                break;&lt;br /&gt;
		case 2: return num;                            break;&lt;br /&gt;
		case 3: return numToBase(num, 3);              break;&lt;br /&gt;
		case 4: return numToBase(num, 4);              break;&lt;br /&gt;
		case 5: return numToBase(num, 5);              break;&lt;br /&gt;
		case 6: return num.toString(36);               break;&lt;br /&gt;
		case 7: return num.toString(36).toUpperCase(); break;&lt;br /&gt;
		case 8: return numToBase(num, 8);              break;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function readMode(str1, str2){&lt;br /&gt;
	var mode1 = getMode(str1);&lt;br /&gt;
	var mode2 = getMode(str2);&lt;br /&gt;
	if((mode1==-1)||(mode2==-1)) return -1;&lt;br /&gt;
	mode  = mode1&amp;gt;mode2?mode1:mode2;&lt;br /&gt;
	if(mode&amp;gt;1){&lt;br /&gt;
		var lc = [3,5,6,8].exists(mode1)||[3,5,6,8].exists(mode2);&lt;br /&gt;
		var uc = [4,5,7,8].exists(mode1)||[4,5,7,8].exists(mode2);&lt;br /&gt;
		var nm = [2,6,7,8].exists(mode1)||[2,6,7,8].exists(mode2);&lt;br /&gt;
&lt;br /&gt;
		mode = lc?uc?nm?8:5:nm?6:3:uc?nm?7:4:nm?2:1;&lt;br /&gt;
		if(mode==-1) return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	i1    = decNumber(str1, mode);&lt;br /&gt;
	i2    = decNumber(str2, mode);&lt;br /&gt;
&lt;br /&gt;
	return {mode:mode, start:i1, end:i2};&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function parseData(input, depth){&lt;br /&gt;
	var out = '';&lt;br /&gt;
	var rx  = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	var rx2 = /(\[(&amp;amp;?[0-9A-Za-z]+)-(&amp;amp;?[0-9A-Za-z]+)\])/gi;&lt;br /&gt;
	if(!rx.test(input)) return input;&lt;br /&gt;
&lt;br /&gt;
	var matches = rx2.exec(input);&lt;br /&gt;
	var match   = matches[1];&lt;br /&gt;
	var start   = matches[2];&lt;br /&gt;
	var end     = matches[3];&lt;br /&gt;
&lt;br /&gt;
	var sett    = readMode(start, end);&lt;br /&gt;
&lt;br /&gt;
	for(var i=sett.start, j=sett.end; i&amp;lt;=j; i++){&lt;br /&gt;
		var mn = modeNumber(i, sett.mode);&lt;br /&gt;
		out+=parseData(input.replace(match, mn).replace(new RegExp('\\[\\\\'+depth+'\\]', 'g'), mn), depth+1);&lt;br /&gt;
	}&lt;br /&gt;
	return out;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(parseData(stdin.ReadAll(), 0));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Full RegEx Supported Replace and More!===&lt;br /&gt;
Description: Does a full regular expression replace based on the file or expression.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Notes: The first line of whatever you send has to be the regular expression you want parsed.  The 2nd line is what you want it replaced with.  Anything on the replace line between { and } sets is eval'd in JavaScript, meaning if you can do TONS of stuff that isn't possible with normal Regular Expressions, like {$1*$2} which will multiple the first match times the second.&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/([0-9])([0-9]+)/gi&lt;br /&gt;
{Math.pow($1, {$2})}&lt;br /&gt;
26&lt;br /&gt;
55&lt;br /&gt;
12&lt;br /&gt;
21&lt;br /&gt;
222&lt;br /&gt;
555&lt;br /&gt;
---123---&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
64&lt;br /&gt;
3125&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
4194304&lt;br /&gt;
2.77555756&lt;br /&gt;
---1---&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/(id=&amp;quot;)([0-9]+)(&amp;quot;)/gi&lt;br /&gt;
$1{$2+1}$3&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;5&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
&amp;lt;xml&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;6&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;row id=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/xml&amp;gt;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
/([\w ]+)/gi&lt;br /&gt;
{'$1'.length+' - '+'$1'}&lt;br /&gt;
this is a test&lt;br /&gt;
this is the 2nd line of code&lt;br /&gt;
3rd line&lt;br /&gt;
4th&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
14 - this is a test&lt;br /&gt;
28 - this is the 2nd line of code&lt;br /&gt;
8 - 3rd line&lt;br /&gt;
3 - 4th&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin  = WScript.StdIn;&lt;br /&gt;
var stdout = WScript.StdOut;&lt;br /&gt;
&lt;br /&gt;
function RepText(text){&lt;br /&gt;
	if(/.*({[^{}]+}).*/gi.test(text)){&lt;br /&gt;
		var match = text.replace(/.*({[^{}]+}).*/gi, &amp;quot;$1&amp;quot;);&lt;br /&gt;
		text      = text.replace(match, eval(match.substr(1, match.length-2)));&lt;br /&gt;
		return text;&lt;br /&gt;
	}else{&lt;br /&gt;
		return -1;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
function parseText(text, RX2, RP){&lt;br /&gt;
	var matches, results=[], res&lt;br /&gt;
	var RX = eval(RX2), text2=text;&lt;br /&gt;
&lt;br /&gt;
	while(matches = RX.exec(text2)){&lt;br /&gt;
		if(matches[0]=='') continue;&lt;br /&gt;
		text = text.replace(matches[0], &amp;quot;{{MATCH}}&amp;quot;);&lt;br /&gt;
		results.push(matches[0]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	for(var i=0; i&amp;lt;results.length; i++){&lt;br /&gt;
		res  = results[i].replace(RX, RP);&lt;br /&gt;
		while((result=RepText(res))!=-1) res=result;&lt;br /&gt;
		text = text.replace(&amp;quot;{{MATCH}}&amp;quot;, res);&lt;br /&gt;
	}&lt;br /&gt;
	return text;&lt;br /&gt;
}&lt;br /&gt;
var text  = stdin.ReadAll();&lt;br /&gt;
var lines = text.split(&amp;quot;\n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
var RX = eval(lines[0]);&lt;br /&gt;
var RP = lines[1].replace(/\r\n/, '');&lt;br /&gt;
text   = lines.splice(2, lines.length).join('\n');&lt;br /&gt;
RP     = RP.substr(0, RP.length-1)&lt;br /&gt;
&lt;br /&gt;
text   = (/.*({[^{}]+}).*/gi.test(RP))?parseText(text, RX, RP):text.replace(RX, RP)&lt;br /&gt;
&lt;br /&gt;
stdout.Write(text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Spacing===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; code spacing by aligning = signs, :'s, etc.  Makes code much easier to read.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size:11px;&lt;br /&gt;
	color:#4C82D8;&lt;br /&gt;
	text-decoration:none;&lt;br /&gt;
	padding-left:10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background:white;&lt;br /&gt;
	width:800px;&lt;br /&gt;
	margin:0 auto;&lt;br /&gt;
	border:1px solid #999999;&lt;br /&gt;
	padding:0px;&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
.text_blue_small {&lt;br /&gt;
	font-size       : 11px;&lt;br /&gt;
	color           : #4C82D8;&lt;br /&gt;
	text-decoration : none;&lt;br /&gt;
	padding-left    : 10px;&lt;br /&gt;
}&lt;br /&gt;
#wrapper {&lt;br /&gt;
	background      : white;&lt;br /&gt;
	width           : 800px;&lt;br /&gt;
	margin          : 0 auto;&lt;br /&gt;
	border          : 1px solid #999999;&lt;br /&gt;
	padding         : 0px;&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'=&amp;gt;'data',&lt;br /&gt;
	'another field'=&amp;gt;'some more data',&lt;br /&gt;
	'etc'=&amp;gt;'etc'&lt;br /&gt;
);&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
$someArray = array(&lt;br /&gt;
	'field'         =&amp;gt; 'data',&lt;br /&gt;
	'another field' =&amp;gt; 'some more data',&lt;br /&gt;
	'etc'           =&amp;gt; 'etc'&lt;br /&gt;
);&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
a=5;&lt;br /&gt;
b=20;&lt;br /&gt;
dog=30;&lt;br /&gt;
some_really_really_long_variable_name=40;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
a                                     = 5;&lt;br /&gt;
b                                     = 20;&lt;br /&gt;
dog                                   = 30;&lt;br /&gt;
some_really_really_long_variable_name = 40;&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// settings&lt;br /&gt;
&lt;br /&gt;
var ignore      = ['&amp;lt;%', '%&amp;gt;', '&amp;lt;?', '?&amp;gt;'];&lt;br /&gt;
var splitVals   = ['===', '!==', '==', '=&amp;gt;', '!=', '+=', '-=', '*=', '/=', '-&amp;gt;', '=', ':', '?'];&lt;br /&gt;
var noPreSpace  = ['?'];&lt;br /&gt;
var noPostSpace = ['?'];&lt;br /&gt;
var quoteChars  = ['&amp;quot;', &amp;quot;'&amp;quot;];&lt;br /&gt;
var escapeChar  = '\\';&lt;br /&gt;
&lt;br /&gt;
// do not edit below this line&lt;br /&gt;
&lt;br /&gt;
var stdin       = WScript.StdIn;&lt;br /&gt;
var stdout      = WScript.StdOut;&lt;br /&gt;
var input       = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var maxSplit    = 0;&lt;br /&gt;
var splits      = [];&lt;br /&gt;
var lines       = input.split('\n');&lt;br /&gt;
var output      = '';&lt;br /&gt;
var currentLine, currentSplit, inQuote, spaces, j, currentLineString, i, isSplit;&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^ +/,'').replace(/ +$/,'');}&lt;br /&gt;
Array.prototype.exists = function(e){return this.find(e)&amp;gt;=0;}&lt;br /&gt;
Array.prototype.find   = function(e){for(var i=0;i&amp;lt;this.length;i++)if(this[i]==e)return i;return -1;}&lt;br /&gt;
&lt;br /&gt;
for(var i=0; i&amp;lt;splitVals.length; i++) if(splitVals[i].length&amp;gt;maxSplit) maxSplit = splitVals[i].length;&lt;br /&gt;
&lt;br /&gt;
function doLoop(mid, end){&lt;br /&gt;
	for(i=0; i&amp;lt;lines.length; i++){&lt;br /&gt;
		currentLine  = lines[i];&lt;br /&gt;
		currentSplit = splits;&lt;br /&gt;
		inQuote      = '';&lt;br /&gt;
		curStr       = '';&lt;br /&gt;
		spaces       = 0;&lt;br /&gt;
&lt;br /&gt;
		loop2:&lt;br /&gt;
		for(j=0; j&amp;lt;currentLine.length; j++){&lt;br /&gt;
			currentLineString = currentLine.substr(j, maxSplit);&lt;br /&gt;
&lt;br /&gt;
			for(var k=0; k&amp;lt;ignore.length; k++){&lt;br /&gt;
				var splitValue = ignore[k];&lt;br /&gt;
				if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
					j      += splitValue.length-1;&lt;br /&gt;
					curStr += splitValue;&lt;br /&gt;
					continue loop2;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if(currentLineString.substr(0, 1) == escapeChar){&lt;br /&gt;
				j++;&lt;br /&gt;
				curStr += currentLineString.substr(0, 2);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if((inQuote=='') &amp;amp;&amp;amp; (quoteChars.exists(currentLineString.substr(0, 1)))){&lt;br /&gt;
				inQuote = currentLineString.substr(0, 1);&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(currentLineString.substr(0, 1)==inQuote){&lt;br /&gt;
				inQuote = '';&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
			if(inQuote!=''){&lt;br /&gt;
				curStr += currentLineString.substr(0, 1);&lt;br /&gt;
				continue;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			isSplit = false;&lt;br /&gt;
&lt;br /&gt;
			if(mid) mid();&lt;br /&gt;
&lt;br /&gt;
			if(!isSplit) curStr += currentLineString.substr(0, 1);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if(end) end();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function x(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			j += splitValue.length-1;&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function y(){&lt;br /&gt;
	for(var k=0; k&amp;lt;splitVals.length; k++){&lt;br /&gt;
		var splitValue = splitVals[k];&lt;br /&gt;
		if(currentLineString.indexOf(splitValue)==0){&lt;br /&gt;
			var preSpace  = ' ';&lt;br /&gt;
			var postSpace = ' ';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPreSpace.length;  l++) if(noPreSpace[l] ==splitValue) preSpace  = '';&lt;br /&gt;
			for(var l=0; l&amp;lt;noPostSpace.length; l++) if(noPostSpace[l]==splitValue) postSpace = '';&lt;br /&gt;
&lt;br /&gt;
			j      += splitValue.length-1;&lt;br /&gt;
			var aLen = currentSplit[splitValue].max - curStr.trim().length + 1;&lt;br /&gt;
			if(aLen&amp;lt;0) alert(currentLine.substr(j));&lt;br /&gt;
			output += curStr.trim() + new Array(aLen).join(' ') + preSpace + splitValue + postSpace&lt;br /&gt;
			if(!currentSplit[splitValue]){&lt;br /&gt;
				currentSplit[splitValue] = {max:curStr.trim().length, ary:[]};&lt;br /&gt;
			} else {&lt;br /&gt;
				if(curStr.trim().length&amp;gt;currentSplit[splitValue].max) currentSplit[splitValue].max = curStr.trim().length;&lt;br /&gt;
			}&lt;br /&gt;
			currentSplit = currentSplit[splitValue].ary;&lt;br /&gt;
			isSplit      = true;&lt;br /&gt;
			curStr       = '';&lt;br /&gt;
			break;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function z(){ output += curStr.trim() + '\n'; }&lt;br /&gt;
&lt;br /&gt;
doLoop(x);&lt;br /&gt;
doLoop(y, z);&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.substr(0, output.length-1));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix Code Indentation===&lt;br /&gt;
Description: &amp;quot;Fixes&amp;quot; JavaScript/PHP/C++/etc code indentation by throwing away most starting indentation and replacing it based on braces &amp;amp; parenthesis.  The script will ignore spacing that is inside sets of parenthesis, i.e. function variables that are aligned.&amp;lt;br&amp;gt;&lt;br /&gt;
Known Bugs: Does not ignore PHP &amp;quot;heredoc&amp;quot; strings: e.g. &amp;quot;&amp;lt;&amp;lt;&amp;lt;EOF .... EOF;&amp;quot; blocks.  It will format these as it would any other block of code.&amp;lt;br&amp;gt;&lt;br /&gt;
Author: [mailto:cwolves@gmail.com Mark Kahn]&amp;lt;br&amp;gt;&lt;br /&gt;
Command: &amp;lt;tt&amp;gt;cscript //NoLogo &amp;quot;c:\path to file\file.js&amp;quot;&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Input:&lt;br /&gt;
======&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
while(bar){&lt;br /&gt;
       if(x){&lt;br /&gt;
for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
//do stuff;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
======&lt;br /&gt;
function foo(a,&lt;br /&gt;
             b,&lt;br /&gt;
             c){&lt;br /&gt;
	while(bar){&lt;br /&gt;
		if(x){&lt;br /&gt;
			for(i=0; i&amp;lt;10; i++){&lt;br /&gt;
				//do stuff;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
======&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var stdin        = WScript.StdIn;&lt;br /&gt;
var stdout       = WScript.StdOut;&lt;br /&gt;
var input        = stdin.ReadAll();&lt;br /&gt;
&lt;br /&gt;
var lines        = input.split('\n');&lt;br /&gt;
var output       = [];&lt;br /&gt;
&lt;br /&gt;
String.prototype.trim  = function() {return this.replace(/^[ \t]+/,'').replace(/[ \t]+$/,'');}&lt;br /&gt;
&lt;br /&gt;
var countParen   = 0;&lt;br /&gt;
var countIndent  = 0;&lt;br /&gt;
var startSpaces  = [];&lt;br /&gt;
&lt;br /&gt;
for(var i=0, m=lines.length; i&amp;lt;m; i++){&lt;br /&gt;
	var lineTrimmed  = lines[i].trim();&lt;br /&gt;
	if(lineTrimmed==''){ output.push(''); continue; }&lt;br /&gt;
&lt;br /&gt;
	var line         = lineTrimmed.replace(/(\'[^\']*\'|\&amp;quot;[^\&amp;quot;]*\&amp;quot;)/g, '');&lt;br /&gt;
	while(/\([^\)\(]*\)/g.test(line)){ line = line.replace(/\([^\)\(]*\)/g,  ''); }&lt;br /&gt;
	while(/\{[^\}\{]*\}/g.test(line)){ line = line.replace(/\{[^\}\{]*\}/g, '');  }&lt;br /&gt;
	while(/\/\//g.test(line)){         line = line.replace(/\/\/.*/g, '');        }&lt;br /&gt;
&lt;br /&gt;
	var openParen   = line.split('(').length - 1;&lt;br /&gt;
	var closeParen  = line.split(')').length - 1;&lt;br /&gt;
	var openIndent  = line.split('{').length - 1;&lt;br /&gt;
	var closeIndent = line.split('}').length - 1;&lt;br /&gt;
&lt;br /&gt;
	if(lineTrimmed.indexOf('}')==0) { // starts with }&lt;br /&gt;
		var startingClose = 0;&lt;br /&gt;
		while(lineTrimmed.substr(startingClose, 1)=='}'){ startingClose++; }&lt;br /&gt;
		var start = new Array(countIndent+1-startingClose).join('\t');&lt;br /&gt;
	}else{&lt;br /&gt;
		addSpaces = 0;&lt;br /&gt;
		if(countParen&amp;gt;0){&lt;br /&gt;
			var addSpaces    = countOpeningSpaces(lines[i]) - startSpaces[0];&lt;br /&gt;
			if(addSpaces&amp;lt;0){ addSpaces = 0; };&lt;br /&gt;
		}&lt;br /&gt;
		var start        = (new Array(countIndent+1).join('\t'))+(addSpaces?(new Array(addSpaces+1).join(' ')):'');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	output.push(start+lineTrimmed);&lt;br /&gt;
&lt;br /&gt;
	for(var j=0; j&amp;lt;closeParen; j++){ startSpaces.pop(); }&lt;br /&gt;
	for(var j=0; j&amp;lt;openParen; j++){&lt;br /&gt;
		startSpaces.push(j&amp;lt;openParen-1?0:countOpeningSpaces(lines[i]));&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	countParen  += openParen - closeParen;&lt;br /&gt;
	countIndent += line.split('{').length - line.split('}').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function countOpeningSpaces(str){&lt;br /&gt;
	str = str.replace(/\t/g, '   ');&lt;br /&gt;
	return str.length - str.replace(/^ +/, '').length;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
stdout.Write(output.join('\n'));&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Running_on_Linux</id>
		<title>Running on Linux</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Running_on_Linux"/>
				<updated>2006-04-22T00:49:59Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Did you realize that your favorite text editor runs on Linux? Well, now you know, so if you've been thinking about making the switch, you're out of excuses.&lt;br /&gt;
&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
&lt;br /&gt;
To get EditPlus working under Linux, you need to install the popular '''Wine''' software. Download the EditPlus Windows installer. Then, in a terminal window, browse to the directory where the EditPlus file was downloaded. Invoke this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;wine ./epp212_en.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will automatically start the installation process, and once it's installed, you need to find where it installed to (somewhere like '''~/.wine/fake_windows/Program Files/EditPlus 2/editplus.exe''').Go to the directory where '''editplus.exe''' was installed (again, in a terminal window) and invoke this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;wine ./editplus.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should start up for you and you should be good to go! Enjoy!&lt;br /&gt;
&lt;br /&gt;
As an alternative, if you have done a full installation of '''wine''' on your Linux system, shortcuts are auto-configured for Windows '''.EXE''' programs.  Merely, in your favorite desktop file browser'' , double-clicking on the '''epp212_en.exe''' program will auto-magically bring up '''wine''' with the program loaded.&lt;br /&gt;
&lt;br /&gt;
One can also create a desktop shortcut to the '''.EXE''' program, and clicking on that icon will bring up EditPlus (in '''wine''') also.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
&lt;br /&gt;
* Wine Download: http://www.winehq.com/site/download &lt;br /&gt;
* Code Weavers (wine developers): http://www.codeweavers.com/&lt;br /&gt;
&lt;br /&gt;
==Post-Install Tips==&lt;br /&gt;
&lt;br /&gt;
===Fonts===&lt;br /&gt;
&lt;br /&gt;
If your Wine apps are using the ugly font that it picks by default, install Microsoft Tahoma font. It can be downloaded HereSimply run:&amp;lt;br/&amp;gt;&amp;lt;pre&amp;gt;wine ./tahoma32.exe&amp;lt;/pre&amp;gt;Simply follow the prompts.'''Note:''' installing this font may cause the column marker not display the correct current column.Reason currently unknown.----&lt;br /&gt;
&lt;br /&gt;
===Fonts (the Debian way)===&lt;br /&gt;
&lt;br /&gt;
If you have Debian or a Debian-based distro (such as Ubuntu), you should be able to download and install this font (and other TrueType fonts) through &amp;quot;apt-get&amp;quot;:&amp;lt;pre&amp;gt;apt-get install msttcorefonts&amp;lt;/pre&amp;gt;Or, if not available in your current repository, you can download the debian package fromand then install it with:&amp;lt;pre&amp;gt;dpkg -i msttcorefonts_1.2_all.deb&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Fonts (the Gentoo way)===&lt;br /&gt;
If you are running Gentoo Linux, you can simply install Windows fonts through a package in portage, called corefonts:&amp;lt;pre&amp;gt;emerge -av corefonts&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fixing the keyboard shortcuts===&lt;br /&gt;
You may not have realised it in Windows, but under Linux it can be handy to change some default keybindings (e.g. Ctrl+W to close a tab instead of Ctrl+F4). Use Document -&amp;gt; Settings -&amp;gt; Keyboard to do this.&lt;br /&gt;
&lt;br /&gt;
==Known Bugs==&lt;br /&gt;
&lt;br /&gt;
*Internet Explorer within Editplus does not work.&lt;br /&gt;
*Tools&amp;gt;Preferences does not seem to work in some versions of Wine, and in fact, may cause it to freeze. If this is the case in your version and you need to edit your preferences, you might try:&lt;br /&gt;
*#upgrading your version of Wine.&lt;br /&gt;
*#access the Preferences dialog through Project&amp;gt;Manage Project&amp;gt;Edit Project.&lt;br /&gt;
*#hand edit the configuration files located in the installation directory (and have a good laugh at the serious misspellings in some of those files).Installation files are usually located in a path like &amp;quot;~/.wine/drive_c/Program Files/EditPlus 2/&amp;quot;.&lt;br /&gt;
*If you happen to be using Synergy at the same time that you're running EditPlus through Wine, and you copy something on a connected Windows box and bring the mouse focus back to Linux, then move the mouse over an open document in EditPlus, EditPlus will crash.It is probably extremely unlikely that you would happen to be running this specific system setup, so this bug will probably not apply to you.Copying and pasting between EditPlus and native Linux programs on the same machine does not appear to be an issue.&lt;br /&gt;
*''Ctrl S'' for '''Save''' may switch between two open Wine apps with some wine configurations. To workaround this, you can:&lt;br /&gt;
*#change the Editplus hot key for '''Save''' one of two methods:&lt;br /&gt;
*##use the Preferences dialog to change the key binding&lt;br /&gt;
*##edit the Editplus configuration file ''default.key'' in the installation directory.&lt;br /&gt;
*#change the wine hot key (tutorial coming soon)&lt;br /&gt;
*Argh! SFTP with the latest release does not appear to work with Wine.Please update this if you figure out how to do it. '''(See possible fix [[FTP/SFTP#SFTP_Fix_for_OpenSSH|here]])'''&lt;br /&gt;
*Saving larger files over ftp might result in the ftp dialog hanging at 100% with some configurations. The newer wine releases still give you a chance to push the cancel button which after some time will give you a message &amp;quot;cancelled by user&amp;quot; whereas with earlier version all you could do is terminate Editplus.&lt;br /&gt;
*Opening a file may mess up the window drawing under Wine. There are a few ways to correct this (hitting Enter usually works, although this won't work on read-only files if you've set them to be uneditable. The best solution I've found is Alt-D-X (Refresh STX), which redraws the window. You can bind this to a more handy keystroke (e.g. Ctrl-Alt-Z) and just get used to hitting it each time you open a file. There might be a better solution out there...&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Features</id>
		<title>Features</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Features"/>
				<updated>2006-04-22T00:47:48Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EditPlus provides a number of powerful and extensible features that make it an excellent text editor for development on the Windows platform. Some of the major features are described below.&lt;br /&gt;
&lt;br /&gt;
==Syntax Highlighting==&lt;br /&gt;
One of the primary reasons to use EditPlus instead of a text editor like Notepad is its ability to highlight the syntax of many common markup, scripting, and programming languages, including HTML, CSS, PHP, ASP, Perl, C/C++, Java, JavaScript, VBScript, XML, and .NET Config &amp;quot;out of the box.&amp;quot; In addition, users can create custom syntax files, many of which are freely available to the community [http://www.editplus.com/files.html here].&lt;br /&gt;
&lt;br /&gt;
*See [[syntax file format]] to create a custom syntax (.stx) file or to modify an existing one.&lt;br /&gt;
*See [[syntax files]] to download syntax files.&lt;br /&gt;
 &lt;br /&gt;
==Auto-completion==&lt;br /&gt;
Auto-completion is a time-saving feature which expands a ''short abbreviation'' into a ''complete string''. For example, if you type &amp;quot;if&amp;quot; followed by a space in a Perl file, EditPlus replaces it with:&lt;br /&gt;
&lt;br /&gt;
 if () {&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
and positions your cursor between the parenthesis. EditPlus comes with auto-completion files for HTML, Perl, and C/C++ by default. &lt;br /&gt;
&lt;br /&gt;
*See [[auto-completion file format]] to create a custom auto-completion (.acp) file or to modify an existing one.&lt;br /&gt;
*See [[auto-completion files]] to download auto-completion files.&lt;br /&gt;
&lt;br /&gt;
==Cliptext Sidebar==&lt;br /&gt;
The Cliptext Sidebar displays a list of keywords that can be double-clicked (or dragged) to insert frequently used text in a file. EditPlus comes with cliptext libraries for HTML 3.2, HTML 4, CSS1, CSS2, ANSI Characters, and Control Characters. To show the cliptext sidebar, press Alt+Shift+1 or the cliptext button on the toolbar.&lt;br /&gt;
&lt;br /&gt;
*See [[cliptext file format]] to create a custom cliptext (.ctl) file or to modify an existing one.&lt;br /&gt;
*See [[cliptext files]] to download auto-completion files.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
When creating a new file of specific type, EditPlus can be configured to add some stock content to the new file (such as a file header and footer) rather than leaving it completely blank. The &amp;quot;installed&amp;quot; templates determine which file types show up under File &amp;gt; New, including C/C++, HTML, Java, and Perl, and Java by default. &lt;br /&gt;
&lt;br /&gt;
*See [[template file format]] to create a custom template file or to modify an existing one.&lt;br /&gt;
*See [[template files]] to download template files.&lt;br /&gt;
&lt;br /&gt;
==HTML Toolbar==&lt;br /&gt;
The HTML Toolbar provides buttons for inserting common HTML tags, picking colors and character entities, and generating tables. To hide or display the HTML Toolbar, goto View &amp;gt; Toolbars/Views and select &amp;quot;HTML Toolbar&amp;quot;. The HTML Toolbar can be customized by going to Tools &amp;gt; Preferences &amp;gt; Tools &amp;gt; Toolbar. &lt;br /&gt;
&lt;br /&gt;
*See [[HTML Toolbar]] for suggestions on further customizing the toolbar's look and output.&lt;br /&gt;
&lt;br /&gt;
==User Tools==&lt;br /&gt;
User Tools are external programs that be run from within EditPlus via the [[User Toolbar]].&lt;br /&gt;
*See [[User Tools]] for examples.&lt;br /&gt;
*See [[Writing a text filter]] for information on creating your own user tool.&lt;br /&gt;
&lt;br /&gt;
==Function Lists==&lt;br /&gt;
EditPlus provides the ability to display a dynamic '''Function List''' for a file from Search &amp;gt; Function List (Ctrl+F11). Though EditPlus is configured by default to extract functions for C++, Perl, and similar programming languages, it's not hard to add the same functionality for other file types.&lt;br /&gt;
&lt;br /&gt;
*See [[Function lists]] for examples.&lt;br /&gt;
&lt;br /&gt;
==Regular Expressions==&lt;br /&gt;
A regular expression is a pattern (with a special syntax) that can match various text strings. EditPlus has support for some regular expression capabilities built into its Find and Replace functions.&lt;br /&gt;
&lt;br /&gt;
*See [[Regular Expressions]] for examples of commonly used regular expressions.&lt;br /&gt;
*See [[Regular expression syntax]] for details on writing regular expressions in EditPlus.&lt;br /&gt;
&lt;br /&gt;
==Integrated FTP==&lt;br /&gt;
You can configure EditPlus to open and edit files via [[FTP/SFTP|FTP]] as if they were located on your local file system. However, '''FTP has serious security problems''', primarily the transmission of passwords in plain text over the Internet. It is recommended that you use a program like [[WinSCP]] to access remote files securely using SFTP (secure file transfer over SSH). Many people have also complained that EditPlus's native FTP support is prone to crashing, so save frequently.&lt;br /&gt;
&lt;br /&gt;
*See [[WinSCP]] for information on configuring EditPlus as WinSCP's external editor&lt;br /&gt;
*see [http://www.editplus.com/ssh.html FTP through external SSH] for information on tunneling EditPlus's FTP through SSH using (PuTTY).&lt;br /&gt;
*Note: '''SFTP option available in latest release'''; [[FTP/SFTP|SFTP]] overcomes the security issue noted above&lt;br /&gt;
&lt;br /&gt;
==Integrated Web Browser==&lt;br /&gt;
Seamless web browser for previewing the content of your HTML document or Java applet without leaving the editor. Browser window also has common browser commands so you can browse Internet web sites as well as local HTML files.&lt;br /&gt;
&lt;br /&gt;
==Managing Projects==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Project  is an easy way to mantain all the related source files together.&lt;br /&gt;
It is like a virtual archive (as in a  .zip archive).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you load a project, you are loading all related files in &amp;quot;one click&amp;quot;.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
goto &amp;lt;b&amp;gt;Project&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;Manage Project&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;Edit Project&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have never created a project before, there will be an empty line &lt;br /&gt;
(that is default project).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
At the first time you can do either:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a) create an empty project, or&amp;lt;br&amp;gt; &lt;br /&gt;
b) load/create new file/s, or&amp;lt;br&amp;gt;&lt;br /&gt;
c) select current/all opened files to include in the current selected project.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After that you can add/eliminate/modify/sort files in the project.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The special thing about it, is the files can be different types and/or located&lt;br /&gt;
in different directories. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigation among the files of the project can be done using the bottom tabs&lt;br /&gt;
and/or by using the left bottom icon folder and/or from the &amp;lt;b&amp;gt;Project&amp;lt;/b&amp;gt; item in the top tool bar.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All files pertaining to a project can be loaded and managed at once with 1 click! (well, ...)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1) go to &amp;lt;b&amp;gt;Project&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;Select Project&amp;lt;/b&amp;gt; (and DO SELECT the desired project)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2) go to &amp;lt;b&amp;gt;Project&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;Load Project&amp;lt;/b&amp;gt; (to actually load the project)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(... that were 6 clicks actually!)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At the end of editing session you can close all the files in the project &lt;br /&gt;
with one click (rhetorical sense)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Project&amp;lt;/b&amp;gt; --&amp;gt; &amp;lt;b&amp;gt;Manage Project&amp;lt;/b&amp;gt; ---&amp;gt; &amp;lt;b&amp;gt;Close Project&amp;lt;/b&amp;gt;   or&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;b&amp;gt;folder icon&amp;lt;/b&amp;gt; (at bottom left) ---&amp;gt; &amp;lt;b&amp;gt;Manage Project&amp;lt;/b&amp;gt; ---&amp;gt; &amp;lt;b&amp;gt;Close Project&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are in a hurry and want a real 1 click quit, go to the red button in the upper task bar.&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Note 1: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''For someone, in the begining may be confusing when he/she is attempting to''&lt;br /&gt;
''load a project with only an empty default project. Nothing seems to happen.'' &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note 2:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''I don't understand if it makes any difference to use &amp;quot;project&amp;quot; item in''&lt;br /&gt;
''the tool bar or the little folder icon located at the bottom left corner '' &lt;br /&gt;
''the screen''.&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/WinSCP</id>
		<title>WinSCP</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/WinSCP"/>
				<updated>2006-04-22T00:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added Fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''WinSCP''' is an open source freeware SFTP client for Windows using SSH. Legacy SCP protocol is also supported. Its main function is safe copying of files between a local and a remote computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Though EditPlus does now support SFTP file transfer natively, it sometimes fails to connect to certain types of SFTP servers ''([[FTP/SFTP#SFTP_Fix_for_OpenSSH|see fix]]'').  You can configure WinSCP to use EditPlus as an external editor.&lt;br /&gt;
Make sure you have WinSCP version 3.7.2 or higher in order for it to work properly with EditPlus. You can download WinSCP [http://winscp.net/eng/download.php here].&lt;br /&gt;
&lt;br /&gt;
==Configure WinSCP to use EditPlus as an External Editor==&lt;br /&gt;
#Launch WinSCP&lt;br /&gt;
#Check &amp;quot;Advanced Options&amp;quot; in the lower left&lt;br /&gt;
#Select &amp;quot;Preferences&amp;quot; in the pane on the left&lt;br /&gt;
#Press the &amp;quot;Preferences...&amp;quot; button on the lower right&lt;br /&gt;
#Select Editors in the pane on the left&lt;br /&gt;
#Click &amp;quot;Add...&amp;quot; in the pane on the right&lt;br /&gt;
#Choose &amp;quot;External Editor&amp;quot; and enter the path to your EditPlus executable, followed by an exclamation point-dot-exclamation point&amp;lt;br&amp;gt;e.g. &amp;lt;code&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\editplus.exe&amp;quot; !.!&amp;lt;/code&amp;gt;&lt;br /&gt;
#Check &amp;quot;External editor opens multiple files in one window (process)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Prevent SSH Timeout==&lt;br /&gt;
#Launch WinSCP&lt;br /&gt;
#Check &amp;quot;Advanced Options&amp;quot; in the lower left&lt;br /&gt;
#Select &amp;quot;Connection&amp;quot; in the pane on the left&lt;br /&gt;
#Under &amp;quot;Keepalives&amp;quot; choose &amp;quot;Sending of null SSH packets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Cache Password for Background File Transfer==&lt;br /&gt;
When you're editing a file opened using WinSCP, and you save that file, by default WinSCP will prompt for your password again. However, you can prevent that from happening by having WinSCP cache your password.&lt;br /&gt;
#Launch WinSCP&lt;br /&gt;
#Check &amp;quot;Advanced Options&amp;quot; in the lower left&lt;br /&gt;
#Select &amp;quot;Preferences&amp;quot; in the pane on the left&lt;br /&gt;
#Press the &amp;quot;Preferences...&amp;quot; button on the lower right&lt;br /&gt;
#Select Transfer &amp;gt; Background in the pane on the left&lt;br /&gt;
#Check &amp;quot;Remember password of main session for background transfers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[http://winscp.net/ WinSCP Homepage]&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Feature_Requests</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Feature_Requests"/>
				<updated>2006-04-22T00:40:38Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added SFTP fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Code folding]] for functions and any block of code, configurable for every language.&lt;br /&gt;
* Ability to handle [[nested comments]].&lt;br /&gt;
&lt;br /&gt;
* Ability to specify background colours and font effects (bold, italic, underlined) in syntax highlighting. This can make comments much easier to find, and be a very powerful aid for quote matching etc.&lt;br /&gt;
* Option to ignore .stx keywords in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Option to ignore quotes in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Have a column marker (vertical line) show were the cutoff would be when printing the document.&lt;br /&gt;
:You can already set column marker lines (Document -&amp;gt; Set column marker) and wrap at a specific column (Document -&amp;gt; Word Wrap Options). But, if you don't want to wrap the text and you want to print the document there should be a way to determine where the end of the page is.&lt;br /&gt;
* Support for more than one SCRIPT_BEGIN and SCRIPT_END in syntax files (helps with [[heredoc]] syntax).&lt;br /&gt;
* The ability to split the screen and load different documents into each section (like in Emacs).&lt;br /&gt;
* Solving the ambiguity in brace matching oocuring at the right square bracket in: [asdf]{asdf}. Fx always look at the brace to the left...&lt;br /&gt;
* Ability to view(or edit) files in HEX mode.&lt;br /&gt;
* Ability to sort Syntax File Types by description or file extension&lt;br /&gt;
* XP Look &amp;amp; Feel&lt;br /&gt;
&lt;br /&gt;
===Text Reader===&lt;br /&gt;
* Read-only &amp;quot;Reader&amp;quot; mode. Editing is disabled, pressing the spacebar causes paging down, and Up/Down keys scroll the visible part of the document on screen, Left/Right keys switch between opened documents. More comfortable for code browsing and reading.&lt;br /&gt;
&lt;br /&gt;
===Syntax Hints===&lt;br /&gt;
* DOM Capability.  Ability to list DOM objects in a dropdown list.  For example, in ASP when you type Response+Period then all the DOM selections for the Response object could be in the dropdown list.  Just like in Visual Studio.&lt;br /&gt;
: &amp;quot;Intellisense&amp;quot; is the word you're looking for&lt;br /&gt;
&lt;br /&gt;
===Syntax Highlight===&lt;br /&gt;
* Ability to specify background as well as text color.&lt;br /&gt;
* Ability to highlight variables ( $scalar and $array[elements] ) in quoted string (Very very useful for script languages with string expansion like PHP or perl).&lt;br /&gt;
* Ability to highlight special characters in quoted strings (like \r, \n, \t, \x0F etc.).&lt;br /&gt;
* along with #COMMENTON and #COMMENTOFF, it would be nice to have #CODEON and #CODEOFF (i.e. everything outside of the specified delimiters is a comment by default).  #COMMENTOFF and #COMMENTON work for that (essentially reverse the usage), except for the text before the placement for #CODEON.  useful for Verisity's Specman e-language, since code is bracketed by &amp;lt;' and '&amp;gt;, and all else is comments.  Still need to be able to use the #COMMENTON and #COMMENTOFF concurrently with the #CODEON and #CODEOFF though, as comments can reside in the bracketed code too.  more explanation, or example e file: parkerjd@tampabay.rr.com&lt;br /&gt;
*ability to specify multiple-word keywords for syntax file (e.g. verilog import)  together they highlight, separately they do not highlight unless specified on a separate line for each.  maybe the CR/LF is the delimiter to use, or allow us to escape the space delimiter?&lt;br /&gt;
* ability to specify the folder containing the cliptext files (.ctl)&lt;br /&gt;
* ability to select another ''htmlbar.acp'' and ''template.html'' than the default ones (especialy in a different location than the installation folder)&lt;br /&gt;
* Ability to copy syntax highlighted texts to clipboard as rtf or html&lt;br /&gt;
&lt;br /&gt;
==Unicode==&lt;br /&gt;
* Full UTF-8 Support&lt;br /&gt;
* Unicode UTF-8/16/32 Support&lt;br /&gt;
* Codepage autodetection for opened files, or, at least, possibility to choose the default codepage for all/certain types of files.&lt;br /&gt;
* Support right-to-left mode for Hebrew, Arabic, etc.&lt;br /&gt;
&lt;br /&gt;
==FTP==&lt;br /&gt;
* SFTP Support&lt;br /&gt;
**(from v2.2 What's New: &amp;quot;Experimental 'Use sftp' option (File-&amp;gt;FTP-&amp;gt;FTP Settings, Works only on Windows XP and higher).&amp;quot;, but does not work properly on keyboard-interactive authorization.&lt;br /&gt;
** '''If you are having trouble connecting to a server via SFTP, see [[FTP/SFTP#SFTP_Fix_for_OpenSSH|this fix]]'''&lt;br /&gt;
* Ability to sort FTP accounts in the FTP Settings window.  The current ordering is unpredictable, and a pain when you have a lot of FTP accounts configured&lt;br /&gt;
* Ability to group accounts in a hierarchical structure&lt;br /&gt;
* FTP transfer (saving / opening) should not be modal, waiting for the transfer to complete wastes time, which can be better spent editing other files for example.&lt;br /&gt;
* Option to enable not to load ftp files until their related document window is activated when loading projects or workspace files.&lt;br /&gt;
* In the &amp;quot;Open Remote File&amp;quot; Dialogue box, when you type in a file or directory name that is not present in the current directory you receive an error message &amp;quot;The file transfer failed . . . &amp;quot; and the Open Remote File dialogue box closes.  Instead of closing the Open Remote File dialogue box, it should stay open and allow you to try typing the correct name.&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
===Toolbar===&lt;br /&gt;
* Being able to add or change html toolbar icons.&lt;br /&gt;
* New user buttons in html toolbar for &amp;lt;nowiki&amp;gt;&amp;lt;div&amp;gt; and &amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; tags. Even more, if the toolbar is more customizable for advanced users (e.g. adding custom icons and cliptexts, replacing the icons), that will be fine.&lt;br /&gt;
* Beefup the color pickup button: Move the color pickup button from HTML toolbar to the main toolbar since it is also useful in other scenarios, for example, CSS, or something else. Allow the user to setup formats for the color pickup, e.g. #RRGGBB, rgb(r, g, b) and etc.&lt;br /&gt;
* Toolbar-sets for the HTML toolbar: Users can alternate between several toolbar-sets, to facilitate editing HTML, XHTML, Wiki, BBS codes, and even JSP or ASP.net WebControls....&lt;br /&gt;
* If more than one toolbar available, being able to set the default one in the .stx file&lt;br /&gt;
&lt;br /&gt;
===MDI &amp;amp; Tabs===&lt;br /&gt;
* Ability to change order of tabs in document selector by drag&amp;amp;dropping tabs. ''[can be done through the Window List (F11)]''&lt;br /&gt;
* Ability to close an opened file by double clicking its tab. ''[middle-click is assigned to closing documents by default]''&lt;br /&gt;
* Having multiple document selectors for different groups of files, and the ability to switch between them.&lt;br /&gt;
* Ability to rename file from context menu of tabs in document selector&lt;br /&gt;
:The directory window supports rename from context menu, but doesn't update the filename of the tab in the document selector if the document is already open.&lt;br /&gt;
* Ability to open more than one instance of EditPlus. Particularly with 2 screens this could be very helpful.&lt;br /&gt;
:Check box in Preferences-&amp;gt;General 'Allow Multiple Instances'&lt;br /&gt;
&lt;br /&gt;
===Sidebar===&lt;br /&gt;
* Window List (F11) in the sidebar&lt;br /&gt;
:If 50 documents are open it is much easier to scroll the list to pick the document than pick through all the tabs at the bottom. It would be nice to have it open all the time so you're not flipping between window list and the document.&lt;br /&gt;
* Function List (Ctrl+F11) in the sidebar&lt;br /&gt;
* More than one dockable function list window that each one collects different lines of text from the document depending on their regular expression settings. &lt;br /&gt;
* Ability to dock the output window as a sidebar&lt;br /&gt;
:In some cases it would be nice to have the output window use more vertical space than horizonal and not use the space of the editor.&lt;br /&gt;
:And in some other cases, it would be nice to have the output window &amp;quot;floating&amp;quot; or behind the editor main window, so that we can save some visual space for editing.&lt;br /&gt;
*Support for loading html or text file in side bar for reference. This customised reference file may display functionlist or class list as specified by delimeters, and can be generated through commands. Providing option to run configurable commands on this list.&lt;br /&gt;
* ''Function List - Copy'' or ''Function Pattern'' should allow for removing braces in the same line as the keyword (''sub'' or ''function''), so that they do not appear in the Function List window (sub Example($$@)  ''instead of'' sub Example($$@) '''{''' ).&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
* Give 'Close' (in File Menu) the keyboard shortcut: CTRL+W ''[can be done in Tools &amp;gt;&amp;gt; Preferences &amp;gt;&amp;gt; Keyboard]''&lt;br /&gt;
* Ability to Sort documents by name in the Window List (F11)&lt;br /&gt;
* Paste at begining/end of&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/FTP/SFTP</id>
		<title>FTP/SFTP</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/FTP/SFTP"/>
				<updated>2006-04-22T00:34:47Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Page Creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==EditPlus and FTP==&lt;br /&gt;
EditPlus supports editing files on a remote server via the [http://en.wikipedia.org/wiki/File_Transfer_Protocol FTP] and [http://en.wikipedia.org/wiki/SSH_file_transfer_protocol SFTP] protocols.  The implementation is among the most convenient of any editors because it can directly open a file from the server, and with each save, it uploads the copy to the server.  This makes it very easy to update websites or do remote coding.&lt;br /&gt;
&lt;br /&gt;
==FTP/SFTP Differences==&lt;br /&gt;
FTP is a very fast but insecure protocol.  It sends usernames and passwords in plain text which means that anyone who wants to set up a siffer can obtain access to your server.  This means they will have the ability to delete your files, deface your website or, often worse, obtain access to confidential data in your database!&lt;br /&gt;
&lt;br /&gt;
For this reason was SFTP invented.  SFTP encrypts all communication which makes it secure but is a bit slower because of that.  The EditPlus community has asked and waited for SFTP support in EditPlus and finally in 2.20 and it was launched as ''Experimental''.  Most of the problems have been fixed as of the current version.&lt;br /&gt;
&lt;br /&gt;
For more information see [http://en.wikipedia.org/wiki/File_Transfer_Protocol FTP] and [http://en.wikipedia.org/wiki/SSH_file_transfer_protocol SFTP].&lt;br /&gt;
&lt;br /&gt;
==FTP/SFTP Support==&lt;br /&gt;
In EditPlus both FTP and SFTP use the same interface.  There are two ways to connect to a server:&lt;br /&gt;
&lt;br /&gt;
===Popup Window===&lt;br /&gt;
The standard interface is the popup window invoked via '''File-&amp;gt;FTP-&amp;gt;Open Remote'''.  You can also create a Shortcut Icon or use the Shortcut Keys to make accessing it easier.&lt;br /&gt;
&lt;br /&gt;
You can define your FTP sites with the Settings button.  By default it uses FTP.  In order to change it to use SFTP click on '''Advanced Options''' and check the '''Use SFTP checkbox'''.&lt;br /&gt;
&lt;br /&gt;
Once your site(s) are defined, select the one you want to use and click '''Browse''' to connect.  You will be able to navigate through directories and find the files you would like to edit.  Double click to open the file.  If you wish to open multiple files, uncheck the '''Close dialog box after transfer''' box.  This will allow you to continue to double-click on files to open them.&lt;br /&gt;
&lt;br /&gt;
Once you have opened files directly from the server, every time you hit save, they will automatically be uploaded back over the previous copy.&lt;br /&gt;
&lt;br /&gt;
===Embedded into the Directory Sidebar===&lt;br /&gt;
You may prefer to use the Directory Sidebar for navigating your directories both locally and remotely.  In this case, pressing '''ALT+SHIFT+3''' will open/close the Directory Sitebar.  You can also use '''View-&amp;gt;Toolbars/Views-&amp;gt;Directory Window''' to open it.  From here, you can use the pulldown to select your FTP sites (after you have created them via '''File-&amp;gt;FTP-&amp;gt;FTP Settings''').&lt;br /&gt;
&lt;br /&gt;
Once connected you will see the directories on the top half of the sidebar and the files on the bottom half.  Double-click a file to open it.&lt;br /&gt;
&lt;br /&gt;
==SFTP Fix for OpenSSH==&lt;br /&gt;
There is a limitation in EditPlus's implementation of SFTP that does not work with certain versions of OpenSSH.  OpenSSH is the most commonly used implemenation of SFTP on Linux.  If you can NOT to connect in EditPlus but you ARE with other applications (such as [http://filezilla.sf.net FileZilla], and the host is running OpenSSH version 3.8.1p1 or later, it could be that a simple configuration change on the server is all that is necessary to make it work.&lt;br /&gt;
&lt;br /&gt;
Instructions:&lt;br /&gt;
*Edit the '''sshd_config''' file (commonly located in '''/etc/ssh/''').&lt;br /&gt;
*Find the line that starts with: '''PasswordAuthentication'''.&lt;br /&gt;
*Set it to '''yes''' instead of '''no'''.&lt;br /&gt;
*Restart the SSH daemon by typing (as root): '''/etc/init.d/ssh restart'''&lt;br /&gt;
*Try to connect with EditPlus&lt;br /&gt;
&lt;br /&gt;
Additional helps:&lt;br /&gt;
To find out the version of SSH type: '''ssh -V'''&amp;lt;br&amp;gt;&lt;br /&gt;
A very common version that contains the problem is: '''OpenSSH_3.8.1p1 Debian-8.sarge.4, OpenSSL 0.9.7e 25 Oct 2004'''&amp;lt;br&amp;gt;&lt;br /&gt;
''--Submitted by [[user:Deanhouseholder|Dean Householder]] on 21 Apr 2006''&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Feature_Requests</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Feature_Requests"/>
				<updated>2006-02-11T20:13:24Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added Portability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Code folding]] for functions and any block of code, configurable for every language.&lt;br /&gt;
* Ability to handle [[nested comments]].&lt;br /&gt;
&lt;br /&gt;
* Ability to specify background colours and font effects (bold, italic, underlined) in syntax highlighting. This can make comments much easier to find, and be a very powerful aid for quote matching etc.&lt;br /&gt;
* Option to ignore .stx keywords in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Option to ignore quotes in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Have a column marker (vertical line) show were the cutoff would be when printing the document.&lt;br /&gt;
:You can already set column marker lines (Document -&amp;gt; Set column marker) and wrap at a specific column (Document -&amp;gt; Word Wrap Options). But, if you don't want to wrap the text and you want to print the document there should be a way to determine where the end of the page is.&lt;br /&gt;
* Support for more than one SCRIPT_BEGIN and SCRIPT_END in syntax files (helps with [[heredoc]] syntax).&lt;br /&gt;
* The ability to split the screen and load different documents into each section (like in Emacs).&lt;br /&gt;
* Solving the ambiguity in brace matching oocuring at the right square bracket in: [asdf]{asdf}. Fx always look at the brace to the left...&lt;br /&gt;
* Ability to view(or edit) files in HEX mode.&lt;br /&gt;
* Ability to sort Syntax File Types by description or file extension&lt;br /&gt;
&lt;br /&gt;
===Text Reader===&lt;br /&gt;
* Read-only &amp;quot;Reader&amp;quot; mode. Editing is disabled, pressing the spacebar causes paging down, and Up/Down keys scroll the visible part of the document on screen, Left/Right keys switch between opened documents. More comfortable for code browsing and reading.&lt;br /&gt;
&lt;br /&gt;
===Syntax Hints===&lt;br /&gt;
* DOM Capability.  Ability to list DOM objects in a dropdown list.  For example, in ASP when you type Response+Period then all the DOM selections for the Response object could be in the dropdown list.  Just like in Visual Studio.&lt;br /&gt;
: &amp;quot;Intellisense&amp;quot; is the word you're looking for&lt;br /&gt;
&lt;br /&gt;
===Syntax Highlight===&lt;br /&gt;
* Ability to specify background as well as text color.&lt;br /&gt;
* Ability to highlight variables ( $scalar and $array[elements] ) in quoted string (Very very useful for script languages with string expansion like PHP or perl).&lt;br /&gt;
* Ability to highlight special characters in quoted strings (like \r, \n, \t, \x0F etc.).&lt;br /&gt;
* along with #COMMENTON and #COMMENTOFF, it would be nice to have #CODEON and #CODEOFF (i.e. everything outside of the specified delimiters is a comment by default).  #COMMENTOFF and #COMMENTON work for that (essentially reverse the usage), except for the text before the placement for #CODEON.  useful for Verisity's Specman e-language, since code is bracketed by &amp;lt;' and '&amp;gt;, and all else is comments.  Still need to be able to use the #COMMENTON and #COMMENTOFF concurrently with the #CODEON and #CODEOFF though, as comments can reside in the bracketed code too.  more explanation, or example e file: parkerjd@tampabay.rr.com&lt;br /&gt;
*ability to specify multiple-word keywords for syntax file (e.g. verilog import)  together they highlight, separately they do not highlight unless specified on a separate line for each.  maybe the CR/LF is the delimiter to use, or allow us to escape the space delimiter?&lt;br /&gt;
* ability to specify the folder containing the cliptext files (.ctl)&lt;br /&gt;
* ability to select another ''htmlbar.acp'' and ''template.html'' than the default ones (especialy in a different location than the installation folder)&lt;br /&gt;
&lt;br /&gt;
==Unicode==&lt;br /&gt;
* Full UTF-8 Support&lt;br /&gt;
* Unicode UTF-8/16/32 Support&lt;br /&gt;
* Codepage autodetection for opened files, or, at least, possibility to choose the default codepage for all/certain types of files.&lt;br /&gt;
* Support right-to-left mode for Hebrew, Arabic, etc.&lt;br /&gt;
&lt;br /&gt;
==FTP==&lt;br /&gt;
* SFTP Support&lt;br /&gt;
:(from v2.2 What's New: &amp;quot;Experimental 'Use sftp' option (File-&amp;gt;FTP-&amp;gt;FTP Settings, Works only on Windows XP and higher).&amp;quot;, but does not work properly on keyboard-interactive authorization.&lt;br /&gt;
* Ability to sort FTP accounts in the FTP Settings window.  The current ordering is unpredictable, and a pain when you have a lot of FTP accounts configured&lt;br /&gt;
* Ability to group accounts in a hierarchical structure&lt;br /&gt;
* FTP transfer (saving / opening) should not be modal, waiting for the transfer to complete wastes time, which can be better spent editing other files for example.&lt;br /&gt;
* Option to enable not to load ftp files until their related document window is activated when loading projects or workspace files.&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
===Toolbar===&lt;br /&gt;
* Being able to add or change html toolbar icons.&lt;br /&gt;
* New user buttons in html toolbar for &amp;lt;nowiki&amp;gt;&amp;lt;div&amp;gt; and &amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; tags. Even more, if the toolbar is more customizable for advanced users (e.g. adding custom icons and cliptexts, replacing the icons), that will be fine.&lt;br /&gt;
* Beefup the color pickup button: Move the color pickup button from HTML toolbar to the main toolbar since it is also useful in other scenarios, for example, CSS, or something else. Allow the user to setup formats for the color pickup, e.g. #RRGGBB, rgb(r, g, b) and etc.&lt;br /&gt;
* Toolbar-sets for the HTML toolbar: Users can alternate between several toolbar-sets, to facilitate editing HTML, XHTML, Wiki, BBS codes, and even JSP or ASP.net WebControls....&lt;br /&gt;
* If more than one toolbar available, being able to set the default one in the .stx file&lt;br /&gt;
&lt;br /&gt;
===MDI &amp;amp; Tabs===&lt;br /&gt;
* Ability to change order of tabs in document selector by drag&amp;amp;dropping tabs. ''[can be done through the Window List (F11)]''&lt;br /&gt;
* Ability to close an opened file by double clicking its tab.&lt;br /&gt;
* Having multiple document selectors for different groups of files, and the ability to switch between them.&lt;br /&gt;
* Ability to rename file from context menu of tabs in document selector&lt;br /&gt;
:The directory window supports rename from context menu, but doesn't update the filename of the tab in the document selector if the document is already open.&lt;br /&gt;
* Ability to open more than one instance of EditPlus. Particularly with 2 screens this could be very helpful.&lt;br /&gt;
:Check box in Preferences-&amp;gt;General 'Allow Multiple Instances'&lt;br /&gt;
&lt;br /&gt;
===Sidebar===&lt;br /&gt;
* Window List (F11) in the sidebar&lt;br /&gt;
:If 50 documents are open it is much easier to scroll the list to pick the document than pick through all the tabs at the bottom. It would be nice to have it open all the time so you're not flipping between window list and the document.&lt;br /&gt;
* Function List (Ctrl+F11) in the sidebar&lt;br /&gt;
* More than one dockable function list window that each one collects different lines of text from the document depending on their regular expression settings. &lt;br /&gt;
* Ability to dock the output window as a sidebar&lt;br /&gt;
:In some cases it would be nice to have the output window use more vertical space than horizonal and not use the space of the editor.&lt;br /&gt;
:And in some other cases, it would be nice to have the output window &amp;quot;floating&amp;quot; or behind the editor main window, so that we can save some visual space for editing.&lt;br /&gt;
*Support for loading html or text file in side bar for reference. This customised reference file may display functionlist or class list as specified by delimeters, and can be generated through commands. Providing option to run configurable commands on this list.&lt;br /&gt;
* ''Function List - Copy'' or ''Function Pattern'' should allow for removing braces in the same line as the keyword (''sub'' or ''function''), so that they do not appear in the Function List window (sub Example($$@)  ''instead of'' sub Example($$@) '''{''' ).&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
* Give 'Close' (in File Menu) the keyboard shortcut: CTRL+W ''[can be done in Tools &amp;gt;&amp;gt; Preferences &amp;gt;&amp;gt; Keyboard]''&lt;br /&gt;
* Ability to Sort documents by name in the Window List (F11)&lt;br /&gt;
* Paste at begining/end of selected lines  ''(Similar to line comment, but also at end of line)''&lt;br /&gt;
* Add a keyboard shortcut for commenting/uncommenting. Visual Studio uses CTRL-K followed by CTRL-C.&lt;br /&gt;
* Fix the keyboard shortcut for commenting/uncommenting so it doesn't lose the text selection. You can't comment and uncomment repeatedly without reselecting the text block.&lt;br /&gt;
* Add a keyboard shortcut option for moving selected text up or down by one line, similar to Microsoft Word's Alt-Shift-Up and Alt-Shift-Down.  The highlighted text is expanded to include the entire line(s) and one line above is moved below the text block or one line below is moved above the text block.  Be sure the text remains highlighted so it can be repeated quickly.&lt;br /&gt;
* Add synchronized scrolling for vertically tiled windows like the UltraEdit function with the same name. A sample source code for VisualBasic can be visited at http://www.codeproject.com/vb/net/RTFSynchronizedScrolling.asp&lt;br /&gt;
* Give the output window the ability to take input.&lt;br /&gt;
: ''You always have the chance to use the main window for that. ;) ''&lt;br /&gt;
&lt;br /&gt;
==Macros==&lt;br /&gt;
* Ability to run a macro from the current position to the end of the file instead of specifying just the number of times to run.&lt;br /&gt;
* Ability to store keyboard recordings in named files in addition to the ten shortcut positions.  Ability to playback these recordings by selecting them from a file open window.&lt;br /&gt;
* Store keyboard recordings as XML files that can be edited after the fact.  Nothing fancy (a full macro language is not needed), but just a list of keystrokes in plain text with a simple schema.  Some of my recordings are so old I don't remember how I recorded them!&lt;br /&gt;
&lt;br /&gt;
==Sort/Replace==&lt;br /&gt;
* Ability to sort like 1, 2, 3, 10, 11, not 1, 10, 11, 2, 3&lt;br /&gt;
* Additional option to have multiples removed and leave only originals.&lt;br /&gt;
:This is very useful if you have to lists that are very similar and you want to see what's different between them.  ''I've needed this more times then you can imagine!''&lt;br /&gt;
* Ability to replace in all files (matching wildcard) in current directory and its subdirectories. Can be disabled for FTP locations.&lt;br /&gt;
* Option to remove duplicates when column sorting if sorted parts are the same.&lt;br /&gt;
* Ability to sort on multiple (at least 2) columns.&lt;br /&gt;
* In 'Function List' window, sort should only apply to class/namespace/function names, instead of sorting whole line including the return type.&lt;br /&gt;
&lt;br /&gt;
==Auto-Complete==&lt;br /&gt;
* Keyboard shortcut to turn on and off the auto-complete functionality. (Holding down the CTRL key while hitting Enter or Space will temporally disable auto complete.  Use ctrl-Z (undo) if you forget.)&lt;br /&gt;
* Drop down list to hint Auto-completing possibilities. For example, if there are keywords like &amp;quot;asptextbox&amp;quot;, &amp;quot;aspbutton&amp;quot;, &amp;quot;aspradiobutton&amp;quot;, &amp;quot;elbutton&amp;quot;..., and we type &amp;quot;asp&amp;quot;, a drop-down list containing &amp;quot;asp&amp;quot; keywords will be shown and we can select or continue typing the one we want, and then press the space-bar or enter, or we type &amp;quot;el&amp;quot;, and then &amp;quot;elbutton&amp;quot; shows up in the drop-down list. Of course, a delay before showing the drop-down list is appropriate.&lt;br /&gt;
* Intellisense-like auto completion. (Provides hints as you type, instead of inserting a pre-formatted string to be edited later)&lt;br /&gt;
&lt;br /&gt;
==Version Control Integration==&lt;br /&gt;
* Native functionality to check files in/out of a CVS repository. (If the left 'Directory' panel is explorer compatible, it's possible to use TortoiseCVS inside EditPlus.)&lt;br /&gt;
* Native functionality to check files in/out of a Subversion repository. (Same as above but using 'TortoiseSVN' instead). &amp;lt;i&amp;gt;A way to get this going would be to provide an explorer view in the directory window. Not sure if it's possible but as Tortoise provides the shell integration you would get it for free. Other than that. Being able to hide certain files/folders would be useful. For example in Subversion .svn folders are scattered about the working folder so hiding these in the directory window would be a real step forward.&amp;lt;/i&amp;gt;&lt;br /&gt;
* Include a native wrapper that could be used as the 'editor-cmd' value for Subversion - a separate process that stays open while the file in question is still opened in EditPlus, and terminates when file is closed (without exiting EditPlus!).&lt;br /&gt;
&lt;br /&gt;
==Porting==&lt;br /&gt;
* A Linux/FreeBSD version (See: [[Running EditPlus on Linux]])&lt;br /&gt;
* A Windows CE version&lt;br /&gt;
&lt;br /&gt;
==File and Project Management==&lt;br /&gt;
* Default to not clear undo history when saving a file but an option to do so.&lt;br /&gt;
&amp;lt;!-- Reworded above.  * If file is changed outside of editplus the dialog pops up asking if you want to reload the file.  If the file is reloaded you can no longer do ctrl-z. It would be nice to not lose the ability to ctrl-z. --&amp;gt;&lt;br /&gt;
* Option to mark lines that have changed (put a color marker in left gutter) until file is saved again.&lt;br /&gt;
:* Also option to jump quickly between changed lines.&lt;br /&gt;
* Option to automatically save user-tool output to a file.&lt;br /&gt;
* Support for WebDAV(!!!) with locking.&lt;br /&gt;
* Support folders in project files.&lt;br /&gt;
* Option to open all files in a directory and all of its subdirectories&lt;br /&gt;
* Incremental backup extension/name (.001, .002, .003 ...)&lt;br /&gt;
* Support for user tool commands as subcontext menu (popup menu)in document selector view to      directly run the command.&lt;br /&gt;
* Ability to autosave as normal but save to backup file only upon exiting file, or based on separate auto-save interval (helpful when editing large files over network or online).&lt;br /&gt;
* Auto backup unsaved documents&lt;br /&gt;
* Option to sort project files depending on file paths.&lt;br /&gt;
* Have project menu as a submenu of the context menu of document selector bar.&lt;br /&gt;
* Option to specify the font of document selector bar.&lt;br /&gt;
* Additional user defined argument macro ${userDefined}&lt;br /&gt;
* Additional argument macro ${iniFileDirectory}&lt;br /&gt;
* Additional argument macro ${userProfile} to point to &amp;quot;C:\Documents and Settings\userAccount&amp;quot; (like the windows environment variable %USERPROFILE%)&lt;br /&gt;
* Support for argument macros when feeding the fields &amp;quot;INI file directory&amp;quot;, syntax file path, autocompletion file path and user tool command so that the settings of editplus could easily be exported to any windows computer using ${userProfile}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Search and Formatting==&lt;br /&gt;
* Ability to restrict 'Find in Files' to certain file types.&lt;br /&gt;
: ''I believe you can do this (in 2.20) using '*.extension' as 'File type' in 'Find in Files''' &lt;br /&gt;
* Incremental search / find-as-you-type within document, like in Opera, Firefox (or emacs). Instead of popping-up a find-window, this would slide-in a find-bar. The cursor jumps to the next matching position as you type.&lt;br /&gt;
* Ability to reformat a script according to keyword's case (autoadjust) in the .stx file.&lt;br /&gt;
* Ability to auto-trim all trailing white-space on save.&lt;br /&gt;
* Ability to URL encode/decode the selected text&lt;br /&gt;
* Simple file comparison utilities with differences highlighted&lt;br /&gt;
* A more fully featured regular expresion engine, closer to Perl. The repetition operator {n,m}, would be extremely useful.&lt;br /&gt;
* Option for PascalCasing as well as camelCasing in addition to the lower casing, UPPER CASING, invert CASING, and Sentence Casing which currently exist.&lt;br /&gt;
*Support for 'search in files' option as a command which can  be used by user tools to customise functionalty.&lt;br /&gt;
* Another (and independent) &amp;quot;find in files&amp;quot; button to be used as a task list by saving the regex for //TODO, //HACK, etc. along with the other search options.&lt;br /&gt;
* ''A +/-/collapse/expand option similar to windows file explorer for all statements with brace enveloped blocks of code. eg: Click a '-' to hide everything within a while loop's braces'' '''-- see Document Display, [[Code folding]]'''&lt;br /&gt;
* A 'block comment' command. Like line comment, but comments whole selected block, not every line of it. (If supported by language being edited.)&lt;br /&gt;
* A dockable window for a list of matching lines for the last search operation. Jump to any line from this window.&lt;br /&gt;
* Replace using scriptlets: On a search, pass captured groups (if regular expression) or found text (if regular search) to a scriptlet, and replace using its return value: Functionally, it would be like Perl's s///e thing, or JavaScript String.replace() with a closure for the second parameter. WSH via IActiveScript and friends would be the easiest way to do this, I think. In fact, it could also be done as a user tool, though it would be a clunky user experience and it wouldn't exactly be a one-liner. And making it &amp;quot;native&amp;quot; would be a good warm-up for adding automation to the entire editor.&lt;br /&gt;
&lt;br /&gt;
==Language-specific==&lt;br /&gt;
* ctags support.&lt;br /&gt;
* Intellisense Engine (customizable via files; i.e. javascript.int)&lt;br /&gt;
* LaTeX support&lt;br /&gt;
&lt;br /&gt;
==(x)html==&lt;br /&gt;
* Auto detect and complete width and height when inserting img tags.&lt;br /&gt;
* Auto indent whole xml documents (restructurize)&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
* Built-in (x)html validator&lt;br /&gt;
* Built-in css validator&lt;br /&gt;
* Built-in XML validator or MSXML 4.0 integration&lt;br /&gt;
* Support for configurable triggering event which will execute the specified  command. eg. updating document selector view automatically upon directory changes.&lt;br /&gt;
* ''Support for [[Code folding]]. When editting a C/C++ or JAVA code file, some functions and classes take up many lines. I wish I could fold the codes by simply clicking some mark besides the function name or class name and unfold them by the same way.'' -- '''Also referred to in chapter 'Document Display'.'''&lt;br /&gt;
* Support for Latex files - autocompletion, section/subsection selector, section/subsection folding&lt;br /&gt;
* Insert link to file option on context menu in file list (like insert image)&lt;br /&gt;
* ''Multiple .bak file versions (ie - filename.bak, filename.bak1, filename.bak2, etc)'' -- '''Also referred to in chapter 'File and Project Management'.'''&lt;br /&gt;
* Ability to have a page pull up in the browser with https&lt;br /&gt;
&lt;br /&gt;
==User Tools==&lt;br /&gt;
* An option to redirect the standard error stream to the output window. This would be enormously useful for &amp;quot;run as text filter&amp;quot; tools. If the output window is hidden when the command is invoked, it would be cool for it to be shown if and only if there is some output on standard error, or the exit status is nonzero.&lt;br /&gt;
* A macro such as &amp;quot;CurQuote&amp;quot; that expands to the string (quotation included between &amp;quot;s or 's) under cursor  would be much useful.&lt;br /&gt;
* pass the hostname/path for the current file as an argument&lt;br /&gt;
&lt;br /&gt;
==Portability==&lt;br /&gt;
* A &amp;quot;Portable&amp;quot; version of EditPlus that could be installed on a thumbdrive and work regardless of the drive letter that Windows assigned it.&lt;br /&gt;
** It might even be great if users could simply download a .zip file and all that was required was to extract it to the thumbdrive.&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/WinSCP</id>
		<title>WinSCP</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/WinSCP"/>
				<updated>2005-09-25T09:37:23Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Updated SFTP status in EditPlus&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''WinSCP''' is an open source freeware SFTP client for Windows using SSH. Legacy SCP protocol is also supported. Its main function is safe copying of files between a local and a remote computer.&lt;br /&gt;
&lt;br /&gt;
Though EditPlus does now support SFTP file transfer natively, it sometimes fails to connect to certain types of SFTP servers.  You can configure WinSCP to use EditPlus as an external editor.&lt;br /&gt;
Make sure you have WinSCP version 3.7.2 or higher in order for it to work properly with EditPlus. You can download WinSCP [http://winscp.net/eng/download.php here].&lt;br /&gt;
&lt;br /&gt;
==Configure WinSCP to use EditPlus as an External Editor==&lt;br /&gt;
#Launch WinSCP&lt;br /&gt;
#Check &amp;quot;Advanced Options&amp;quot; in the lower left&lt;br /&gt;
#Select &amp;quot;Preferences&amp;quot; in the pane on the left&lt;br /&gt;
#Press the &amp;quot;Preferences...&amp;quot; button on the lower right&lt;br /&gt;
#Select Editor in the pane on the left&lt;br /&gt;
#Choose &amp;quot;External Editor&amp;quot; and enter the path to your EditPlus executable, followed by an exclamation point-dot-exclamation point&amp;lt;br&amp;gt;e.g. &amp;lt;code&amp;gt;&amp;quot;C:\Program Files\EditPlus 2\editplus.exe&amp;quot; !.!&amp;lt;/code&amp;gt;&lt;br /&gt;
#Check &amp;quot;External editor opens multiple files in one window (process)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Prevent SSH Timeout==&lt;br /&gt;
#Launch WinSCP&lt;br /&gt;
#Check &amp;quot;Advanced Options&amp;quot; in the lower left&lt;br /&gt;
#Select &amp;quot;Connection&amp;quot; in the pane on the left&lt;br /&gt;
#Under &amp;quot;Keepalives&amp;quot; choose &amp;quot;Sending of null SSH packets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Cache Password for Background File Transfer==&lt;br /&gt;
When you're editing a file opened using WinSCP, and you save that file, by default WinSCP will prompt for your password again. However, you can prevent that from happening by having WinSCP cache your password.&lt;br /&gt;
#Launch WinSCP&lt;br /&gt;
#Check &amp;quot;Advanced Options&amp;quot; in the lower left&lt;br /&gt;
#Select &amp;quot;Preferences&amp;quot; in the pane on the left&lt;br /&gt;
#Press the &amp;quot;Preferences...&amp;quot; button on the lower right&lt;br /&gt;
#Select Transfer &amp;gt; Background in the pane on the left&lt;br /&gt;
#Check &amp;quot;Remember password of main session for background transfers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
[http://winscp.net/ WinSCP Homepage]&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Firefox</id>
		<title>Firefox</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Firefox"/>
				<updated>2005-08-25T08:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Removed version numbers so this page will always be up-to-date.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Firefox''' is a free, open source web browser from the [http://www.mozilla.org/foundation/ Mozilla Foundation] popular among web designers and developers.&lt;br /&gt;
&lt;br /&gt;
==Edit Source with EditPlus==&lt;br /&gt;
You can view the HTML page source with EditPlus using one of the following two Firefox extensions:&lt;br /&gt;
&lt;br /&gt;
#[http://gemal.dk/mozilla/launchy.html Launchy]&amp;lt;BR&amp;gt;After installing the extension, just right-click on the background, select Launchy &amp;gt; View Source in EditPlus.&lt;br /&gt;
#[http://dafizilla.sourceforge.net/viewsourcewith/ ViewSourceWith]&amp;lt;br&amp;gt;This is a new extension that let's you define the program you want to use (from within your extensions manager after install) and then it adds &amp;quot;View Source with EditPlus&amp;quot; to your right-click context menu. &lt;br /&gt;
&lt;br /&gt;
Both of these programs provide a button which you can add to your toolbar by right-clicking on it and selecting &amp;quot;Customize&amp;quot;.  Then drag the Launchy or the ViewSourceWith icon to your toolbar.&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*[http://www.mozilla.org/products/firefox/ Firefox homepage]&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2005-08-25T08:10:04Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Updated to 2.20&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v2.20 available from the [http://www.editplus.com/download.html Download Page].&lt;br /&gt;
&lt;br /&gt;
== What's New in version 2.20 ==&lt;br /&gt;
&amp;lt;feature&amp;gt;&lt;br /&gt;
* Supports multiple languages in single Unicode or UTF-8 file.&lt;br /&gt;
* Experimental 'Use sftp' option (File-&amp;gt;FTP-&amp;gt;FTP Settings).&lt;br /&gt;
* Embedded script uses its own auto-completion.&lt;br /&gt;
* #AUTOCASE=y section added in stx file for automatic case correction.&lt;br /&gt;
* Allows auto-completion upon Enter key.&lt;br /&gt;
* #REGEX_QUOTE=/ section in perl.stx and js.stx for regular expression literals.&lt;br /&gt;
* Supports #HEREDOC=&amp;lt;&amp;lt;EOF section in the syntax file for heredoc strings.&lt;br /&gt;
* Syntax highlighting for Perl handles POD.&lt;br /&gt;
* Syntax highlighting for HTML handles &amp;lt;![CDATA[ tag.&lt;br /&gt;
* 'Create/Rename/Delete Directory' command on the Directory Window.&lt;br /&gt;
* 'Open Selection' command (File-&amp;gt;Others)&lt;br /&gt;
* Increases number of column marker to 10.&lt;br /&gt;
* Displays FTP server name.on the Recent Files also.&lt;br /&gt;
* Holding Shift key with 'Replace All' button disables Undo feature.&lt;br /&gt;
* 'Backup file extension' option (Preferences-&amp;gt;Files)&lt;br /&gt;
* 'Properties' command on the Directory Window popup menu.&lt;br /&gt;
* 'View in Browser' command on the Directory Window popup menu.&lt;br /&gt;
* 'Sort' option on the Function List dialog box&lt;br /&gt;
* -pr project_name command line option for selecting project.&lt;br /&gt;
* Toolbar buttons for Reload, Lock Files, Close All command.&lt;br /&gt;
* $(Copy) argument macro to copy selection before running user tool.&lt;br /&gt;
* $(Prompt) argument macro for user tool.&lt;br /&gt;
* Shows a delete confirmation when it is turned off with Recycle Bin.&lt;br /&gt;
* 'Text filter to Output Window' option (Preferences-&amp;gt;User tools).&lt;br /&gt;
* Max. number of project increased to 70.&lt;br /&gt;
* 'Show Markers' option on the Set Column Marker dialog box.&lt;br /&gt;
* Resizable Open Remote dialog box.&lt;br /&gt;
* Code page option for new files (Preferences-&amp;gt;Files).&lt;br /&gt;
&amp;lt;bug fix&amp;gt;&lt;br /&gt;
* Upload command could cause error message on program exit.&lt;br /&gt;
* 'Copy Append' could cause program crash.&lt;br /&gt;
* New version crashed if the old version had the maximum 30 syntax settings.&lt;br /&gt;
* 'Always apply wrap' option caused program crash when printing selection.&lt;br /&gt;
* 'Leading Spaces to Tabs' command over a selection could crash program.&lt;br /&gt;
* 'Matching Brace' option could cause program crash in some cases.&lt;br /&gt;
* Overwrite prompt on the Save as Remote dialog box did not work in some cases.&lt;br /&gt;
* 'Duplicate Char' command did not work with variable-width fonts.&lt;br /&gt;
* Shortcut key for Directory popup menu could not be set.&lt;br /&gt;
* Align commands did not work in word wrap mode.&lt;br /&gt;
* Improved warning message for large files.&lt;br /&gt;
* 'Stop' command on the output window did not work in some cases.&lt;br /&gt;
* FTP file date was not displayed correctly in same cases.&lt;br /&gt;
* Perl syntax highlighting was not correct with $' and $&amp;quot; symbol.&lt;br /&gt;
* Regular expression '\n' did not work correctly in some cases.&lt;br /&gt;
* Regular expression [^] (not in range) did not work with case sensitive option.&lt;br /&gt;
* Firewall option did not work.&lt;br /&gt;
* Line Comment command sometimes did not work correctly in word wrap mode.&lt;br /&gt;
* Match Brace did not work with embedded script inside quotes.&lt;br /&gt;
* Toggling browser and editor with remote files did not work correctly.&lt;br /&gt;
* Keystroke recording did not support Find in Files command.&lt;br /&gt;
* Matching brace feature did not work correctly at the end of wrapped line.&lt;br /&gt;
* Syntax highlighting in some cases failed at the column 4097.&lt;br /&gt;
* FTP file list was not correct on some AIX FTP servers.&lt;br /&gt;
* Matching Brace feature did not work correctly in some cases.&lt;br /&gt;
* 'Delete Marked Lines' command did not work correctly in word wrap mode.&lt;br /&gt;
* Change Case commands on column selection could append trailing spaces.&lt;br /&gt;
* A screen update problem fixed with custom active line color.&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Releases</id>
		<title>Releases</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Releases"/>
				<updated>2005-08-16T18:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added Latest bug patch link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Latest Version ==&lt;br /&gt;
&lt;br /&gt;
v2.12 available from the [http://www.editplus.com/download.html Download Page].&amp;lt;br&amp;gt;&lt;br /&gt;
Latest bug patch (build 225) available from the [http://www.editplus.com/trouble.html Support Page].&lt;br /&gt;
&lt;br /&gt;
== Patches ==&lt;br /&gt;
&lt;br /&gt;
Latest build is BUILD: 225 DATE: 2005-03-09&lt;br /&gt;
&lt;br /&gt;
[http://www.editplus.com/trouble.html ChangeLog]&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Regular_Expressions</id>
		<title>Regular Expressions</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Regular_Expressions"/>
				<updated>2005-07-17T16:39:59Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Added note at top&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page exists as a resource for '''regular expressions''' frequently used in EditPlus. In order to learn more about the particulars of creating a regular expression in EditPlus, see [[regular expression syntax]].&lt;br /&gt;
&lt;br /&gt;
 Note: EditPlus only supports [[http://en.wikipedia.org/wiki/POSIX POSIX]] Regular Expressions, not [[http://en.wikipedia.org/wiki/PCRE PCRE]] (Perl-Compatible Regular Expressions),&lt;br /&gt;
 which means there are no back-references, no look-aheads, no fancy quantifiers, and no convenient character&lt;br /&gt;
 group syntax.  Just your basic ^, $, +, *, ?, [ ], [^ ], syntax.  Also note that +/* are always greedy.&lt;br /&gt;
&lt;br /&gt;
== Find various forms of a word ==&lt;br /&gt;
 fast(er|est)&lt;br /&gt;
For example: this reg. expression '''th(is|e|at)''' will find the words This, The, and That&lt;br /&gt;
&lt;br /&gt;
== Find a specific tag ==&lt;br /&gt;
Here is a useful regular expression for dealing with XML or HTML files - it matches an opening, closing or singular blink tag. Simply replace blink with your tag of choice.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;(/?)(blink)( [^&amp;gt;]*)?(/?)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Matches:&lt;br /&gt;
 &amp;lt;blink&amp;gt;&lt;br /&gt;
 &amp;lt;blink align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;/blink&amp;gt;&lt;br /&gt;
 &amp;lt;blink garbage=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
Does not match:&lt;br /&gt;
 &amp;lt;blinking&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use it in a search and replace (for instance, replace all blink tags with spans) use the following as the replace string:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;\1span\3\4&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User:Deanhouseholder</id>
		<title>User:Deanhouseholder</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User:Deanhouseholder"/>
				<updated>2005-03-28T18:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dean Householder==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width: 400px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font: 0pt arial; float: left; padding-right: 15px;&amp;quot;&amp;gt;[[Image:http://deanhouseholder.com/deanface.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I've been using EditPlus since 2001 for Web Design and Programming. I've tried other tools and have found nothing to even compare with EditPlus.  I've been a beta tester since 2002 and have been on the [http://groups.yahoo.com/group/editplus/ mailing list] as long.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Keyboard_Shortcuts</id>
		<title>Keyboard Shortcuts</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Keyboard_Shortcuts"/>
				<updated>2005-03-28T17:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Created Keyboard Shortcuts page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recommended Keyboard Shortcuts to Add ==&lt;br /&gt;
&lt;br /&gt;
Modifying the default keyboard shortcut keys allows you to take advantage of potential shortcuts that do not come as defaults in EditPlus.  To change your keyboard shortcuts go to: Tools-&amp;gt;Preferences-&amp;gt;Keyboard.  Next select the Type of shortcut (very similar to the pulldown menus), then select a Command you wish to change.  Below is a list of recommendations from users.  &lt;br /&gt;
&lt;br /&gt;
=== To allow easy switching of documents ===&lt;br /&gt;
(Type: Window)&lt;br /&gt;
* WindowPrev as Alt + Left Arrow&lt;br /&gt;
* WindowNext as Alt + Right Arrow&lt;br /&gt;
&lt;br /&gt;
=== Easily close current document ===&lt;br /&gt;
(Type: File)&lt;br /&gt;
* FileClose as Ctrl + W&lt;br /&gt;
&lt;br /&gt;
=== FTP Shortcuts ===&lt;br /&gt;
(Type: File)&lt;br /&gt;
* FileOpenRemote as Ctrl + Alt + O&lt;br /&gt;
* FileSaveRemote as Ctrl + Alt + S&lt;br /&gt;
&lt;br /&gt;
=== HTML Shortcuts ===&lt;br /&gt;
(Type: HTML)&lt;br /&gt;
* HTMLBreak (&amp;lt;nowiki&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/nowiki&amp;gt;) as Shift + Enter&lt;br /&gt;
* HTMLNbsp (&amp;lt;nowiki&amp;gt;&amp;amp;nbps;&amp;lt;/nowiki&amp;gt;) as Shift + Space&lt;br /&gt;
* HTMLParagraph (&amp;lt;nowiki&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/nowiki&amp;gt;) as Ctrl + Enter&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User:Deanhouseholder</id>
		<title>User:Deanhouseholder</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User:Deanhouseholder"/>
				<updated>2004-11-26T23:19:25Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;font: 0pt arial;&amp;quot;&amp;gt;[[Image:http://deanhouseholder.com/deanface.gif]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dean Householder&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User:Deanhouseholder</id>
		<title>User:Deanhouseholder</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User:Deanhouseholder"/>
				<updated>2004-11-26T23:16:44Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:http://deanhouseholder.com/deanface.gif]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hi, I'm Dean Householder&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Feature_Requests</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Feature_Requests"/>
				<updated>2004-11-26T18:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Document Display==&lt;br /&gt;
* Ability to handle [[nested comments]].&lt;br /&gt;
* Ability to specify background colours in syntax highlighting. This can make comments much easier to find, and be a very powerful aid for quote matching etc.&lt;br /&gt;
* Option to ignore .stx keywords in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Option to ignore quotes in plain text (i.e. highlight them only when they are within the tag delimiters defined for the language.&lt;br /&gt;
* Code folding for functions and any block of code, configurable for every language.&lt;br /&gt;
* Have a column marker (vertical line) show were the cutoff would be when printing the document.&lt;br /&gt;
:You can already set column marker lines (Document -&amp;gt; Set column marker) and wrap at a specific column (Document -&amp;gt; Word Wrap Options). But, if you don't want to wrap the text and you want to print the document there should be a way to determine where the end of the page is.&lt;br /&gt;
&lt;br /&gt;
==Unicode==&lt;br /&gt;
* Full UTF-8 Support&lt;br /&gt;
&lt;br /&gt;
==FTP==&lt;br /&gt;
* SFTP Support&lt;br /&gt;
&lt;br /&gt;
==User Interface==&lt;br /&gt;
* Being able to add or change html toolbar icons.&lt;br /&gt;
* New user buttons in html toolbar for &amp;lt;nowiki&amp;gt;&amp;lt;div&amp;gt; and &amp;lt;span&amp;gt;&amp;lt;/nowiki&amp;gt; tags&lt;br /&gt;
* Ability to change order of tabs in document selector ''[can be done through the Window List (F11)]''&lt;br /&gt;
* Having multiple document selectors for different groups of files, and the ability to switch between them.&lt;br /&gt;
* Ability to Sort documents by name in the Window List (F11)&lt;br /&gt;
* Paste at begining/end of selected lines  ''(Similar to line comment, but also at end of line)''&lt;br /&gt;
&lt;br /&gt;
===Sidebar===&lt;br /&gt;
* A list of open documents in the side menu (cliptext).&lt;br /&gt;
:If 50 documents are open it is much easier to scroll the list to pick the document than pick through all the tabs at the bottom. Window list (f11) is o.k. but would be nice to have it open all the time so your not flipping between window list and the document.&lt;br /&gt;
* Function List in the side menu (cliptext). Basically, same reasoning as above.&lt;br /&gt;
* Ability to change the location of the output window (ex. side menu). In some cases it would be nice to have the output window use more vertical space than horizonal and not use the space of the editor.&lt;br /&gt;
&lt;br /&gt;
==Macros==&lt;br /&gt;
* Ability to run a macro from the current position to the end of the file instead of specifying just the number of times to run.&lt;br /&gt;
&lt;br /&gt;
==Sort/Replace==&lt;br /&gt;
* Additional option to have multiples removed and leave only originals.&lt;br /&gt;
:This is very useful if you have to lists that are very similar and you want to see what's different between them.  ''I've needed this more times then you can imagine!''&lt;br /&gt;
&lt;br /&gt;
==Autocomplete==&lt;br /&gt;
* Keyboard shortcut to turn on and off the autocomplete functionality.&lt;br /&gt;
&lt;br /&gt;
==CVS==&lt;br /&gt;
* Native functionality to check files in/out of a CVS repository.&lt;br /&gt;
&lt;br /&gt;
==Porting==&lt;br /&gt;
* A Linux/FreeBSD version&lt;br /&gt;
&lt;br /&gt;
==File and Project Management==&lt;br /&gt;
* If file is changed outside of editplus the dialog pops up asking if you want to reload the file.  If the file is reloaded you can no longer do ctrl-z. It would be nice to not lose the ability to ctrl-z.&lt;br /&gt;
* Automatically save user-tool output to a file.&lt;br /&gt;
* Support for WebDAV with locking.&lt;br /&gt;
&lt;br /&gt;
==Search and Formatting==&lt;br /&gt;
* Incremental search / find-as-you-type within document, like in Opera, Firefox (or emacs). Instead of popping-up a find-window, this would slide-in a find-bar. The cursor jumps to the next matching position as you type.&lt;br /&gt;
* Ability to reformat a script according to keyword's case (autoadjust) in the .stx file.&lt;br /&gt;
* Ability to auto-trim all trailing white-space on save.&lt;br /&gt;
&lt;br /&gt;
==Language-specific==&lt;br /&gt;
* ctags support.&lt;br /&gt;
* Intellisense (for Java).&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
* Built-in (x)html validator&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-11-18T07:17:16Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop=== http://www.datastic.com/tools/colorcop/&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister=== http://www.theill.com/fl/&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;nowiki&amp;gt;$(CurSel) in quotes, like this &amp;quot;$(CurSel)&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy=== http://tidy.sourceforge.net/&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: tidy.exe -config tidyconfig.txt&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Run as Text Filter: Checked&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)=== http://www.java2html.de/&lt;br /&gt;
Description: Converts the source code of the current java file to html.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\path\to\java2html.jar -srcfile&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)=== http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\path\to\java2html.jar&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)=== http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to html.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\programming\java2html\java2html.jar &amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: -srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler=== http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\javac.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save Open Files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime=== http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\java.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileNameNoExt)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc=== http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\javadoc.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;lt;nowiki&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer=== http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\appletviewer.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM=== http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in this java api help file. Make sure when adding this you click &amp;quot;Add Tool&amp;quot;/&amp;quot;HTML help file (*.chm)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\jdk142.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online=== http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: file:///C:/java_api_1.4.2/api/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)=== http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cmd.exe /c type&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)=== http://jalopy.sourceforge.net/&lt;br /&gt;
Formats java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;quot;$(FileDir)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\php.exe -l&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Extended CHM Manual=== http://www.php.net/docs-echm.php&lt;br /&gt;
Add Tool-&amp;gt;HTML help file (*.chm)-&amp;gt;Point to php_manual_en.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version.  Be sure to run php_manual_prefs.exe to set the configuration how you like it.  I recommend selecting the phpZ skin.  It gives a lot of extra options such as a breadcrumb for easy navigation, &amp;quot;Navigate to this page online&amp;quot;, seperated user comments from help example, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cscript.exe //nologo&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cmd.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF=== http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look the same but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: %systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files=== http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Programming\WinMerge\WinMergeU.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(WindowList)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot;&lt;br /&gt;
$(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Output Pattern&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Regular Expression: ^([0-9]+):&amp;lt;br&amp;gt;&lt;br /&gt;
Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Check &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JRuler=== http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler=== http://legacy.sheltonbbs.com/~jmmorse/CoolRuler.rar&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-11-18T07:15:22Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* PHP: The Extended CHM Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop=== http://www.datastic.com/tools/colorcop/&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister=== http://www.theill.com/fl/&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;nowiki&amp;gt;$(CurSel) in quotes, like this &amp;quot;$(CurSel)&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy=== http://tidy.sourceforge.net/&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: tidy.exe -config tidyconfig.txt&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Run as Text Filter: Checked&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)=== http://www.java2html.de/&lt;br /&gt;
Description: Converts the source code of the current java file to html.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\path\to\java2html.jar -srcfile&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)=== http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\path\to\java2html.jar&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)=== http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to html.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\programming\java2html\java2html.jar &amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: -srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler=== http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\javac.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save Open Files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime=== http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\java.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileNameNoExt)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc=== http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\javadoc.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;lt;nowiki&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer=== http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\appletviewer.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM=== http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in this java api help file. Make sure when adding this you click &amp;quot;Add Tool&amp;quot;/&amp;quot;HTML help file (*.chm)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\jdk142.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online=== http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: file:///C:/java_api_1.4.2/api/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)=== http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cmd.exe /c type&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)=== http://jalopy.sourceforge.net/&lt;br /&gt;
Formats java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;quot;$(FileDir)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\php.exe -l&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: The Extended CHM Manual===&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.php.net/docs-echm.php&amp;lt;br&amp;gt;&lt;br /&gt;
Add Tool-&amp;gt;HTML help file (*.chm)-&amp;gt;Point to php_manual_en.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version.  Be sure to run php_manual_prefs.exe to set the configuration how you like it.  I recommend selecting the phpZ skin.  It gives a lot of extra options such as a breadcrumb for easy navigation, &amp;quot;Navigate to this page online&amp;quot;, seperated user comments from help example, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cscript.exe //nologo&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cmd.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF=== http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look the same but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: %systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files=== http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Programming\WinMerge\WinMergeU.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(WindowList)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot;&lt;br /&gt;
$(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Output Pattern&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Regular Expression: ^([0-9]+):&amp;lt;br&amp;gt;&lt;br /&gt;
Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Check &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JRuler=== http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler=== http://legacy.sheltonbbs.com/~jmmorse/CoolRuler.rar&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-11-18T07:14:19Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* PHP: The Extended CHM Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==HTML==&lt;br /&gt;
&lt;br /&gt;
===Color Cop=== http://www.datastic.com/tools/colorcop/&lt;br /&gt;
Description: This is the best tool for determining what color is being used via a color picker. I use this all the time!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&lt;br /&gt;
&lt;br /&gt;
===FontLister=== http://www.theill.com/fl/&lt;br /&gt;
Description: Compares all the fonts on my system visually on the screen. (More useful for working with graphics than coding) I'm using version 2.0 which is freeware and does what I want.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Google Search (selection)===&lt;br /&gt;
Description: Search's Google for the current selection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;lt;nowiki&amp;gt;http://www.google.com/search?q=$(CurSel)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
Additional Info: If this fails to work for you, try putting &amp;lt;nowiki&amp;gt;$(CurSel) in quotes, like this &amp;quot;$(CurSel)&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy=== http://tidy.sourceforge.net/&lt;br /&gt;
Description: This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: tidy.exe -config tidyconfig.txt&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Run as Text Filter: Checked&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Java==&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (current file)=== http://www.java2html.de/&lt;br /&gt;
Description: Converts the source code of the current java file to html.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\path\to\java2html.jar -srcfile&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName) -converter HTML -tabs 2 -style KAWA&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (run program)=== http://www.java2html.de/&lt;br /&gt;
Description: Runs the Java to HTML program.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\path\to\java2html.jar&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: to HTML converter (all source in directory)=== http://www.java2html.de/&lt;br /&gt;
Description: converts all the source files in the files current directory to html.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: java -jar c:\programming\java2html\java2html.jar &amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: -srcdir &amp;quot;$(FileDir)&amp;quot; -converter HTML -tabs 2 -style KAWA&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Close window on exit&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Compiler=== http://java.sun.com/&lt;br /&gt;
Description: Compiles Java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\javac.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save Open Files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JVM Runtime=== http://java.sun.com/&lt;br /&gt;
Description: Java Virtual Machine runtime that lets you execute your Java class files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\java.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileNameNoExt)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: JavaDoc=== http://java.sun.com/&lt;br /&gt;
Description: Generates HTML documentation on classes by extracting comments from the Java source code files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\javadoc.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;lt;nowiki&amp;gt;-d &amp;quot;$(FileDir)\documentation&amp;quot; -quiet -public -version -author -linksource -link http://java.sun.com/j2se/1.4.2/docs/api/ $(FileName)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Applet Viewer=== http://java.sun.com/&lt;br /&gt;
Description: Runs the applet viewer on the current file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\appletviewer.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API via CHM=== http://java.sun.com/docs/windows_format.html&lt;br /&gt;
Description: Looks up the current word in this java api help file. Make sure when adding this you click &amp;quot;Add Tool&amp;quot;/&amp;quot;HTML help file (*.chm)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\jdk142.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: API Online=== http://java.sun.com/j2se/1.4.2/download.html#docs&lt;br /&gt;
Description: Opens the java API web page. You can also download the API so you can view it without an internet connection.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\Maxthon.exe (Maxthon is found at http://www.maxthon.com/) Similar command can be used for other browsers.&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: file:///C:/java_api_1.4.2/api/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (Current File)=== http://jalopy.sourceforge.net/&lt;br /&gt;
Description: Formats java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cmd.exe /c type&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileName) | java -jar c:\path\to\jalopy-console-1.0.4.jar 2&amp;gt;nul&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Run as text filter&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Java: Source Format (All Directories)=== http://jalopy.sourceforge.net/&lt;br /&gt;
Formats java source code.&amp;lt;br&amp;gt;&lt;br /&gt;
java.exe -jar c:\programming\jalopy\lib\jalopy-console-1.0.4.jar -r&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: &amp;quot;$(FileDir)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PHP==&lt;br /&gt;
&lt;br /&gt;
===PHP: syntax checker===&lt;br /&gt;
Description: Checks php syntax.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: c:\path\to\php.exe -l&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Check: &amp;quot;Capture Output&amp;quot;, &amp;quot;Save open files&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PHP: The Extended CHM Manual ==&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.php.net/docs-echm.php&amp;lt;br&amp;gt;&lt;br /&gt;
Add Tool-&amp;gt;HTML help file (*.chm)-&amp;gt;Point to php_manual_en.chm&amp;lt;br&amp;gt;&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version.  Be sure to run php_manual_prefs.exe to set the configuration how you like it.  I recommend selecting the phpZ skin.  It gives a lot of extra options such as a breadcrumb for easy navigation, &amp;quot;Navigate to this page online&amp;quot;, seperated user comments from help example, etc.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PHP: online manual===&lt;br /&gt;
Description: This is great because I can put my cursor over a word and press CTRL+2 to open the online manual right to that specific command.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Program Files\Internet Explorer\IEXPLORE.EXE&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;nowiki&amp;gt;http://www.php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Virtual Magnifying Glass=== http://www.come.to/magnifier/&lt;br /&gt;
Description: This turns your cursor into a magnifying glass which is useful when trying to create pixel-perfect code. I'm currently using an old version, 1.50f, which doesn't install. If anyone wants this version please contact me.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
&lt;br /&gt;
===VBScript===&lt;br /&gt;
Description: Executes your VBScript script&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cscript.exe //nologo&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Initial directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted by: John R&amp;amp;ouml;thlisberger&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==File Management==&lt;br /&gt;
&lt;br /&gt;
===DOS (Current Location)===&lt;br /&gt;
Description: Opens DOS in the directory of the currently open file.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: cmd.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Initial Directory: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF=== http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&lt;br /&gt;
Description: This compares the differences between two versions of a file. Answers the question: These look the same but which lines are different?&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Explorer (Current Location)===&lt;br /&gt;
Description: Opens windows explorer in the location of the current open file. Works great for programs like [http://tortoisesvn.tigris.org/ Tortoise SVN].&amp;lt;br&amp;gt;&lt;br /&gt;
Command: %systemroot%\explorer.exe /e,/root,\local disk,&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(FileDir)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WinMerge: Compare two open files=== http://winmerge.org/&lt;br /&gt;
Description: Shows the difference between two open files.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: C:\Programming\WinMerge\WinMergeU.exe&amp;lt;br&amp;gt;&lt;br /&gt;
Arguments: $(WindowList)&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
===Function List===&lt;br /&gt;
Description: I use this to show functions and classes in the output window. This will work on winXP or win2000. The regular expression may also need modified to your preference. Note: The function window ctrl+F11 can also be used but this tool will allow you to view both your code and the functions at the same time.&amp;lt;br&amp;gt;&lt;br /&gt;
Command: findstr /R /I /N  &amp;quot;public.*{$ protected.*{$ private.*{$ static.*{$&amp;quot;&lt;br /&gt;
$(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: $(FileName)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Output Pattern&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Regular Expression: ^([0-9]+):&amp;lt;br&amp;gt;&lt;br /&gt;
Line: Tagged Expression 1&amp;lt;br&amp;gt;&lt;br /&gt;
Check &amp;quot;Capture Output&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: [http://www.provisiontech.net/Contact-Us.html Brett Batie]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JRuler=== http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
Description: I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: Dean Householder&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CoolRuler=== http://legacy.sheltonbbs.com/~jmmorse/CoolRuler.rar&lt;br /&gt;
Description: A Free full featured pixel/inch/etc. Ruler. Much like JRuler, but with more features.&amp;lt;br&amp;gt;&lt;br /&gt;
Posted By: John Morse&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-10-20T04:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* User Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Dean's User Tools]]&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-10-20T04:41:02Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* Dean Householder's User Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==User Tools==&lt;br /&gt;
*[[Dean's User Tools]]&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/Dean%27s_User_Tools</id>
		<title>Dean's User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/Dean%27s_User_Tools"/>
				<updated>2004-10-20T04:40:53Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dean Householder's User Tools==&lt;br /&gt;
&lt;br /&gt;
===The Extended CHM Manual for PHP=== http://www.php.net/docs-echm.php&amp;lt;br&amp;gt;&lt;br /&gt;
HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version.&lt;br /&gt;
&lt;br /&gt;
===PHP.net's online PHP manual===&lt;br /&gt;
*Command: C:\Program Files\Internet Explorer\IEXPLORE.EXE&amp;lt;br&amp;gt;&lt;br /&gt;
*Argument: &amp;lt;nowiki&amp;gt;http://www.php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is great because I can put my cursor over a word and press CTRL+2 to open the online manual right to that specific command&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy=== http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
*Command: tidy.exe -config tidyconfig.txt&amp;lt;br&amp;gt;&lt;br /&gt;
*Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
*Run as Text Filter: Checked&amp;lt;br&amp;gt;&lt;br /&gt;
This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file&lt;br /&gt;
&lt;br /&gt;
===Color Cop=== http://www.datastic.com/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
This is the best tool for determining what color is being used via a color picker. I use this all the time!&lt;br /&gt;
&lt;br /&gt;
===JRuler=== http://www.spadixbd.com/freetools/jruler.htm&amp;lt;br&amp;gt;&lt;br /&gt;
I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&lt;br /&gt;
&lt;br /&gt;
===FontLister=== http://home1.inet.tele.dk/theill/fl.htm&amp;lt;br&amp;gt;&lt;br /&gt;
Compares all the fonts on my system visually on the screen. (More useful for working with graphics then coding) I'm using version 2.0 which is freeware and does what I want.&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF=== http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
This compares the differences between two versions of a file. Answers the question: These look the same but which lines are different?&lt;br /&gt;
&lt;br /&gt;
===Virtual Magnifying Glass=== http://www.come.to/magnifier/&amp;lt;br&amp;gt;&lt;br /&gt;
This turns your cursor into a magnifying glass which is useful when trying to create pixel-perfect code. I'm currently using an old version, 1.50f, which doesn't install. If anyone wants this version please contact me.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hope you guys find this useful,&amp;lt;br&amp;gt;&lt;br /&gt;
Dean Householder&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-10-20T04:36:35Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: /* Dean Householder's User Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dean Householder's User Tools==&lt;br /&gt;
&lt;br /&gt;
===The Extended CHM Manual for PHP=== http://www.php.net/docs-echm.php&amp;lt;br&amp;gt;&lt;br /&gt;
HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version.&lt;br /&gt;
&lt;br /&gt;
===PHP.net's online PHP manual===&lt;br /&gt;
*Command: C:\Program Files\Internet Explorer\IEXPLORE.EXE&amp;lt;br&amp;gt;&lt;br /&gt;
*Argument: &amp;lt;nowiki&amp;gt;http://www.php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is great because I can put my cursor over a word and press CTRL+2 to open the online manual right to that specific command&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy=== http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
*Command: tidy.exe -config tidyconfig.txt&amp;lt;br&amp;gt;&lt;br /&gt;
*Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
*Run as Text Filter: Checked&amp;lt;br&amp;gt;&lt;br /&gt;
This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file&lt;br /&gt;
&lt;br /&gt;
===Color Cop=== http://www.datastic.com/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
This is the best tool for determining what color is being used via a color picker. I use this all the time!&lt;br /&gt;
&lt;br /&gt;
===JRuler=== http://www.spadixbd.com/freetools/jruler.htm&amp;lt;br&amp;gt;&lt;br /&gt;
I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&lt;br /&gt;
&lt;br /&gt;
===FontLister=== http://home1.inet.tele.dk/theill/fl.htm&amp;lt;br&amp;gt;&lt;br /&gt;
Compares all the fonts on my system visually on the screen. (More useful for working with graphics then coding) I'm using version 2.0 which is freeware and does what I want.&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF=== http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
This compares the differences between two versions of a file. Answers the question: These look the same but which lines are different?&lt;br /&gt;
&lt;br /&gt;
===Virtual Magnifying Glass=== http://www.come.to/magnifier/&amp;lt;br&amp;gt;&lt;br /&gt;
This turns your cursor into a magnifying glass which is useful when trying to create pixel-perfect code. I'm currently using an old version, 1.50f, which doesn't install. If anyone wants this version please contact me.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hope you guys find this useful,&amp;lt;br&amp;gt;&lt;br /&gt;
Dean Householder&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-10-20T04:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: Dean Householder's User Tools&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Dean Householder's User Tools==&lt;br /&gt;
&lt;br /&gt;
===The Extended CHM Manual for PHP=== http://www.php.net/docs-echm.php&amp;lt;br&amp;gt;&lt;br /&gt;
HTML help file (*.chm)&amp;lt;br&amp;gt;&lt;br /&gt;
This is great because I can put my cursor over a word and press CTRL+1 to open then offline manual right to that specific command. This version is greatly updated from the .hlp version.&lt;br /&gt;
&lt;br /&gt;
===PHP.net's online PHP manual===&lt;br /&gt;
Command: C:\Program Files\Internet Explorer\IEXPLORE.EXE&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;lt;nowiki&amp;gt;http://www.php.net/$(CurWord)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is great because I can put my cursor over a word and press CTRL+2 to open the online manual right to that specific command&lt;br /&gt;
&lt;br /&gt;
===HTML Tidy=== http://tidy.sourceforge.net/&amp;lt;br&amp;gt;&lt;br /&gt;
Command: tidy.exe -config tidyconfig.txt&amp;lt;br&amp;gt;&lt;br /&gt;
Argument: &amp;quot;$(FilePath)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Run as Text Filter: Checked&amp;lt;br&amp;gt;&lt;br /&gt;
This will automatically clean up your HTML code to whatever standards you designate in the tidyconfig.txt file&lt;br /&gt;
&lt;br /&gt;
===Color Cop=== http://www.datastic.com/tools/colorcop/&amp;lt;br&amp;gt;&lt;br /&gt;
This is the best tool for determining what color is being used via a color picker. I use this all the time!&lt;br /&gt;
&lt;br /&gt;
===JRuler=== http://www.spadixbd.com/freetools/jruler.htm&amp;lt;br&amp;gt;&lt;br /&gt;
I use the standard free ruler to measure the size of images, tables, content area, etc. It adds a ruler to your screen to measure anything!&lt;br /&gt;
&lt;br /&gt;
===FontLister=== http://home1.inet.tele.dk/theill/fl.htm&amp;lt;br&amp;gt;&lt;br /&gt;
Compares all the fonts on my system visually on the screen. (More useful for working with graphics then coding) I'm using version 2.0 which is freeware and does what I want.&lt;br /&gt;
&lt;br /&gt;
===ExamDIFF=== http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware version)&amp;lt;br&amp;gt;&lt;br /&gt;
This compares the differences between two versions of a file. Answers the question: These look the same but which lines are different?&lt;br /&gt;
&lt;br /&gt;
===Virtual Magnifying Glass=== http://www.come.to/magnifier/&amp;lt;br&amp;gt;&lt;br /&gt;
This turns your cursor into a magnifying glass which is useful when trying to create pixel-perfect code. I'm currently using an old version, 1.50f, which doesn't install. If anyone wants this version please contact me.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hope you guys find this useful,&amp;lt;br&amp;gt;&lt;br /&gt;
Dean Householder&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	<entry>
		<id>http://editplus.info/wiki/User_Tools</id>
		<title>User Tools</title>
		<link rel="alternate" type="text/html" href="http://editplus.info/wiki/User_Tools"/>
				<updated>2004-10-20T04:00:24Z</updated>
		
		<summary type="html">&lt;p&gt;Deanhouseholder: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
== Dean Householder's User Tools ==&lt;br /&gt;
&lt;br /&gt;
The Extended CHM Manual for PHP: http://www.php.net/docs-echm.php&lt;br /&gt;
-HTML help file (*.chm)&lt;br /&gt;
- This is great because I can put my cursor over a word and press&lt;br /&gt;
CTRL+1 to open then offline manual right to that specific command. This&lt;br /&gt;
version is greatly updated from the .hlp version.&lt;br /&gt;
&lt;br /&gt;
PHP.net's online PHP manual:&lt;br /&gt;
-Command: C:\Program Files\Internet Explorer\IEXPLORE.EXE&lt;br /&gt;
-Argument: http://www.php.net/$(CurWord)&lt;br /&gt;
- This is great because I can put my cursor over a word and press&lt;br /&gt;
CTRL+2 to open the online manual right to that specific command&lt;br /&gt;
&lt;br /&gt;
HTML Tidy: http://tidy.sourceforge.net/&lt;br /&gt;
-Command: tidy.exe -config tidyconfig.txt&lt;br /&gt;
-Argument: &amp;quot;$(FilePath)&amp;quot;&lt;br /&gt;
-Run as Text Filter: Checked&lt;br /&gt;
- This will automatically clean up your HTML code to whatever&lt;br /&gt;
standards you designate in the tidyconfig.txt file&lt;br /&gt;
&lt;br /&gt;
Color Cop: http://www.datastic.com/tools/colorcop/&lt;br /&gt;
- This is the best tool for determining what color is being used via a&lt;br /&gt;
color picker. I use this all the time!&lt;br /&gt;
&lt;br /&gt;
JRuler: http://www.spadixbd.com/freetools/jruler.htm&lt;br /&gt;
- I use the standard free ruler to measure the size of images, tables,&lt;br /&gt;
content area, etc. It adds a ruler to your screen to measure anything!&lt;br /&gt;
&lt;br /&gt;
FontLister: http://home1.inet.tele.dk/theill/fl.htm&lt;br /&gt;
- Compares all the fonts on my system visually on the screen. (More&lt;br /&gt;
useful for working with graphics then coding) I'm using version 2.0&lt;br /&gt;
which is freeware and does what I want.&lt;br /&gt;
&lt;br /&gt;
ExamDIFF: http://www.prestosoft.com/ps.asp?page=edp_examdiff (freeware&lt;br /&gt;
version)&lt;br /&gt;
- This compares the differences between two versions of a file.&lt;br /&gt;
Answers the question: These look the same but which lines are different?&lt;br /&gt;
&lt;br /&gt;
Virtual Magnifying Glass: http://www.come.to/magnifier/&lt;br /&gt;
- This turns your cursor into a magnifying glass which is useful when&lt;br /&gt;
trying to create pixel-perfect code. I'm currently using an old version&lt;br /&gt;
1.50f which doesn't install. If anyone wants this version please&lt;br /&gt;
contact me.&lt;br /&gt;
&lt;br /&gt;
Hope you guys find this useful,&lt;br /&gt;
Dean Householder&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Deanhouseholder</name></author>	</entry>

	</feed>
