Giter VIP home page Giter VIP logo

godot-wakatime's Introduction

godot-wakatime

Godot plugin for metrics, insights, and time tracking automatically generated from your Godot usage.

wakatime_dashboard

Dependencies

As there is no easy way to unzip files in GDScript, this plugin uses Ouch! to decompress Wakatime CLI right from the Github page.

But there is no need to manually download it as the Godot Wakatime plugin automatically downloads, uses and deletes as needed

Installation

The easiest and fastest way is to install directly from Godot's AssetLib

  1. Access Godot's AssetLib inside the engine (F4 default keybind)
  2. Search for godot-wakatime and click on install button

Or, you can manually install the latest version following the next steps

  1. Download and extract latest zip file from releases.
  2. Copy or move the wakatime directory from the extracted zip and put into your project's addons directory. Create the addons directory at the root of your project if you don't have one.

Activation

Configuration

Godot WakaTime >=1.5.0

From version 1.5.0 this plugin started to use the global WakaTime config file ($WAKATIME_HOME/.wakatime.cfg) which can be opened in the Project -> Tools -> Wakatime Config File menu item.

You can enter or replace your API key in the menu item Project -> Tools -> Wakatime API key.

More information about the available settings can be found in wakatime-cli usage page


Godot WakaTime < 1.5.0

In versions prior to 1.5.0 the plugin uses a local configuration file located at res://addons/wakatime/settings.cfg.

Some settings are available in the editor bottom panel as soon as the plugin is active

Supported Godot <> Plugin versions

Godot Godot Wakatime
3.3.x - 3.5.x v1.4.0
>=4.0.x v1.5.0

Tested Windows and Linux.

It has Mac OS support as well, but has not yet been tested.

godot-wakatime's People

Contributors

comanderkai77 avatar thomazthz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

godot-wakatime's Issues

Consider Providing Git Clean Filter to Prevent Plugin Addition

Hi, I have git-based Godot projects I want to track time for, but some of them are client projects that wouldn't appreciate this addon being put into their remote repository, when it's for my personal use.

It took quite a while to get this working, but I have created a general git-clean filter that works for project.godot in Godot 3.x, to filter out this plugin addition, regardless of the order of plugins, and regardless of whether the [editor_plugins] section even exists. It will show no changes to project.godot after adding this plugin, upon staging the file (which is when the git clean filter kicks in). I won't provide instructions on how to configure a git clean filter, as those instructions exist elsewhere.

The working script is located in my dotfiles repository, let me know if you would like to either include it in the repository as a default example, or maybe add documentation on how to accomplish this. It's not trivial, and I imagine I'm not the only one who would find this incredibly useful. I know this isn't really an "issue" per se, but I didn't know where else to suggest this.

https://github.com/knightofiam/dotfiles/blob/master/git/git-filters/clean/git-filter-project-godot-wakatime-addon.sh

Here's an example from the commit notes of just how flexible it is:

Completely filter the following git diff from project.godot:

+[editor_plugins]
+
+enabled=PoolStringArray( "res://addons/wakatime/plugin.cfg" )
+

Completely filter the following diff from project.godot:

 [editor_plugins]

-enabled=PoolStringArray( "res://addons/some-other-addon/plugin.cfg" )
+enabled=PoolStringArray( "res://addons/some-other-addon/plugin.cfg", "res://addons/wakatime/plugin.cfg" )

Partially filter the following diff in project.godot from:

 [editor_plugins]

-enabled=PoolStringArray( "res://addons/some-other-addon-1/plugin.cfg", "res://addons/wakatime/plugin.cfg" )
+enabled=PoolStringArray( "res://addons/some-other-addon-1/plugin.cfg", "res://addons/wakatime/plugin.cfg", "res://addons/some-other-addon-2/plugin.cfg" )

to:

 [editor_plugins]

-enabled=PoolStringArray( "res://addons/some-other-addon-1/plugin.cfg" )
+enabled=PoolStringArray( "res://addons/some-other-addon-1/plugin.cfg", "res://addons/some-other-addon-2/plugin.cfg" )

Partially filter the following diff in project.godot from:

 [editor_plugins]

-enabled=PoolStringArray( "res://addons/wakatime/plugin.cfg" )
+enabled=PoolStringArray( "res://addons/wakatime/plugin.cfg", "res://addons/some-other-addon-1/plugin.cfg" )

to:

+[editor_plugins]
+
+enabled=PoolStringArray( "res://addons/some-other-addon-1/plugin.cfg" )
+

There's additional files for configuring a global clean filter, so that no project-level .gitattributes or .git/config or .gitignore has to be added or modified. It can all be done at a global level, once for all local git projects. You can see the other files for this in the commit here:

knightofiam/dotfiles@f5a1659

P.S. It uses GNU sed & GNU grep, which works on macOS & Linux, & I know there's some port for WIndows but that's untested, but in any case, I'm sure the script can easily be adapted for that environment as well.

Plugin is significantly slowing down Godot 4 editor

I've been using this plugin since the 3.x days but recently I've noticed that Godot 4.1 had been running extremely slowly. I upgraded to 4.1.2 to see if that was the issue and it was still running slowly. After trying several other things, I started disabling plugins one by one, and after disabling godot-wakatime, everything is working as expected -- no delays when switching between scripts in the script editor, no freezing when trying to rotate a 3D scene. This is a recent issue; I'd been using v1.5.0 of the plugin for a few months now and only within the past few weeks has this slowness been noticeable.

Plugin Version: 1.5.0
Godot Version: v4.1.2.stable.official [399c9dc39]
Platform: Linux Mint 21.1 Cinnamon 5.6.8 Kernel Version 5.15.0-86-generic
Processor: Intel© Core™ i5-6600K CPU @ 3.50GHz × 4
Memory: 32GB

gdshader support

tried making shaders today and noticed that they werent tracked today, any way gdshaders can be tracked too?

SceneTree Editing Not Tracked in Godot Mono 3.x macOS

Hi, I use the latest stable Godot Mono 3.x & an external IDE for C#. I'm already tracking my IDE separately, but I thought this project could track time spent editing the SceneTree, not script editing. It doesn't show up for me in the WakaTime dashboard, however. I've enabled the plugin for each project, & entered my API key. I'm on the latest version of macOS.

Unable to load on Godot 4 alpha

Hello, thanks for this plugin.

During my trial on Godot 4 alpha, I saw godot-wakatime was not loaded.
godot-waktime worked perfectly on my Godot 3.4 projects, so I guess this is due to some breaking changes in Godot 4.
I hope godot-wakatime adds support to Godot 4.

Steps

  1. Get Godot 4 alpha11 build and install
  2. New project in Godot
  3. Get godot-wakatime and uncompress.
  4. Import the wakatime folder in godot-waktime into addon folder in Godot project
  5. Project > Project Settings > Plugins
  6. Click Enable
  7. Error message Unable to load addon script from path: 'res://addons/wakatime/wakatime.gd'. This might be due to a code error in that script. Disabling the addon at 'res://addons/wakatime/plugin.cfg' to prevent further errors. is shown.

environment

  • Python version: 3.8.12
  • Godot version: 4.0.alpha11
  • Plugin version: 1.3.5
  • Plugin installation source: GitHub
  • OS: macOS 12.4

[Windows] Plugin do not see Python even if it is actually installed.

I have Python installed, and it is in my PATH.

Output:

 Python not found! Install Python from https://www.python.org/downloads/ and reload godot-wakatime plugin
 Disconnecting nonexistent signal 'editor_script_changed', slot: 42211:_on_script_changed.
 core/object.cpp:1442 - Parameter "p_to_object" is null.

Python version: 3.10.2
Godot version: 3.4.4
Plugin version: 1.3.5
Plugin installation source: Asset Library
OS: Windows 10 64-bit

Note: extracting embeddable Python into addons/wakatime did not help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.