Introduction
VSScript is an extension for Visual Studio development environment.
It allows you to automate various development tasks performed in Visual Studio,
either by recording and replaying your actions, or allowing you to write scripts
in a simple language based on popular Lua scripting language.
VSScript is meant to be a replacement of standard Visual Studio macro recorder
based on Visual Basic. The most important reasons to create VSScript were the following:
-
Standard Visual Studio macro engine is widely considered as awkward to use.
Not integrated very well into the IDE (opening separate IDE application window),
slow to launch, clumsy to debug, often freezing Visual Studio. VSScript aims
to remove these drawbacks.
-
The macro engine has been removed in recent releases of Visual Studio
(starting with 2012). A replacement is needed, and VSScript fulfills this need.
VSScript features include:
-
Interactive macro recorder: remembers your actions and converts them into
a script for further replaying. Recorder actions include: typing text, moving
the text cursor, performing various editing operations (like Cut, Copy, Paste,
Delete, etc.), issuing advanced editor commands (e.g. Comment, Uncomment)
as well as other environment commands, switching active windows, etc.
-
Powerful scripting language, based on Lua. Lua is very simple
and elegant scripting language, being also very popular especially among
game developers. Chances are that you are (or will be someday) using Lua in
your programming project! Therefore it is worth to learn the language
on its own.
-
Well-integrated development: VSScript does not need external editor application,
like the old macros did. Instead, VSScript adds is own Script Editor window to Visual Studio
IDE. The window is a tool window (like the console or task list) which can be docked
or placed anywhere. You can just type the macro code inside the editor and launch it
with single click. Or alternatively, you can use the interactive recorder which
will create the script for you. No more clumsy switching between the Macros IDE
and the main IDE!
-
Fully functional editor with dedicated Lua language support: syntax highlighting,
IntelliSense, real-time syntax error detection, underlining wrong code lines,
error messages displayed in tooltips, code outlining, automated block commenting/uncommenting,
and more.
-
Integrated script debugger: allows you to debug your scripts. Most common debugging
functions are supported: stepping the code (into/over/out modes), running/stopping,
breakpoints, examining the call stack, multiple coroutines (thread of execution in Lua),
displaying contents of variables, evaluating simple expressions.
-
High performance: because the scripter is tightly integrated into Visual Studio and
does not use external application, all its operations are very fast and low resource-consuming.
-
Language library: currently the scripter supports standard Lua language libraries,
as well as DTE bindings for Visual Studio control. Subsequent versions will be
further extended with additional utility libraries.
Requirements and installation
Describes the requirements that your local system should meet.
Describes the installation process.
Release notes of all published versions.
Using the interactive macro recorder
Explains how to record a macro and replay it later.
Writing scripts
Describes functions of the script editor.
Describes the snippet manager window.
Basic Lua language introduction for users of C/C++ programming languages.
Explains how to organize scripts into larger modules and libraries.
Explains how to debug Lua scripts with integrated debugger.
Introduction to Visual Studio scripting and extensibility API.
Explains how to use the global interpreter.
Explains how to set scripts to be run on Visual Studio startup and shutdown.
Explains how to register handlers for various events signaled by Visual Studio.
Lists known problems and workarounds.
Reference
List of supported Visual Studio extensibility classes and methods.
Official Lua language reference manual for version 5.2.
Lua language implementation and manual license.
Copyright (C) 2012-2015 Soft-Erg. All rights reserved.