- Updated the tour recorder, to allow you to edit the line associated with a step
- Updated the tour recorder, to allow you to add a tour step from an editor selection
- Added the ability to record a new tour that is saved to an arbitrary location on disk, as opposed to the
.tours
directory of the opened workspace. - Added new extensibility APIs to record and playback tours for external workspaces (e.g. GistPad repo editing).
- Updated the
CodeTour
tree to always show when you're taking a tour, even if you don't have a workspace open.
- Fixed an issue where CodeTour overrode the JSON language type
- Added a list of well-known views to the step
view
property (e.g.scm
,extensions:disabled
) to simpify the authoring process for view steps.
- Exposed the
Add Tour Step
as a context menu to tour nodes in theCodeTour
tree. - Update the
CodeTour
tree, so that it doesn't "steal" focus while navigating a tour, if the end-user doesn't have it visible already - Experimental Added the concept of a "view step", which allows you to add a step that automatically focuses a VS Code view and describes it
- Experimental Added step commands, which allows a step to include one or more commands that should be executed when the step is navigated to
- Changed the
CodeTour
tree to be always visible by default, as long as you have one or more workspaces opened.
- Fixed an issue with URI handling on Windows
- Introduced support for the step/tour reference syntax.
- Added the following commands to the command link completion list:
Run build task
,Run task
andRun test task
. - Fixed a bug where command links didn't work, if the command included multiple "components" to the name (e.g.
workbench.action.tasks.build
). - Fixed a bug where tours weren't being discovered for virtual file systems that include a query string in their workspace path.
- Fixed a bug where tours that included content-only steps couldn't be exported.
- Fixed the open/export tour commands to correctly look for
*.tour
files. - Fixed a bug where the
CodeTour: Record Tour
command was being displayed without having any workspaces open.
- Added support for "command links" in your steps, including a completion provider for using well-known commands.
- Improved extension activation perf by building it with Webpack
- Fixed an issue with playing tours for virtual file systems (e.g.
gist://
).
- Added support for a codebase to have a "primary" tour, which provides a little more prescription to folks that are onboarding
- Added the
Change Title
command to step nodes in theCodeTour
tree. This allows you to easily give steps a title without needing to add a markdown header to their description - Added support for multi-select deletes in the
CodeTour
tree, for both tour and step nodes - Added a
Preview Tour
command that allows putting the active tour into preview mode - Updated the tour recorder to automatically place steps into edit mode when you start recording
- The
Save Step
button is now only enabled when recording a step, whose description isn't empty - Removed the
Start CodeTour
status bar item, which just added noise to the user's statur bar
- Introduced the
Add CodeTour Step
context menu to directories in theExplorer
tree, which allows you to add steps that point at directories, in addition to files. - Added the
CodeTour: Add Tour Step
command, which allows you to create a content-only step, that isn't associated with a file or directory. - Fixed a bug where new steps weren't properly focused in the
CodeTour
tree when recording a new tour.
- Explicitly marking the
CodeTour
extension as a "workspace extension", since it needs access to the workspace files and Git extension. - Temporarily removed the
View Notebook
command, since this isn't officially supported in VS Code.
- Added the
View Notebook
command to tour nodes in theCodeTour
tree, which allows you to view a tour as a notebook
- New tours are now written to the workspace's
.tours
folder, instead of the.vscode/tours
folder. Both folders are still valid locations for tours, but the former sets up CodeTour to be more editor-agnostic (e.g. adding a Visual Studio client) - New tours are now written using a
.tour
extension (instead of.json
). Both formats are still supported, but.tour
will be the new default.
- Added the
CodeTour: Open Tour URL...
command, that allows opening a tour file by URL, in addition to the existingCodeTour: Open Tour File...
command.
- Introduced support for embedding shell commands in a tour step (e.g.
>> npm run compile
), which allows you to add more interactivity to a tour. - Added support for including VS Code
command:
links within your tour step comments (e.g.[Start Tour](command:codetour.startTour)
), in order to automate arbitrary workbench actions. - Tours can now be organized within sub-directories of the
.vscode/tours
directory, and can now also be places withtin a root-level.tours
folder. - Added the
exportTour
to the API that is exposed by this extension
- Added support for recording and playing tours within a multi-root workspace
- Added support for recording steps that reference files outside of the currently opened workspace. Note: This should only be done if the file is outside of the workspace, but still within the same git repo. Otherwise, the tour wouldn't be "stable" for people who clone the repo and try to replay it.
- The
CodeTour
tree now auto-refreshes when you add/remove folders to the current workspace. - Fixed an issue with "tour markers" being duplicated
- Fixed an issue with replaying tours that were associated with a Git tag ref
- Updated the VS Code version dependency to
1.40.0
(instead of1.42.0
). - Removed the dependency on the built-in Git extension, to ensure that recording/playback is more reliable.
- Introduced "tour markers", which display a gutter icon next to lines of code which are associated with a step in a code tour.
- Updated the
CodeTour
tree to display the currently active tour, regardless how it was started (e.g. you open a tour file).
- Updated the
CodeTour
tree to only display if the currently open workspace has any tours, or if the user is currently taking a tour. That way, it isn't obtrusive to users that aren't currently using it. - Updated the
CodeTour: Refresh Tours
command to only show up when the currently opened workspace has any tours.
- Added the
Export Tour
command to theCodeTour
tree, which allows exporting a recorded tour that embeds the file contents needed to play it back - Added the ability to open a code tour file, either via the
CodeTour: Open Tour File...
command or by clicking theOpen Tour File...
button in the title bar of theCodeTour
view - Added support for tour steps to omit a line number, which results in the step description being displayed at the bottom of the associated file
- Exposed an experimental API for other extensions to record/playback tours. For an example, see the GistPad extension, which now allows you to create tours associated with interactive web playgrounds
- Added a new
Edit Step
command to theCodeTour
tree, which allows you to start editing a tour at a specific step - Updated the
CodeTour
tree to only show the move step up/down commands while you're actively recording that step
- Updated the
CodeTour
tree to auto-select tree node that is associated with the currently viewing tour step - Text highlights can now be edited when editing a tour code
- Added support for collapsing all nodes in the
CodeTour
tree - Added a prompt when trying to record a tour, using a title that is already in use by an existing tour
- Introduced support for step titles, which allow defining friendly names for a tour's steps in the
CodeTour
tree - Exposed an extension API, so that other VS Code extensions (e.g. GistPad) can start and end tours that they manage
- Added the
CodeTour: Edit Tour
command, that allows you to edit the tour you're currently playing.
- Added the ability to associate a tour with a specific Git tag and/or commit, in order to enable it to be resilient to code changes
- Updated the tour recorder so that tours are automatically saved upon creation, and on each step/change
- Added the
Edit Tour
command to tour nodes in theCodeTour
tree, in order to allow editing existing tours - Added the
Move Up
andMove Down
commands to tour step nodes in theCodeTour
tree, in order to allow re-arranging steps in a tour - Added the
Delete Step
command to tour step nodes in theCodeTour
tree - Added the ability to insert a step after the current step, as opposed to always at the end of the tour
- Updated the workspace tour notification to display when any tours are available, not just a "main tour"
- Added the
'Resume Tour
,End Tour
,Change Title
,Change Description
andDelete Tour
commands to theCode Tours
tree view to enable easily managing existing tours - Added the
Code Tour: End Tour
command to the command palette
- Added an icon to the
Code Tours
tree view which indicates the currently active tour - Added support for creating/replaying tours when connected to a remote environment (thanks @alefragnani!)
- Added the save/end tour commands to the
Code Tours
tree view - The tour file name is now auto-generated based on the specified title
- Fixed a bug where recorded tours didn't always save properly on Windows
- Added keyboard shortcuts for navigating an active code tour
- Changed the
Code Tours
view to always display, even if the current workspace doesn't have any tours. That way, there's a simple entry point for recording new tours
- Initial release 🎉