Godot Resource Table (VS Code extension)
Spreadsheet-style view for editing many Godot 4 .tres files in a folder: sortable columns, resizable headers, and in-place edits for simple primitive fields (bool, int, float, string). ExtResource, arrays, and other complex values are shown read-only (see Godot Resources as Sheets for a fuller in-editor workflow).
WARNING: This was fully built with AI, use at your own risk.
Requirements
- VS Code 1.85+ (or Cursor)
Development
cd vscode-godot-resource-table
npm install
npm run compile
npm test
Press F5 in VS Code with this folder open (Run Extension). In the Extension Development Host, run Godot Resource Table: Open Folder from the Command Palette and choose a folder that contains .tres files (for example your game’s items tree).
Package
npm run package runs @vscode/vsce. Use Node.js 20 LTS or newer for this step (Node 18 can throw ReferenceError: File is not defined from transitive dependencies).
npm run package
Install the generated .vsix with Extensions: Install from VSIX….
Usage
- Godot Resource Table: Open Folder — pick a directory; all
*.tres files under it are loaded recursively.
- Click a column header to sort (toggle direction on repeat click). Drag the right edge of a header to resize; widths are remembered per folder in workspace state.
- Double-click an editable cell (or focus it and press Enter), edit, then blur or Enter to save. Invalid values show an error and the table reloads.
- Refresh button or Godot Resource Table: Refresh reloads from disk. The host watches the folder and refreshes after external changes (debounced; writes from this view are briefly ignored to avoid feedback loops).
Columns file and script_class are read-only. Other columns are the union of all [resource] property keys across files; missing keys appear as empty editable cells (saved as strings unless you use a typed value Godot accepts on that line).
Limitations (v0.1)
- Multiline property values are read-only in the grid.
- New empty cells default to string typing when you first add a property name column value.
- Does not run Godot; validate important edits in the Godot inspector.
License
MIT