Sign in to follow this  
Followers 0
AlanR

Configuring Scite for VBScript

9 posts in this topic

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

Thanks so much for all of this. Time to get busy and have some fun!

Posted Image

Alan

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

I think my Configure SciTe blog entry could be something for you :P

Thanks for the reference. I will study this and hopefully learn a few things.

Alan

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  
Followers 0