A high level abstraction layer for help in file-editing and scripting workflows in vscode.
I made this package because many software APIs (mostly game engines) are macro heavy and default code-completion tools are not adequate. This results in much of dev-time wasted writing boilerplate code. This package is used to develop the following projects. Feel free to integrate to your own projects.
The API is provided as a set of self-explanatorily named modules. The goal is to parse lines in editor to contextually
- Make changes to files like (.cpp/.h) pairs
- Auto-fill boiletplate code
- Create directories
Config module.
Contains functions for reading and updating configurations easily.
FunctionName | Utility |
---|---|
GetVSConfig | Gets a VSCode config(string array) and updates it. |
AppendToVSConfig | Gets a VSCode config (templated) |
Editor module.
Contains functions to read, make edits and parse lines for the current file. Any other file should be manipulated using vsfs.
FunctionName | Utility |
---|---|
InsertAt | Insert a single string at given line(optionally specify tabstops) |
MoveCursorTo | Positions cursor at line. Used to add line(s) before/after that line |
MatchRegexInFile | Scans line from start to end for regex match |
MatchRegexInFileSync | Scans line from start to end for regex match |
MatchRegexInFile_Bounds | Scans active file with regex, returns first and last found indices |
RegexTestActiveFile | Regex checks the currently active file. |
WriteAtLine_Silent | Silently writes at line. Effectively adds lines ABOVE |
WriteAtCursor | Writes lines at cursor position. Inserts newlines. |
Filesystem module.
Use to read,write files other that the active file. Mostly async functions available. Uses read/write buffers internally.
FunctionName | Utility |
---|---|
RegexMatchLine | Use a regex pattern and look match for the first line. Only async version available. |
User-Interface module.
Shorthands for most of the default library. A few quality-of-improvement in UX handling.
FunctionName | Utility |
---|---|
Error | Simple info message. No callbacks. |
GetAFolder | Request user for a folder (Sync) |
GetAFolderAsync | Request user for a folder (Async) |
GetString | Request user for string input (Sync) |
GetStringAsync | Request user for string input (Async) |
Info | Simple info message. No callbacks. |
InputBoxAsync | Shows input box to user and recieves SINGLE string input. |
QuickPickAsync | Show quick pick and return selection. Use doCompare for yes/no prompts etc. |
Warning | Simple info message. No callbacks. |
To push an update to github