@@ -45,6 +45,7 @@ import { checkSignalFile, pollSignalFileForProcess } from '../fileSystem'
4545import { DVCLIVE_ONLY_RUNNING_SIGNAL_FILE } from '../cli/dvc/constants'
4646import { Response } from '../vscode/response'
4747import { Pipeline } from '../pipeline'
48+ import { definedAndNonEmpty } from '../util/array'
4849
4950export const ExperimentsScale = {
5051 ...omit ( ColumnType , 'TIMESTAMP' ) ,
@@ -356,7 +357,7 @@ export class Experiments extends BaseRepository<TableData> {
356357 public async selectColumns ( ) {
357358 const columns = this . columns . getTerminalNodes ( )
358359
359- const selected = await pickPaths ( ' columns' , columns )
360+ const selected = await pickPaths ( columns , Title . SELECT_COLUMNS )
360361 if ( ! selected ) {
361362 return
362363 }
@@ -365,6 +366,21 @@ export class Experiments extends BaseRepository<TableData> {
365366 return this . notifyChanged ( )
366367 }
367368
369+ public async selectFirstColumns ( ) {
370+ const columns = this . columns . getTerminalNodes ( )
371+
372+ const selected = await pickPaths (
373+ columns . map ( column => ( { ...column , selected : false } ) ) ,
374+ Title . SELECT_FIRST_COLUMNS
375+ )
376+ if ( ! definedAndNonEmpty ( selected ) ) {
377+ return
378+ }
379+
380+ this . columns . selectFirst ( selected . map ( ( { path } ) => path ) )
381+ return this . notifyChanged ( )
382+ }
383+
368384 public pickCommitOrExperiment ( ) {
369385 return pickExperiment (
370386 this . experiments . getCommitsAndExperiments ( ) ,
0 commit comments