A local VS Code viewer for BDF/BDF+ and EDF/EDF+ recordings. Open a recording from the Explorer or run NeuroTrace EEG: Open Recording from the Command Palette. This is an initial desktop release for inspection and personal notes.
Use
Select channels in the left panel. Up to 64 channels are rendered at once; the first 16 non-system channels are selected initially.
Move through a recording with the arrows, time field, slider, or left/right arrow keys. Change the visible window and display gain from the toolbar.
Each channel is independently centered and scaled to the current window. The displayed ± value is the half-range at 1× gain, not an absolute voltage or calibrated vertical grid. A status channel, if selected, shows raw digital values. Annotations and events appear as vertical lines.
The Events tab lists raw Status/Trigger changes and BDF+/EDF+ annotations separately. Click an event to jump to it. Values have no assumed experimental meaning; repeated lines from different sources are not merged. Event extraction is limited to the first 20,000 detected entries, then sorted by time.
The Notes tab adds or removes a labeled time point or interval; Undo reverses note changes made in the current editor session. Notes are saved to <recording filename>.viewer.json, beside the source file, and are restored on reopening. These notes are plugin-specific, not embedded BDF annotations. Keep this sidecar with the recording. The existing .bdf.json conversion sidecar is not modified.
The recording itself is read-only. A source size or modification-time change blocks note saving until the file is reopened; a sidecar with a mismatched source or invalid contents is not overwritten. The viewer does not yet interpret BCI Tools valid_samples or padding_samples: padded data may be displayed. Status values are shown without device-specific bit masks or automatic label mappings. Event annotations do not imply online decision times. The plugin does not filter signals or interpret clinical meaning.
Install and develop
Install the included .vsix using VS Code's Extensions: Install from VSIX..., or open this directory in VS Code and press F5 to launch an Extension Development Host. Open a .bdf or .edf file. Use Reopen Editor With... if another extension owns the file type. The extension runs in the desktop/remote extension host and needs file-system access; browser-only VS Code is not supported.
npm test
npm run package
No Python or runtime packages are required. For development, Node.js and npm are needed; packaging downloads @vscode/vsce through npx. Tests use generated BDF/EDF fixtures. The implementation supports multiple per-channel sample rates, 24-bit signed BDF and 16-bit signed EDF sample decoding, physical scaling, record-wise window access and peak-preserving display reduction. Discontinuous BDF+/EDF+ recordings are rejected because their record times are not necessarily contiguous. Other format variants and unusually large files should be validated against established readers before use in research workflows. Raw recordings and sidecars can contain identifying information; share only appropriate files.