The @theia/getting-started extension contributes a default getting-started widget which is displayed whenever
opening the application without any workspace present or if the widget is explicitly opened (through the menu or command).
The getting-started widget provides useful commands and functionality for quickly getting up to speed with the application. For example:
open commands: commands which are used to open files, folders, and workspaces quickly.recent workspaces: recently used workspaces are listed for easy and quick access.settings commands: commands which are used to open the preferences and keyboard shortcuts widgets.help: useful links pointing to documentation and/or guides.The widget also lists the available walkthroughs: guided, multi-step introductions whose progress is remembered across sessions. They come from two sources, which are treated alike:
contributes.walkthroughs section of their manifest.WalkthroughProvider contribution point.A Theia extension contributes one by binding a provider:
@injectable()
export class MyWalkthroughProvider implements WalkthroughProvider {
getWalkthroughs(): WalkthroughDefinition[] {
return [{
id: 'my-extension.getting-started',
title: 'Get started with my feature',
description: 'Set it up and learn how to work with it.',
icon: 'sparkle',
steps: [{
id: 'configure',
title: 'Configure the feature',
// Trusted markdown, so `command:` links work.
description: 'Open the [settings](command:my-extension.openSettings) and pick a mode.',
completionEvents: ['onContext:myExtension.isConfigured']
}]
}];
}
}
bind(WalkthroughProvider).to(MyWalkthroughProvider).inSingletonScope();
The ids are used as they are, so they have to be unique across the application; a walkthrough contributed by a
plugin is identified by <pluginId>.<walkthroughId>, which a provider must not imitate. A provider whose
walkthroughs change over time can expose an optional onDidChange event to have them collected again.
A step is completed when one of its completionEvents fires. Besides onContext: these are onCommand:,
onSettingChanged:, onView:, onLink: and extensionInstalled:, matching the VS Code walkthrough
contribution. Prefer events that describe what the user achieved, so that a step is also ticked for a user who
did the work before opening the walkthrough. A step without any completion event is marked done by hand.
Walkthroughs are opened from the widget, or with the walkthrough.open command taking the walkthrough id.
"Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia