SciTE-with-python details
Biggest additions to SciTE
You can write plugins that use the Python standard library, write to disk, and shell out to other tools
28 built-in plugins for quickly editing html/xml, debugging .py scripts, and jumping to the definition of a method or function in Python or C
Plugins can register for events like OnKey and OnOpen, listen for multi-key keyboard shortcuts, and even show an interactive GUI inside the code editor
The Find-text-in-files dialog now has regular expression support
Customize keyboard bindings on all platforms by editing menukey in a properties file
When multiple editor windows are open, the current search term is shared between processes
Default plugins
Details
Word count/sum...
Running this tool will show a message listing the following features:
Change lines...
Running this tool will show a message listing the following features:
Natural sort order means that 2 will sort before 10, and so on.
Coding reference...
Running this tool will show a message listing the following features:
Search for selected word
Search for selected word (declaration) -- looks for the symbol's declaration, typically in a .h header
Search for selected word (definition) -- looks for the symbol's implementation, supports .c, .cpp, .py
All references -- looks for all occurrences of selected word, even in strings or comments
When a search is run, if there is a file named SciTE.properties in the same directory as the current file, we'll read this file and look for a line like
customcommand.code_search_c_declaration.directory_depth=2
. The number 2 tells SciTE to search files in the current directory, its parent, and its grandparent.
Autocompletion
Automatically closes xml tags, html tags, parentheses, and quotes
Can be disabled in properties with a line like
auto.close.quotes=1
Print local variables upon exception
In a Python script, press Ctrl+F7 to run the script, and if an unhandled exception occurs, the values of local variables will be shown (based on ActiveState recipe 52215)
Add a line that contains only the text DEBUG to add a breakpoint
Also, select an expression and type Ctrl+Shift+Y to add a print statement
Designate "disabled directories"
Sometimes you might want to remind yourself that certain files shouldn't usually be edited. When you open a file in a disabled directory, the background will be bright red, as a visual indicator to be careful.
To add a disabled directory, add something like this to your properties file
customcommand.disable_directory.disabled_directories=\ |/home/example/disableddir1\ |/home/example/disableddir2\
Switch to file in corresponding folder
Sometimes you'll have two copies of a codebase in separate directories. This plugin lets you quickly switch from one directory's version of a file to another
For example, there are two files,
/home/example/branch1/foo/bar/code.cpp
and/home/example/branch2/foo/bar/code.cpp
Press Ctrl+Shift+; to open user.properties and add the line
customcommand.switch_to_corresponding_dir.directorymappings=\ ||/home/example/branch1|/home/example/branch2
Now when editing
/home/example/branch1/foo/bar/code.cpp
, Ctrl+Shift+F10 will open the corresponding file
More features
Press Ctrl+D to duplicate a line and Ctrl+Shift+D to duplicate selection
Press Ctrl+Shift+O to open selected the text as a file (e.g. click
import mymodule
in your Python code and press Ctrl+Shift+O to openmymodule.py
)SciTE supports dozens of additional languages like Haskell, Java, and C#, see here
Insert sequence
Let's say you want to write the sequence
data1 = getData1(); data2 = getData2(); data3 = getData3();
First, write
data@ = getData@(); data@ = getData@(); data@ = getData@();
Then select the text and press Ctrl+I, 0 to run Insert Sequential Numbers
Let's say you want to write the sequence
dataRed = getDataRed(); dataGreen = getDataGreen(); dataBlue = getDataBlue();
First, write
data@Red@ = getData@@(); data@Green@ = getData@@(); data@Blue@ = getData@@();
Then select the text and press Ctrl+I, 0 to run Insert Sequential Numbers
Back