Table of contents
VS Code should try to auto-update the extension at regular intervals, but you
can also check for available updates manually via
Code completion is currently available for ph3 engine library functions, headers, routines and shot/item data. The completion system is triggered simply by typing and will automatically try to match the most relevant result from the list. You can also navigate the list with ↑ ↓ → ← and select a completion to use.
Hitting Tab ⇥ will insert the selected completion. Some completions (like functions) will have additional tab stops that allow you to navigate the inserted code with Tab ⇥. This is, for example, useful for function parameters.
Clicking on the
Documentation is available for the same types as completion (ph3 engine library
functions, headers, routines and shot/item data). It comes in the form of info
windows that are activated on hover and display similar information as when
clicking on the
Snippets work in a similar way as completions. They are also activated automatically when typing and displayed in the same list as completion items. Instead of displaying documentation in an info window, they show the code they insert.
Selection and insertion also functions just like completions (with ↑ ↓ → ← and Tab ⇥). Wherever necessary, snippets feature useful tab stops to make navigation easier after inserting them.
They do generally have a higher priority than completions, which means that you usually do not have to write the full keyword for VS Code to highlight the correct snippet in the list.
The following is a list of keywords that are associated to a snippet:
You are welcome to help out!
Open an issue or submit a pull request.
As an exception to the paragraph under License that mentions that
you are not allowed to use the file
You are hereby allowed to use this file for the purpose of contributing to this project. This includes forking this repository, making changes and creating pull requests for those changes. You are not allowed to fork this repository for intentions other than contributing (e.g, creating your own project without the intention to merge your changes back into upstream) without removing the file immediately afterwards.
Additionally, any fork of this project that is created under the purpose of
contributing must include this section and the paragraph under License in
an unaltered state to assure that no one that creates forks/copies of your fork
or uses it or parts of it in their own software/projects is allowed to use
MIT © Michael Serajnik
Explicitly excluded from the MIT license is the file
The syntax configuration was originally created by drakeirving for his Sublime Text extension. I have merely converted his TextMate grammar file to JSON, made some VS Code-specific adjustments and expanded it a bit.
The built-in ph3 engine library function documentation is a parsed version of Sparen of Iría's ph3 function reference, for which he was so kind as to give me his permission to use it. The only thing I did was transforming it into a format that is easier for me to work with and applying some automatic text transformations.
If a function behaves differently than stated in this extension, please cross-reference with Sparen's ph3 function reference and the official Danmakufu ph3 documentation (Japanese, though Google Translate or other automatic translation services should work well enough in most cases) as they may be more up-to-date and/or contain fixes for errors.
Sparen's tutorials are brilliant and you should definitely check them out if you want to get into Danmakufu scripting.
The extension icon (of which you can also see a higher resolution version of at the top of this readme) is one of Alphes' Touhou portraits (free to use and edit for non-commercial projects). I have simply made it square and adjusted the size so it fits the VS Code Marketplace guidelines.