This is a Language Server for Visual Studio Code that offers features to make AngelScript development easier and faster.
While there are already AngelScript Language Server extensions available for VSCode, many of them are platform-specific. For example, there are excellent Language Servers specialized for specific environments like Unreal Angelscript and Openplanet Angelscript. Developers working in these environments are encouraged to use those options.
However, if you are looking for a general-purpose Language Server that is not dependent on a particular application, this extension might be useful for you. This extension aims to serve as a universal Language Server, independent of any specific application that integrates AngelScript.
The Language Server analyzes AngelScript files within your project and offers the following features:
- Syntax Highlighting for AngelScript
- Autocompletion
- Type Checking
- Go to Definition
- Find References
- Symbol Renaming
- Snippets
- Code Actions
- Formatter
- Debugger
Note: As this project is still under development, there may be bugs or incomplete support for some of these features. Future updates will continue to improve functionality.
-
Install this extension from the Visual Studio Code Marketplace.
-
Create a file named
as.predefined
in the root directory of your AngelScript project.as.predefined
is a custom file used by this Language Server. -
In
as.predefined
, define your application’s types and functions using AngelScript syntax.When analyzing
*.as
files, this Language Server implicitly imports symbols defined inas.predefined
.This allows the Language Server to recognize the custom types and functions defined by your application, enabling autocompletion and type checking.
You can check actual examples of
as.predefined
below:-
OpenSiv3D/as.predefined for OpenSiv3D (v0.6)
In many cases,
as.predefined
can also be automatically generated. -
Note: Documentation for the Debugger, Code Actions, and other features is currently missing and will be added in a future update.
The following features are currently under development:
- Detailed AngelScript features: Support for
import
is still incomplete. - Enhanced Type Checking: Current support for handlers and const is limited.
It's still in development, but there are implementations for clients other than VSCode as well.
Bug reports and feature requests are welcome via GitHub Issues .
If you fix a small bug or add an enhancement, feel free to submit a pull request.
Additionally, if you create an as.predefined
file for your application, contributing it as an example would be greatly appreciated and could be helpful to others.
This repository is licensed under the MIT License.