Tako for Visual Studio CodeTako is an extension for Visual Studio Code (VS Code) that records many aspects of your programming activity and provides a digest to allow some self-reflection on what you have done, how you spent your time, and which entities you worked on. Currently, Tako supports in principle any language the features of which are exposed through the Language Server Protocol (e.g., Scala through Metals), plus Typescript/Javascript. We plan to extend the set of supported languages in future versions of Tako. Privacy Notice: Tako does not share your data with any remote server. All the data is stored locally and it is under your full control. All the analyses are performed on your local machine. Tako has been developed by CodeLounge @ Software Institute — USI, Lugano, under the support of the Hasler Foundation. InstallationTako is available on the Visual Studio Extensions Marketplace. To install it, you can either:
UI and UsageThe first time you run Tako, it will ask you to allow recording your programming sessions. From that moment on, Tako will silently record many events happening in VS Code. Status BarYou can always check the recording status of Tako in the status bar: Tako Explorer & AnalyticsTo explore the recorded sessions, open the Tako explorer by clicking on the Tako icon inthe activity bar. On the top of the view, you can find the list of sessions grouped by the workspace name. Each session shows its starting time, its duration, and the number of recorded events. Smaller sessions are hidden by default. By clicking on a session, the lower part of the view shows the list of available analytics. Currently, you can access the following analytics:
Session DigestThe session digest, inspired by Minelli et al., is the main analytics view provided by Tako. In the digest, you can inspect some basic session statistics, the hottest document section, the timeline, and the hot changes tree. The hottest document section, highlights the top 3 documents according to the number of events. Events are grouped by their type: Edit events, Navigation events (e.g., when moving from one method to another one), and Other events (e.g., setting a breakpoint in the debugger). The timeline shows how events are distributed over time together with a chart which shows the amount of active diagnostics (e.g., errors and warnings). The last part of the session digest shows the hot changes tree and some other statistics. The hot changes tree visualizes the files and program entities which were most involved in edit events. By hovering on a node of the tree, you can inspect its name, type, and number of changes. This will give you a hint on what the session was about. GitHub Copilot DigestFrom version 1.2.0, Tako also tracks GitHub Copilot events. As with the other features, the events are stored only locally. In particular, Tako tracks if you accept a suggestion or not. You can see basic statistics on your Copilot usage in a dedicated analytics view, the Copilot Digest, that you can access from the usual panel. Configuring TakoTako specific configuration settings are available in a dedicated section that you can access with SupportIf you find problems and bugs, please submit an issue on the public GitHub repository. |