Тема: SciTE: запуск выделенной части кода
Скрипт автоматически сохраняет выделенный код во временный файл и запускает его, позволяя таким образом исполнить набранный в редакторе код частично. Файл ExecSel.vbs.
Автор скрипта - mozers.
' Execute Selection
' Version: 1.0
' Autor: mozers™
' ------------------------------------------------
' Выполняет выделенный в редакторе код
' Для подключения добавьте в свой файл .properties следующие строки:
' file.patterns.execsel=*.bat;*.cmd;*.vbs;*.js;*.py;*.pyw
' command.name.2.$(file.patterns.execsel)=Execute Selection
' command.2.$(file.patterns.execsel)=cscript /nologo "$(SciteDefaultHome)\tools\ExecSel.vbs" $(FileExt)
' command.input.2.$(file.patterns.execsel)=$(CurrentSelection)
' command.mode.2.$(file.patterns.execsel)=subsystem:console,savebefore:no
' ------------------------------------------------
Option Explicit
Dim WshShell, FSO, code, objArgs, file_ext, tmpfile, file, script, objExec, output
code = WScript.StdIn.ReadAll
If code = "" Then WScript.Quit
Set objArgs = WScript.Arguments
If objArgs.Count < 1 then WScript.Quit
file_ext = UCase(objArgs(0))
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
tmpfile = WshShell.ExpandEnvironmentStrings("%TEMP%\" & "$execsel." & file_ext)
Set file = FSO.OpenTextFile(tmpfile, 2, True)
file.Write code
file.Close
If file_ext = "VBS" Or file_ext = "JS" Then
script = "cscript /nologo"
ElseIf file_ext = "PY" Or file_ext = "PYW" Then
script = "python"
Else
script = ""
End If
Set objExec = WshShell.Exec("%COMSPEC% /C " & script & " """ & tmpfile & """ 2>&1")
Do While objExec.Status = 0
output = output & ObjExec.StdOut.ReadAll
WScript.Sleep 100
Loop
output = DosToWin(output)
WScript.Echo output
WScript.Quit
Function DosToWin(s)
Dim i, k, ss
ss = ""
For i = 1 To Len(s)
k = Asc(Mid(s, i, 1))
If (128 <= k) And (k <= 175) Then
k = k + 64
ElseIf (224 <= k) And (k <= 239) Then
k = k + 16
ElseIf k = 240 Then
k = 168
ElseIf k = 241 Then
k = 184
End If
ss = ss + Chr(k)
Next
DosToWin = ss
End Function
Примечание: если вы установите этот скрипт действительно под номером команды 2, автоматически появится шорткат Ctrl+2 (первые 10 шорткатов появляются автоматом в зависимости от номера команды). Обратите внимание, что меню Tools отображается по-разному для разных расширений файлов.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.