Skip to content

Commit aea6c6f

Browse files
authored
Feature/settings view isolation (#70)
* feat: add settings view and command to open it from summary view * feat: add dedicated settings view and update version to 0.6.3
1 parent 08bf3d2 commit aea6c6f

5 files changed

Lines changed: 472 additions & 6 deletions

File tree

README.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Simple Coding Time Tracker is a powerful extension for Visual Studio Code that h
1818
- **Smart Activity Detection**: Automatically pauses tracking during periods of inactivity.
1919
- **Focused Work Detection**: Intelligently tracks time even when VS Code isn't focused.
2020
- **Health Notification System**: Proactive reminders to promote healthy coding habits with scientifically backed intervals.
21+
- **Dedicated Settings View**: Comprehensive settings interface accessible via the summary view with easy-to-use controls for all configuration options.
2122
- **Interactive Data Visualization**:
2223
- Project Summary Chart: Visual breakdown of time spent on each project
2324
- Daily Activity Timeline: Interactive line chart showing your coding patterns
@@ -75,11 +76,19 @@ The charts and visualizations will automatically update to reflect your selected
7576

7677
### Configuration Options
7778

78-
You can customize the extension's behavior through VS Code settings:
79+
You can customize the extension's behavior through VS Code settings or the dedicated Settings view:
7980

81+
**Method 1: Using the Settings View (Recommended)**
82+
1. Open the Coding Time Summary view by clicking on the status bar or using the command `SCTT: Show Coding Time Summary`
83+
2. Click the "Settings" button in the top-right corner of the summary view
84+
3. Configure all settings through the user-friendly interface with descriptions and validation
85+
4. Click "Save Settings" to apply changes
86+
87+
**Method 2: Using VS Code Settings**
8088
1. Open VS Code Settings (Ctrl+, or Cmd+, on macOS)
8189
2. Search for "Simple Coding Time Tracker"
82-
3. Available settings:
90+
91+
**Available settings:**
8392
- **Inactivity Timeout**: How long to wait before stopping the timer when no activity is detected but you are focused on VS Code (in minutes)
8493
- Default: 2.5 minutes
8594
- Lower values will stop tracking sooner when you're not actively coding
@@ -106,6 +115,7 @@ The summary page provides a detailed report of your coding activity with interac
106115
- Language distribution chart showing time spent in different programming languages
107116
- Theme-aware visualizations that adapt to your VS Code theme
108117
- Advanced search and filtering capabilities
118+
- Quick access to settings via the Settings button in the header
109119

110120
![Coding Summary](https://raw.githubusercontent.com/twentyTwo/static-file-hosting/main/vsc-ext-coding-time-tracker-files/sctt-light.png)
111121

@@ -122,7 +132,8 @@ Tooltip shows the total coding time weekly, monthly and all time basis.
122132
![Tooltip](https://raw.githubusercontent.com/twentyTwo/static-file-hosting/main/vsc-ext-coding-time-tracker-files/tooltip.png)
123133

124134

125-
#### Settings
135+
#### Settings View
136+
The dedicated settings view provides an easy-to-use interface for configuring all extension options. Access it by clicking the "Settings" button in the summary view header.
126137
![Settings](https://raw.githubusercontent.com/twentyTwo/static-file-hosting/main/vsc-ext-coding-time-tracker-files/settings.png)
127138

128139

@@ -158,6 +169,13 @@ For technical details about development, release process, and internal architect
158169

159170
## Changelog
160171

172+
### [0.6.3] - 2025-10-10
173+
- Added dedicated Settings View accessible from the summary view header
174+
- Implemented `SCTT: Open Settings` command for direct access to settings interface
175+
- Enhanced user experience with intuitive settings management through webview interface
176+
- Added Settings button to summary view header for quick access to configuration options
177+
- All extension settings now available through both traditional VS Code settings and the new dedicated view
178+
161179
### [0.6.1] - 2025-08-30
162180
- Added comprehensive test data generation commands for developers and testers
163181
- Implemented `SCTT: Generate Test Data (Dev)` command that creates 90 days of realistic test data

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "simple-coding-time-tracker",
33
"displayName": "Simple Coding Time Tracker",
44
"description": "Track and visualize your coding time across projects",
5-
"version": "0.6.2",
5+
"version": "0.6.3",
66
"publisher": "noorashuvo",
77
"license": "MIT",
88
"icon": "icon-sctt.png",
@@ -94,6 +94,10 @@
9494
"command": "simpleCodingTimeTracker.toggleHealthNotifications",
9595
"title": "SCTT: Toggle Health Notifications"
9696
},
97+
{
98+
"command": "simpleCodingTimeTracker.openSettings",
99+
"title": "SCTT: Open Settings"
100+
},
97101
{
98102
"command": "simpleCodingTimeTracker.generateTestData",
99103
"title": "SCTT: Generate Test Data (Dev)",

src/extension.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ import { TimeTracker } from './timeTracker';
33
import { StatusBar } from './statusBar';
44
import { Database } from './database';
55
import { SummaryViewProvider } from './summaryView';
6+
import { SettingsViewProvider } from './settingsView';
67

78
export function activate(context: vscode.ExtensionContext) {
89
const database = new Database(context);
910
const timeTracker = new TimeTracker(database);
1011
const summaryView = new SummaryViewProvider(context, database, timeTracker);
12+
const settingsView = new SettingsViewProvider(context);
1113
const statusBar = new StatusBar(timeTracker, summaryView);
1214

1315
// Register cursor tracking
@@ -35,6 +37,11 @@ export function activate(context: vscode.ExtensionContext) {
3537
summaryView.show();
3638
});
3739

40+
// Register open settings command
41+
let openSettingsCommand = vscode.commands.registerCommand('simpleCodingTimeTracker.openSettings', () => {
42+
settingsView.show();
43+
});
44+
3845
// Register view storage command
3946
let viewStorageDisposable = vscode.commands.registerCommand('simpleCodingTimeTracker.viewStorageData', async () => {
4047
try {
@@ -257,6 +264,7 @@ export function activate(context: vscode.ExtensionContext) {
257264

258265
context.subscriptions.push(clearDataCommand);
259266
context.subscriptions.push(toggleHealthCommand);
267+
context.subscriptions.push(openSettingsCommand);
260268
context.subscriptions.push(testPauseCommand);
261269
context.subscriptions.push(testNotificationCommand);
262270
context.subscriptions.push(generateTestDataCommand);
@@ -266,6 +274,7 @@ export function activate(context: vscode.ExtensionContext) {
266274
context.subscriptions.push(viewStorageDisposable);
267275
context.subscriptions.push(timeTracker);
268276
context.subscriptions.push(statusBar);
277+
context.subscriptions.push(settingsView);
269278

270279
// Start tracking immediately if VS Code is already focused
271280
if (vscode.window.state.focused) {

0 commit comments

Comments
 (0)