import '../../../../base/common/strings.js';
import { localizeWithPath } from '../../../../nls.js';
import '../../../services/themes/common/workbenchThemeService.js';
import { Codicon } from '../../../../base/common/codicons.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
import { NotebookSetting } from '../../notebook/common/notebookCommon.js';
const setupIcon = registerIcon('getting-started-setup', Codicon.zap, ( localizeWithPath(
    'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
    'getting-started-setup-icon',
    "Icon used for the setup category of welcome page"
)));
const beginnerIcon = registerIcon('getting-started-beginner', Codicon.lightbulb, ( localizeWithPath(
    'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
    'getting-started-beginner-icon',
    "Icon used for the beginner category of welcome page"
)));
const startEntries = [
    {
        id: 'welcome.showNewFileEntries',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.newFile.title',
            "New File..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.newFile.description',
            "Open a new untitled text file, notebook, or custom editor."
        )),
        icon: Codicon.newFile,
        content: {
            type: 'startEntry',
            command: 'command:welcome.showNewFileEntries',
        }
    },
    {
        id: 'topLevelOpenMac',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openMac.title',
            "Open..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openMac.description',
            "Open a file or folder to start working"
        )),
        icon: Codicon.folderOpened,
        when: '!isWeb && isMac',
        content: {
            type: 'startEntry',
            command: 'command:workbench.action.files.openFileFolder',
        }
    },
    {
        id: 'topLevelOpenFile',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openFile.title',
            "Open File..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openFile.description',
            "Open a file to start working"
        )),
        icon: Codicon.goToFile,
        when: 'isWeb || !isMac',
        content: {
            type: 'startEntry',
            command: 'command:workbench.action.files.openFile',
        }
    },
    {
        id: 'topLevelOpenFolder',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openFolder.title',
            "Open Folder..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openFolder.description',
            "Open a folder to start working"
        )),
        icon: Codicon.folderOpened,
        when: '!isWeb && !isMac',
        content: {
            type: 'startEntry',
            command: 'command:workbench.action.files.openFolder',
        }
    },
    {
        id: 'topLevelOpenFolderWeb',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openFolder.title',
            "Open Folder..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.openFolder.description',
            "Open a folder to start working"
        )),
        icon: Codicon.folderOpened,
        when: '!openFolderWorkspaceSupport && workbenchState == \'workspace\'',
        content: {
            type: 'startEntry',
            command: 'command:workbench.action.files.openFolderViaWorkspace',
        }
    },
    {
        id: 'topLevelGitClone',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelGitClone.title',
            "Clone Git Repository..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelGitClone.description',
            "Clone a remote repository to a local folder"
        )),
        when: 'config.git.enabled && !git.missing',
        icon: Codicon.sourceControl,
        content: {
            type: 'startEntry',
            command: 'command:git.clone',
        }
    },
    {
        id: 'topLevelGitOpen',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelGitOpen.title',
            "Open Repository..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelGitOpen.description',
            "Connect to a remote repository or pull request to browse, search, edit, and commit"
        )),
        when: 'workspacePlatform == \'webworker\'',
        icon: Codicon.sourceControl,
        content: {
            type: 'startEntry',
            command: 'command:remoteHub.openRepository',
        }
    },
    {
        id: 'topLevelShowWalkthroughs',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelShowWalkthroughs.title',
            "Open a Walkthrough..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelShowWalkthroughs.description',
            "View a walkthrough on the editor or an extension"
        )),
        icon: Codicon.checklist,
        when: 'allWalkthroughsHidden',
        content: {
            type: 'startEntry',
            command: 'command:welcome.showAllWalkthroughs',
        }
    },
    {
        id: 'topLevelRemoteOpen',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelRemoteOpen.title',
            "Connect to..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelRemoteOpen.description',
            "Connect to remote development workspaces."
        )),
        when: '!isWeb',
        icon: Codicon.remote,
        content: {
            type: 'startEntry',
            command: 'command:workbench.action.remote.showMenu',
        }
    },
    {
        id: 'topLevelOpenTunnel',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelOpenTunnel.title',
            "Open Tunnel..."
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.topLevelOpenTunnel.description',
            "Connect to a remote machine through a Tunnel"
        )),
        when: 'isWeb && showRemoteStartEntryInWeb',
        icon: Codicon.remote,
        content: {
            type: 'startEntry',
            command: 'command:workbench.action.remote.showWebStartEntryActions',
        }
    },
];
const Button = (title, href) => `[${title}](${href})`;
const walkthroughs = [
    {
        id: 'Setup',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.setup.title',
            "Get Started with VS Code"
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.setup.description',
            "Customize your editor, learn the basics, and start coding"
        )),
        isFeatured: true,
        icon: setupIcon,
        when: '!isWeb',
        next: 'Beginner',
        content: {
            type: 'steps',
            steps: [
                {
                    id: 'pickColorTheme',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.pickColor.title',
                        "Choose your theme"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.pickColor.description.interpolated',
                        "The right theme helps you focus on your code, is easy on your eyes, and is simply more fun to use.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'titleID',
                            "Browse Color Themes"
                        )), 'command:workbench.action.selectTheme')
                    )),
                    completionEvents: [
                        'onSettingChanged:workbench.colorTheme',
                        'onCommand:workbench.action.selectTheme'
                    ],
                    media: { type: 'markdown', path: 'theme_picker', }
                },
                {
                    id: 'extensionsWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.extensions.title',
                        "Code with extensions"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.extensionsWeb.description.interpolated',
                        "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'browsePopular',
                            "Browse Popular Web Extensions"
                        )), 'command:workbench.extensions.action.showPopularExtensions')
                    )),
                    when: 'workspacePlatform == \'webworker\'',
                    media: {
                        type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
                    },
                },
                {
                    id: 'findLanguageExtensions',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.findLanguageExts.title',
                        "Rich support for all your languages"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.findLanguageExts.description.interpolated',
                        "Code smarter with syntax highlighting, code completion, linting and debugging. While many languages are built-in, many more can be added as extensions.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'browseLangExts',
                            "Browse Language Extensions"
                        )), 'command:workbench.extensions.action.showLanguageExtensions')
                    )),
                    when: 'workspacePlatform != \'webworker\'',
                    media: {
                        type: 'svg', altText: 'Language extensions', path: 'languages.svg'
                    },
                },
                {
                    id: 'settings',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.settings.title',
                        "Tune your settings"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.settings.description.interpolated',
                        "Customize every aspect of VS Code and your extensions to your liking. Commonly used settings are listed first to get you started.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'tweakSettings',
                            "Open Settings"
                        )), 'command:toSide:workbench.action.openSettings')
                    )),
                    media: {
                        type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
                    },
                },
                {
                    id: 'settingsSync',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.settingsSync.title',
                        "Sync settings across devices"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.settingsSync.description.interpolated',
                        "Keep your essential customizations backed up and updated across all your devices.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'enableSync',
                            "Backup and Sync Settings"
                        )), 'command:workbench.userDataSync.actions.turnOn')
                    )),
                    when: 'syncStatus != uninitialized',
                    completionEvents: ['onEvent:sync-enabled'],
                    media: {
                        type: 'svg', altText: 'The "Turn on Sync" entry in the settings gear menu.', path: 'settingsSync.svg'
                    },
                },
                {
                    id: 'commandPaletteTask',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.commandPalette.title',
                        "Unlock productivity with the Command Palette "
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.commandPalette.description.interpolated',
                        "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'commandPalette',
                            "Open Command Palette"
                        )), 'command:workbench.action.showCommands')
                    )),
                    media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
                },
                {
                    id: 'pickAFolderTask-Mac',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.setup.OpenFolder.title',
                        "Open up your code"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.setup.OpenFolder.description.interpolated',
                        "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'pickFolder',
                            "Pick a Folder"
                        )), 'command:workbench.action.files.openFileFolder')
                    )),
                    when: 'isMac && workspaceFolderCount == 0',
                    media: {
                        type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg'
                    }
                },
                {
                    id: 'pickAFolderTask-Other',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.setup.OpenFolder.title',
                        "Open up your code"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.setup.OpenFolder.description.interpolated',
                        "You're all set to start coding. Open a project folder to get your files into VS Code.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'pickFolder',
                            "Pick a Folder"
                        )), 'command:workbench.action.files.openFolder')
                    )),
                    when: '!isMac && workspaceFolderCount == 0',
                    media: {
                        type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg'
                    }
                },
                {
                    id: 'quickOpen',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.quickOpen.title',
                        "Quickly navigate between your files"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.quickOpen.description.interpolated',
                        "Navigate between files in an instant with one keystroke. Tip: Open multiple files by pressing the right arrow key.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'quickOpen',
                            "Quick Open a File"
                        )), 'command:toSide:workbench.action.quickOpen')
                    )),
                    when: 'workspaceFolderCount != 0',
                    media: {
                        type: 'svg', altText: 'Go to file in quick search.', path: 'search.svg'
                    }
                },
                {
                    id: 'videoTutorial',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.videoTutorial.title',
                        "Watch video tutorials"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.videoTutorial.description.interpolated',
                        "Watch the first in a series of short & practical video tutorials for VS Code's key features.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'watch',
                            "Watch Tutorial"
                        )), 'https://aka.ms/vscode-getting-started-video')
                    )),
                    media: { type: 'svg', altText: 'VS Code Settings', path: 'learn.svg' },
                }
            ]
        }
    },
    {
        id: 'SetupWeb',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.setupWeb.title',
            "Get Started with VS Code for the Web"
        )),
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.setupWeb.description',
            "Customize your editor, learn the basics, and start coding"
        )),
        isFeatured: true,
        icon: setupIcon,
        when: 'isWeb',
        next: 'Beginner',
        content: {
            type: 'steps',
            steps: [
                {
                    id: 'pickColorThemeWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.pickColor.title',
                        "Choose your theme"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.pickColor.description.interpolated',
                        "The right theme helps you focus on your code, is easy on your eyes, and is simply more fun to use.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'titleID',
                            "Browse Color Themes"
                        )), 'command:workbench.action.selectTheme')
                    )),
                    completionEvents: [
                        'onSettingChanged:workbench.colorTheme',
                        'onCommand:workbench.action.selectTheme'
                    ],
                    media: { type: 'markdown', path: 'theme_picker', }
                },
                {
                    id: 'menuBarWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.menuBar.title',
                        "Just the right amount of UI"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.menuBar.description.interpolated',
                        "The full menu bar is available in the dropdown menu to make room for your code. Toggle its appearance for faster access. \n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'toggleMenuBar',
                            "Toggle Menu Bar"
                        )), 'command:workbench.action.toggleMenuBar')
                    )),
                    when: 'isWeb',
                    media: {
                        type: 'svg', altText: 'Comparing menu dropdown with the visible menu bar.', path: 'menuBar.svg'
                    },
                },
                {
                    id: 'extensionsWebWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.extensions.title',
                        "Code with extensions"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.extensionsWeb.description.interpolated',
                        "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'browsePopular',
                            "Browse Popular Web Extensions"
                        )), 'command:workbench.extensions.action.showPopularExtensions')
                    )),
                    when: 'workspacePlatform == \'webworker\'',
                    media: {
                        type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
                    },
                },
                {
                    id: 'findLanguageExtensionsWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.findLanguageExts.title',
                        "Rich support for all your languages"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.findLanguageExts.description.interpolated',
                        "Code smarter with syntax highlighting, code completion, linting and debugging. While many languages are built-in, many more can be added as extensions.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'browseLangExts',
                            "Browse Language Extensions"
                        )), 'command:workbench.extensions.action.showLanguageExtensions')
                    )),
                    when: 'workspacePlatform != \'webworker\'',
                    media: {
                        type: 'svg', altText: 'Language extensions', path: 'languages.svg'
                    },
                },
                {
                    id: 'settingsSyncWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.settingsSync.title',
                        "Sync settings across devices"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.settingsSync.description.interpolated',
                        "Keep your essential customizations backed up and updated across all your devices.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'enableSync',
                            "Backup and Sync Settings"
                        )), 'command:workbench.userDataSync.actions.turnOn')
                    )),
                    when: 'syncStatus != uninitialized',
                    completionEvents: ['onEvent:sync-enabled'],
                    media: {
                        type: 'svg', altText: 'The "Turn on Sync" entry in the settings gear menu.', path: 'settingsSync.svg'
                    },
                },
                {
                    id: 'commandPaletteTaskWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.commandPalette.title',
                        "Unlock productivity with the Command Palette "
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.commandPalette.description.interpolated',
                        "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'commandPalette',
                            "Open Command Palette"
                        )), 'command:workbench.action.showCommands')
                    )),
                    media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
                },
                {
                    id: 'pickAFolderTask-WebWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.setup.OpenFolder.title',
                        "Open up your code"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.setup.OpenFolderWeb.description.interpolated',
                        "You're all set to start coding. You can open a local project or a remote repository to get your files into VS Code.\n{0}\n{1}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'openFolder',
                            "Open Folder"
                        )), 'command:workbench.action.addRootFolder'),
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'openRepository',
                            "Open Repository"
                        )), 'command:remoteHub.openRepository')
                    )),
                    when: 'workspaceFolderCount == 0',
                    media: {
                        type: 'svg', altText: 'Explorer view showing buttons for opening folder and cloning repository.', path: 'openFolder.svg'
                    }
                },
                {
                    id: 'quickOpenWeb',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.quickOpen.title',
                        "Quickly navigate between your files"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.quickOpen.description.interpolated',
                        "Navigate between files in an instant with one keystroke. Tip: Open multiple files by pressing the right arrow key.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'quickOpen',
                            "Quick Open a File"
                        )), 'command:toSide:workbench.action.quickOpen')
                    )),
                    when: 'workspaceFolderCount != 0',
                    media: {
                        type: 'svg', altText: 'Go to file in quick search.', path: 'search.svg'
                    }
                }
            ]
        }
    },
    {
        id: 'Beginner',
        isFeatured: false,
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.beginner.title',
            "Learn the Fundamentals"
        )),
        icon: beginnerIcon,
        description: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.beginner.description',
            "Get an overview of the most essential features"
        )),
        content: {
            type: 'steps',
            steps: [
                {
                    id: 'extensions',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.extensions.title',
                        "Code with extensions"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.extensions.description.interpolated',
                        "Extensions are VS Code's power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'browseRecommended',
                            "Browse Recommended Extensions"
                        )), 'command:workbench.extensions.action.showRecommendedExtensions')
                    )),
                    when: 'workspacePlatform != \'webworker\'',
                    media: {
                        type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions.svg'
                    },
                },
                {
                    id: 'terminal',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.terminal.title',
                        "Built-in terminal"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.terminal.description.interpolated',
                        "Quickly run shell commands and monitor build output, right next to your code.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'showTerminal',
                            "Open Terminal"
                        )), 'command:workbench.action.terminal.toggleTerminal')
                    )),
                    when: 'workspacePlatform != \'webworker\' && remoteName != codespaces && !terminalIsOpen',
                    media: {
                        type: 'svg', altText: 'Integrated terminal running a few npm commands', path: 'terminal.svg'
                    },
                },
                {
                    id: 'debugging',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.debug.title',
                        "Watch your code in action"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.debug.description.interpolated',
                        "Accelerate your edit, build, test, and debug loop by setting up a launch configuration.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'runProject',
                            "Run your Project"
                        )), 'command:workbench.action.debug.selectandstart')
                    )),
                    when: 'workspacePlatform != \'webworker\' && workspaceFolderCount != 0',
                    media: {
                        type: 'svg', altText: 'Run and debug view.', path: 'debug.svg',
                    },
                },
                {
                    id: 'scmClone',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.scm.title',
                        "Track your code with Git"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.scmClone.description.interpolated',
                        "Set up the built-in version control for your project to track your changes and collaborate with others.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'cloneRepo',
                            "Clone Repository"
                        )), 'command:git.clone')
                    )),
                    when: 'config.git.enabled && !git.missing && workspaceFolderCount == 0',
                    media: {
                        type: 'svg', altText: 'Source Control view.', path: 'git.svg',
                    },
                },
                {
                    id: 'scmSetup',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.scm.title',
                        "Track your code with Git"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.scmSetup.description.interpolated',
                        "Set up the built-in version control for your project to track your changes and collaborate with others.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'initRepo',
                            "Initialize Git Repository"
                        )), 'command:git.init')
                    )),
                    when: 'config.git.enabled && !git.missing && workspaceFolderCount != 0 && gitOpenRepositoryCount == 0',
                    media: {
                        type: 'svg', altText: 'Source Control view.', path: 'git.svg',
                    },
                },
                {
                    id: 'scm',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.scm.title',
                        "Track your code with Git"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.scm.description.interpolated',
                        "No more looking up Git commands! Git and GitHub workflows are seamlessly integrated.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'openSCM',
                            "Open Source Control"
                        )), 'command:workbench.view.scm')
                    )),
                    when: 'config.git.enabled && !git.missing && workspaceFolderCount != 0 && gitOpenRepositoryCount != 0 && activeViewlet != \'workbench.view.scm\'',
                    media: {
                        type: 'svg', altText: 'Source Control view.', path: 'git.svg',
                    },
                },
                {
                    id: 'installGit',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.installGit.title',
                        "Install Git"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        { key: 'gettingStarted.installGit.description.interpolated', comment: ['The placeholders are command link items should not be translated'] },
                        "Install Git to track changes in your projects.\n{0}\n{1}Reload window{2} after installation to complete Git setup.",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'installGit',
                            "Install Git"
                        )), 'https://aka.ms/vscode-install-git'),
                        '[',
                        '](command:workbench.action.reloadWindow)'
                    )),
                    when: 'git.missing',
                    media: {
                        type: 'svg', altText: 'Install Git.', path: 'git.svg',
                    },
                    completionEvents: [
                        'onContext:git.state == initialized'
                    ]
                },
                {
                    id: 'tasks',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.tasks.title',
                        "Automate your project tasks"
                    )),
                    when: 'workspaceFolderCount != 0 && workspacePlatform != \'webworker\'',
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.tasks.description.interpolated',
                        "Create tasks for your common workflows and enjoy the integrated experience of running scripts and automatically checking results.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'runTasks',
                            "Run Auto-detected Tasks"
                        )), 'command:workbench.action.tasks.runTask')
                    )),
                    media: {
                        type: 'svg', altText: 'Task runner.', path: 'runTask.svg',
                    },
                },
                {
                    id: 'shortcuts',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.shortcuts.title',
                        "Customize your shortcuts"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.shortcuts.description.interpolated',
                        "Once you have discovered your favorite commands, create custom keyboard shortcuts for instant access.\n{0}",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'keyboardShortcuts',
                            "Keyboard Shortcuts"
                        )), 'command:toSide:workbench.action.openGlobalKeybindings')
                    )),
                    media: {
                        type: 'svg', altText: 'Interactive shortcuts.', path: 'shortcuts.svg',
                    }
                },
                {
                    id: 'workspaceTrust',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.workspaceTrust.title',
                        "Safely browse and edit code"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.workspaceTrust.description.interpolated',
                        "{0} lets you decide whether your project folders should **allow or restrict** automatic code execution __(required for extensions, debugging, etc)__.\nOpening a file/folder will prompt to grant trust. You can always {1} later.",
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'workspaceTrust',
                            "Workspace Trust"
                        )), 'https://github.com/microsoft/vscode-docs/blob/workspaceTrust/docs/editor/workspace-trust.md'),
                        Button(( localizeWithPath(
                            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                            'enableTrust',
                            "enable trust"
                        )), 'command:toSide:workbench.action.manageTrustedDomain')
                    )),
                    when: 'workspacePlatform != \'webworker\' && !isWorkspaceTrusted && workspaceFolderCount == 0',
                    media: {
                        type: 'svg', altText: 'Workspace Trust editor in Restricted mode and a primary button for switching to Trusted mode.', path: 'workspaceTrust.svg'
                    },
                },
            ]
        }
    },
    {
        id: 'notebooks',
        title: ( localizeWithPath(
            'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
            'gettingStarted.notebook.title',
            "Customize Notebooks"
        )),
        description: '',
        icon: setupIcon,
        isFeatured: false,
        when: `config.${NotebookSetting.openGettingStarted} && userHasOpenedNotebook`,
        content: {
            type: 'steps',
            steps: [
                {
                    completionEvents: ['onCommand:notebook.setProfile'],
                    id: 'notebookProfile',
                    title: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.notebookProfile.title',
                        "Select the layout for your notebooks"
                    )),
                    description: ( localizeWithPath(
                        'vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent',
                        'gettingStarted.notebookProfile.description',
                        "Get notebooks to feel just the way you prefer"
                    )),
                    when: 'userHasOpenedNotebook',
                    media: {
                        type: 'markdown', path: 'notebookProfile'
                    }
                },
            ]
        }
    }
];
export { startEntries, walkthroughs };
