Skip to content

Command line interface used by all WakaTime text editor plugins.

License

Notifications You must be signed in to change notification settings

e-fisher/wakatime

 
 

Repository files navigation

WakaTime

Tests Coverage Version Dependencies Slack

Command line interface to WakaTime used by all WakaTime text editor plugins.

Note: You shouldn't need to directly use this package unless you are building your own plugin or your text editor's plugin asks you to install the wakatime cli interface manually.

Go to http://wakatime.com/editors to install the plugin for your text editor or IDE.

Installation

Each plugin should install wakatime for you, except for the Emacs WakaTime plugin.

Install the plugin for your IDE/editor at https://wakatime.com/editors, which will install wakatime-cli(this package) for you.

If your plugin does not install wakatime-cli, install it with:

sudo pip install wakatime

Usage

If you are building a plugin using the WakaTime API then follow the Creating a Plugin guide.

For command line options, run wakatime --help.

Configuring

Options can be passed via command line, or set in the $HOME/.wakatime.cfg config file. Command line arguments take precedence over config file settings. The $HOME/.wakatime.cfg file is in INI format. An example config file with all available options:

[settings]
debug = false
api_key = your-api-key
hidefilenames = false
exclude =
    ^COMMIT_EDITMSG$
    ^TAG_EDITMSG$
    ^/var/
    ^/etc/
include =
    .*
offline = true
proxy = https://user:pass@localhost:8080
timeout = 30
hostname = machinename
[projectmap]
    projects/foo = new project name
    ^/home/user/projects/bar(\d+)/ = project{0}

Troubleshooting

WakaTime CLI writes errors to a common log file in your User $HOME directory:

~/.wakatime.log

Set debug=true in ~/.wakatime.cfg for more verbose logging, but don't forget to set it back to debug=false afterwards or your editor might be laggy while waiting for wakatime cli to finish executing.

Each plugin also has it's own log file for things outside of the common wakatime cli:

  • Atom writes errors to the developer console (View -> Developer -> Toggle Developer Tools)
  • Brackets errors go to the developer console (Debug -> Show Developer Tools)
  • Cloud9 logs to the browser console (View -> Developer -> JavaScript Console)
  • Coda logs to /var/log/system.log so use sudo tail -f /var/log/system.log in Terminal to watch Coda 2 logs
  • Eclipse logs can be found in the Eclipse Error Log (Window -> Show View -> Error Log)
  • Emacs messages go to the messages buffer window
  • Jetbrains IDEs (IntelliJ IDEA, PyCharm, RubyMine, PhpStorm, AppCode, AndroidStudio, WebStorm) log to idea.log (locating IDE log files)
  • Komodo logs are written to pystderr.log (Help -> Troubleshooting -> View Log File)
  • Netbeans logs to it's own log file (View -> IDE Log)
  • Notepad++ errors go to AppData\Roaming\Notepad++\plugins\config\WakaTime.log (this file is only created when an error occurs)
  • Sublime Text logs to the Sublime Console (View -> Show Console)
  • TextMate logs to stderr so run TextMate from Terminal to see any errors (enable logging)
  • Vim errors get displayed in the status line or inline (use :redraw! to clear inline errors)
  • Visual Studio logs to the Output window, but uncaught exceptions go to ActivityLog.xml (more info...)
  • Vscode logs to the developer console (Help -> Toggle Developer Tools)
  • Xcode type sudo tail -f /var/log/system.log in a Terminal to view Xcode errors

Check that heartbeats are received by the WakaTime api with the last_heartbeat and last_plugin attributes from the current user api resource. You can also see a list of all your plugins and when they were last seen by the api with the user_agents api endpoint.

Note: Saving a file forces a heartbeat to be sent.

Official API Docs

Contributing

Before contributing a pull request, make sure tests pass:

virtualenv venv
. venv/bin/activate
pip install tox
tox

Many thanks to all contributors!

About

Command line interface used by all WakaTime text editor plugins.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.4%
  • C 2.5%
  • PHP 0.1%
  • HTML 0.0%
  • Java 0.0%
  • Go 0.0%