Jump to content
Sign in to follow this  
AlanR

Configuring Scite for VBScript

Recommended Posts

I realize this may be somewhat off topic, but I'm hoping someone might be able to point me to a "for dummies"-style tutorial to do this. I have the pre-configured version of Scite associated with AutoIt files, and I'm hoping to get it running like this for .VBS files. I note that there are several files available at SciTE for Windows Scripters (http://dev.remotenetworktechnology.com/SciTE/index.htm) but I have no idea of how to incorporate them.

Thanks for any pointers

Alan

Share this post


Link to post
Share on other sites

This is what I have in My User options file for VBScript. Not perfect as callltip and autocomplete is set for all file types but atleast works. So I settled on that.

###~ V B S R I P T  S E C T I O N ~###

abbreviations.$(file.patterns.wscript)=$(SciteUserHome)/abbrev_VBScript.properties
# VB Help Chm
command.help.$(file.patterns.wscript)=$(CurrentWord)!C:\Windows\Help\Script56.chm
#~ command.help.$(file.patterns.vb)=$(CurrentWord)!C:\Windows\Help\Script56.chm
# 00 AutoItX Help
command.name.0.$(file.patterns.wscript)=AutoItX Help
command.subsystem.0.$(file.patterns.wscript)=2
command.0.$(file.patterns.wscript)="$(SciteDefaultHome)\..\AutoItX\AutoItX.chm"
# PSPad
#~ command.name.1.$(file.patterns.wscript)=Open in PSPad
#~ command.1.$(file.patterns.wscript)="$(SciteDefaultHome)\..\..\PSPad\PSPad.exe" "$(FilePath)"
#~ keywords.$(file.patterns.wscript)=$(keywordclass.vb6)
calltip.*.word.characters=$(chars.alpha)$(chars.numeric)_
calltip.*.ignorecase=1
calltip.*.end.definition=
autocomplete.*.ignorecase=1
autocomplete.*.start.characters=$(chars.alpha)$(chars.numeric)$_@#
word.characters.$(file.patterns.wscript)=$(chars.alpha)$(chars.numeric).$_@#

api.$(file.patterns.wscript)=\
$(SciteDefaultHome)\api\vb.api

block.start.$(file.patterns.wscript)=3 \
case if do for function else while select sub switch with \
Case If Do For Function Else While Select Sub Switch With \
CASE IF DO FOR FUNCTION ELSE WHILE SELECT SUB SWITCH WITH
block.end.$(file.patterns.wscript)=3 \
case else end loop else wend \
Case Else End Loop Else Wend WEnd \
CASE ELSE END LOOP ELSE WEND

And I got this api file from another editor (PSPad IIRC). It is not made for Scite, so I cleaned it up some, but still not perfect. It does enough for my VBScript use.

vb.zip

  • Put the VB.api in the api folder
  • Put Script56.chm in C:\Windows\Help folder (MS Helpfile)
  • Your VBScript Abbreviations can be added to it's own separate file (use Options in the menu)
I believe that is everything that may get it working for you. VBSEdit has a copy of Script56.chm with it so could be worthwhile getting your copy there if you do not have a copy already, plus VBSEdit has some nice code snippets.

:P

Share this post


Link to post
Share on other sites

vb.properties

# Define SciTE settings for VB files.

# BAS: Module, FRM: Form, CLS: Class Module, CTL: User Control

# PAG: Property Page, DSR: Data Report, DOB: User Document

file.patterns.vb=*.vb;*.bas;*.frm;*.cls;*.ctl;*.pag;*.dsr;*.dob

# VBS: VBScript, DSM: Visual[ex. Dev] Studio macro

file.patterns.wscript=*.vbs;*.dsm

# VBP: VB Project, VBG: VB Project Group (ActiveX), MAK: old (VB3) project file, VBW: VB Workspace

filter.vb=VB (vb vbp vbs bas frm cls ctl pag dsr dob)|$(file.patterns.vb);$(file.patterns.wscript);*.vbp;*.vbg;*.mak;*.vbw|

lexer.$(file.patterns.vb)=vb

lexer.$(file.patterns.wscript)=vbscript

# Keywords, operators, statements, data types and some words in .frm files

keywordclass.vb6=\

addressof alias and as attribute base begin binary boolean byref byte byval call case compare \

const currency date decimal declare defbool defbyte defint deflng defcur defsng defdbl defdec \

defdate defstr defobj defvar dim do double each else elseif empty end enum eqv erase error \

event exit explicit false for friend function get gosub goto if imp implements in input integer \

is len let lib like load lock long loop lset me mid midb mod new next not nothing null object \

on option optional or paramarray preserve print private property public raiseevent randomize \

redim rem resume return rset seek select set single static step stop string sub then time to \

true type typeof unload until variant wend while with withevents xor

# html.properties picks up VB keywords from keywordclass.vb

keywordclass.vb=$(keywordclass.vb6)

# Mostly system statements (files, registry, I/O...) that

# I am not sure to include with the regular statements.

keywordclass.vbotherstatements=\

appactivate beep chdir chdrive close filecopy get input kill line unlock mkdir name \

open print put reset rmdir savepicture savesetting seek sendkeys setattr width write

# VBNet specific keywords

keywordclass.vbnet=\

addhandler andalso as assembly auto catch cbool cbyte cchar cdate cdbl cdec char cint \

class clng cobj cshort csng cstr ctype default delegate finally gettype handles imports \

inherits interface mustinherit mustoverride mybase myclass namespace notinheritable \

notoverridable orelse overloads overridable overrides protected readonly removehandler \

shadows shared short structure synclock throw try unicode when writeonly

keywords.$(file.patterns.vb)=$(keywordclass.vb6) $(keywordclass.vbnet)

keywords.$(file.patterns.wscript)=$(keywordclass.vb6)

keywords2.$(file.patterns.vb)=$(keywordclass.vbotherstatements)

comment.block.vb='~

comment.block.vbscript='~

# VB styles

# Default

style.vb.32=$(font.base)

# White space

style.vb.0=

# Comment

style.vb.1=$(colour.code.comment.line),$(font.code.comment.line)

# Number

style.vb.2=$(colour.number)

# Keyword

style.vb.3=$(colour.keyword)

# String

style.vb.4=$(colour.string)

# Preprocessor (directives)

style.vb.5=$(colour.preproc)

# Operator

style.vb.6=$(colour.operator)

# Identifier

style.vb.7=

# Date

style.vb.8=$(colour.number)

# End of line where string is not closed

style.vb.9=$(style.stringeol)

# Other keywords (bozo test colors :-)

style.vb.10=$(style.vb.5),back:#D0FFD0

style.vb.11=$(style.vb.5),back:#D0D0FF

style.vb.12=$(style.vb.5),back:#FFD0D0

# VBScript styles same as VB styles

style.vbscript.0=fore:#000000

# righe commentate

#ยค### style.vbscript.1=fore:#0000FF,italics

style.vbscript.1=fore:#669900,italics

#style.vbscript.1=fore:#000000,italics

#numeri

#####style.vbscript.2=fore:#0000FF,italics

#style.vbscript.2=fore:#669900,italics

style.vbscript.2=fore:#FF0000,italics

# set e loop

#style.vbscript.3=fore:#B70000,bold,italics

#style.vbscript.3=fore:#F20000,bold,italics

style.vbscript.3=fore:#DBA78F,bold,italics

# stringe

#style.vbscript.4=fore:#63AE69,bold,italics

#style.vbscript.4=fore:#28A9C6,bold,italics

#style.vbscript.4=fore:#B70000,bold,italics

#style.vbscript.4=fore:#F88DF0,bold,italics

#style.vbscript.4=fore:#00CEC8,italics

#style.vbscript.4=fore:#98D600,bold,italics

style.vbscript.4=fore:#669900,italics

style.vbscript.5=fore:#FF00CC,bold

#style.vbscript.5=fore:#F1BB00,bold

# parentesi punti e &

#style.vbscript.6=fore:#FF33FF,bold

#style.vbscript.6=fore:#F1BB00,bold

#style.vbscript.6=fore:#FF0000,bold

style.vbscript.6=fore:#FF0000,bold,italics

style.vbscript.7=fore:#9999CC,bold

#style.vbscript.7=fore:#A00FF0,bold

#style.vbscript.7=fore:#FF0000,bold

##style.vbscript.8=fore:#FF0000,bold

style.vbscript.8=fore:#000000,bold

style.vbscript.9=fore:#000000,bold

style.vbscript.10=$(style.vb.5),back:#D0FFD0

style.vbscript.11=$(style.vb.5),back:#D0D0FF

style.vbscript.12=$(style.vb.5),back:#FFD0D0

# wscript

# normal execute

command.go.$(file.patterns.wscript)="$(FilePath)"

command.go.subsystem.$(file.patterns.wscript)=2

# note we have no real "build"; rather "execute and capture

# compiletime and runtime errors"

command.build.$(file.patterns.wscript)=cscript "$(FilePath)"

command.build.subsystem.$(file.patterns.wscript)=1

command.help.$(file.patterns.wscript)=$(CurrentWord)!C:\Programmi\Microsoft Visual Studio\MSDN\2001OCT\1033\MSDN130.COL

command.help.subsystem.$(file.patterns.wscript)=4

command.help.$(file.patterns.vb)=$(CurrentWord)!C:\Programmi\Microsoft Visual Studio\MSDN\2001OCT\1033\MSDN130.COL

command.help.subsystem.$(file.patterns.vb)=4

Share this post


Link to post
Share on other sites

Thanks Lapo. I do have the vb.properties file in the ScITE directory, but needed to know how to get the whole show configured. As I said, a "dummies" tutorial.

Alan

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

quote name='Lapo' date='Aug 27 2006, 03:27 PM' post='226957']

Thanks Lapo. I do have the vb.properties file in the ScITE directory, but needed to know how to get the whole show configured. As I said, a "dummies" tutorial.

Rename or make a copy of your vb.properties and try the above

copy all and save as vb.properties

Share this post


Link to post
Share on other sites

This is on old post but I thought i'd add my take on this - the attached .zip contains 2 .properties files (vb.properties and vb.keywords.properties), and an updated .api file (vb.api).

The colour scheme is as close to AutoIt as I could get without having a new lexer written.

vb.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...