Skip to content
This repository was archived by the owner on Oct 1, 2024. It is now read-only.

Commit d9ad03f

Browse files
add timestamp format pointing to serial monitor timestamp
1 parent edfae3e commit d9ad03f

File tree

5 files changed

+24
-0
lines changed

5 files changed

+24
-0
lines changed

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"onCommand:arduino.selectSerialPort",
4444
"onCommand:arduino.selectSketch",
4545
"onCommand:arduino.openSerialMonitor",
46+
"onCommand:arduino.viewTimestampFormat",
4647
"onCommand:arduino.closeSerialMonitor",
4748
"onCommand:arduino.changeBoardType",
4849
"onCommand:arduino.showBoardConfig",
@@ -125,6 +126,10 @@
125126
"command": "arduino.openSerialMonitor",
126127
"title": "Arduino: Open Serial Monitor"
127128
},
129+
{
130+
"command": "arduino.viewTimestampFormat",
131+
"title": "Arduino: View Timestamp"
132+
},
128133
{
129134
"command": "arduino.closeSerialMonitor",
130135
"title": "Arduino: Close Serial Monitor"

src/common/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export const messages = {
4141
export const statusBarPriority = {
4242
PORT: 20,
4343
OPEN_PORT: 30,
44+
TIMESTAMP_FORMAT: 50,
4445
BOARD: 60,
4546
ENDING: 70,
4647
SKETCH: 80,

src/extension.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@ export async function activate(context: vscode.ExtensionContext) {
283283
context.subscriptions.push(serialMonitor);
284284
registerNonArduinoCommand("arduino.selectSerialPort", () => serialMonitor.selectSerialPort());
285285
registerNonArduinoCommand("arduino.openSerialMonitor", () => serialMonitor.openSerialMonitor());
286+
registerNonArduinoCommand("arduino.viewTimestampFormat", () => serialMonitor.viewTimestampFormat());
286287
registerNonArduinoCommand("arduino.closeSerialMonitor", (port) => serialMonitor.closeSerialMonitor(port));
287288

288289
const completionProvider = new completionProviderModule.CompletionProvider();

src/serialmonitor/serialMonitor.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ export class SerialMonitor implements vscode.Disposable {
2626
return SerialMonitor._serialMonitor;
2727
}
2828

29+
public static DEFAULT_TIMESTAMP_FORMAT: string = "";
30+
2931
private static _serialMonitor: SerialMonitor = null;
3032

3133
private serialMonitorApi: SerialMonitorApi | undefined;
@@ -36,6 +38,7 @@ export class SerialMonitor implements vscode.Disposable {
3638

3739
private openPortStatusBar: vscode.StatusBarItem;
3840
private portsStatusBar: vscode.StatusBarItem;
41+
private timestampFormatStatusBar: vscode.StatusBarItem;
3942

4043
public async initialize(extensionContext: vscode.ExtensionContext) {
4144
this.extensionContext = extensionContext;
@@ -51,6 +54,13 @@ export class SerialMonitor implements vscode.Disposable {
5154
this.openPortStatusBar.tooltip = "Open Serial Monitor";
5255
this.openPortStatusBar.show();
5356

57+
this.timestampFormatStatusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right,
58+
constants.statusBarPriority.TIMESTAMP_FORMAT);
59+
this.timestampFormatStatusBar.command = "arduino.viewTimestampFormat";
60+
// Get the value from the serial monitor extension settings.
61+
this.timestampFormatStatusBar.tooltip = `View timestamp format`;
62+
this.timestampFormatStatusBar.text = `$(watch)`;
63+
5464
this.updatePortListStatus();
5565

5666
const dc = DeviceContext.getInstance();
@@ -109,13 +119,19 @@ export class SerialMonitor implements vscode.Disposable {
109119
this.openPortStatusBar.command = "arduino.closeSerialMonitor";
110120
this.openPortStatusBar.text = `$(x)`;
111121
this.openPortStatusBar.tooltip = "Close Serial Monitor";
122+
this.timestampFormatStatusBar.show();
112123
} else {
113124
this.openPortStatusBar.command = "arduino.openSerialMonitor";
114125
this.openPortStatusBar.text = `$(plug)`;
115126
this.openPortStatusBar.tooltip = "Open Serial Monitor";
127+
this.timestampFormatStatusBar.hide();
116128
}
117129
}
118130

131+
public async viewTimestampFormat(): Promise<void> {
132+
await vscode.commands.executeCommand("workbench.action.openSettings", "vscode-serial-monitor.timestampFormat");
133+
}
134+
119135
public async selectBaudRate(): Promise<number | undefined> {
120136
const rates = SerialMonitor.listBaudRates();
121137
const chosen = await vscode.window.showQuickPick(rates.map((rate) => rate.toString()));

test/extension.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ suite("Arduino: Extension Tests", () => {
4747
"arduino.initialize",
4848
"arduino.selectSerialPort",
4949
"arduino.openSerialMonitor",
50+
"arduino.viewTimestampFormat",
5051
"arduino.closeSerialMonitor",
5152
"arduino.reloadExample",
5253
"arduino.showExampleExplorer",

0 commit comments

Comments
 (0)