Tools for Defold to make your life easier and coding experience nicer. The main focus of the Buddy is to automate repetitive boring tasks.
Features
IntelliSense for Defold API and project dependencies
Autocompletion for Defold URLs of your project
Asset Portal
Open Defold Editor from VS Code
Build (run) your game via Defold Editor from VS Code
Fetch libraries via Defold Editor from VS Code
Hot reloading for script and lua files on save
Create a complex Game Object file from Explorer context menu
Generate manifest (reduce game bundle size)
IntelliSense for Defold API and project dependencies
Demo (Defold API)...
Open a Defold project
You should see a prompt to initialize the extension
or
Press Ctrl+Shift+P (or Cmd+Shift+P) or go to View > Command Palette.
Select Defold Buddy: Initialize
Demo (project dependencies)...
Autocompletion for Defold URLs
Demo...
Note: read about the addressing if you are not familiar with the concept
Known issues
For now the suggestions are not refreshed automatically when you make any changes to your .go and .collection files. For now you need to re-index them manually by runnin a command.
Open a .script file, you should see suggestions after typing a ", or pushing Ctrl+Enter with cursor next to a ".
Run “Defold Buddy: Index game files for autocompletion” when you need to refresh the autocompletion
Asset Portal
Demo...
Press Ctrl+Shift+P (or Cmd+Shift+P) or go to View > Command Palette.
Select Defold Buddy: Asset Portal
Build (run) your game via Defold Editor from VSCode
Demo...
Note: requires Defold editor running in the background
Note: you can set a hotkey for this command as well as for any other command
Hot reloading for script and lua files on save
After a .script or .lua file is saved it is automatically hot-reloaded if the game is running.
It would be great to add debugging. I read that mobdebug is used in the Editor and there is a VS Code extension for it. If anyone knows and can explain how to use it with Defold then it should be possible to add debug settings into one of the above extensions.
And it would be even better to start the project directly in Editor from VSCode (not via Bob because it didn’t work for me when I tried it in one of the existing extensions).
to implement e.g. in game.project settings? That would be a great feature! I know Defold App Manifest generator, but if it would be a part of Editor it would be a blast!
Experimenting with more interesting stuff. Generating hashes for instances and components for all .collection files. It doesn’t include components for referenced instances yet.
Great feature!
I found in some extensions, when calling a function, “:” is used instead of “.” , like “room:send()”, but the intellisense always uses “.” :
Nice that you are using the plugin))
I can have a look. What was the extension? It might be that EmmyLua annotations are required to correctly identify “:” vs “.”