-
Notifications
You must be signed in to change notification settings - Fork 30.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API support for Timeline view #84297
Comments
Latest Proposalvscode/src/vs/vscode.proposed.d.ts Lines 1473 to 1566 in f2cc6fd
Notes
Questions
TODO
|
@eamodio Will this API give access to click history in the document, selection history in the document? I use this in my extension, but I have to remember the clicked places myself. |
@lukaszpolowczyk This API is more about allowing a source to provide timeline information for a given Uri (document for now, but probably folder and workspace in the future). And that provided information is then shown as a list in a new Timeline view. This will enable extensions (and core) to start providing different sources to the timeline -- which could be undo history, selection history, etc. Although, in this first iteration we will be providing Git file history in the timeline. |
Also for this iteration this will only be available in insiders and you will need to add the following to your settings.json: |
@eamodio wrote in the TODO above:
Maybe worth the API comment for Though if the timeline can already obtain the ID of the extension implementing the TimelineProvider that gave it the items it won't be necessary to ask providers to use |
@gjsjohnmurray Yeah, I'm not sure if the |
This is just feedback from my very initial usage of the API, if |
@InTheCloudDan Can you please open a new issue for that -- I think it is a great idea. |
@lszomoru can this be considered for finalization? |
@gjsjohnmurray the remaining unknown is in dealing with workspace scoped timeline events. The timeline view would ideally have a way to present a full git log of the open repo(s), but right now it only works for single resources. My understanding is that we don't want to move forward with finalization until we have an answer for that. |
Hi, are there any plans to bring this into a release Version, we would eagerly like to use it. Thanks! |
Ahead of finalization of this API maybe revisit #147304 which acknowledges it's currently exposing two undocumented |
Any update, a timeline API would be helpful. |
In the light of #213935 (comment) does "Source Control Graph" now meet this need? If so, please finalize the timeline API. |
@lramos15 is there any hope of this API getting finalized? As an extension developer I find it demotivating when a proposed API such as this seems to make no progress towards finalization. In this case it's existed for more than 5 years now but we still can't use it in extensions we want to publish on Marketplace. |
Goals
Add support for a unified file-based timeline view to be added to the Explorer sidebar which will track the active document (similar to the Outline view). This new view can be contributed by multiple sources, e.g. save/undo points, source control commits, test runs/failures, etc. Events from all sources will be aggregated into a single chronologically-ordered view.
Proposal
A timeline source (e.g. an extension) registers a
TimelineProvider
for a set of documents. VS Code will then call the all the registeredTimelineProvider.provideTimeline
callbacks (in parallel) when the active editor changes and matches those registrations. The results will be merged into a unified set ordered by theTimelineItem.date
and displayed in a new File Timeline view in the Explorer sidebar.A timeline provider can signal that new events have occurred via the
onDidAdd
event, providing the set of additional timeline items. A provider can also signal a refresh of its timeline items via theonDidChange
event.Questions & Challenges
API
provideTimeline
againTimelimeChangeEvent
event provide a way to signal that an individual item(s) should be updated?onDidAdd
?id
s for the tree items, since they can come from multiple extensions. Probably should ensure a prefix or something per provider for any providedid
s (or not give control over theid
s at all)Behavior
source
of the timeline items?/cc @jrieken
Refs: #83995
The text was updated successfully, but these errors were encountered: