| Summary: | contribute to change bar vertical ruler | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Kai-Uwe Maetzel <kai-uwe_maetzel> | ||||
| Component: | Team | Assignee: | Jean-Michel Lemieux <jean-michel_lemieux> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | enhancement | ||||||
| Priority: | P3 | CC: | daniel_megert, eclipse, jean-michel_lemieux | ||||
| Version: | 3.0 | ||||||
| Target Milestone: | 3.0 M4 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 35863 | ||||||
| Attachments: |
|
||||||
|
Description
Kai-Uwe Maetzel
Created attachment 5409 [details]
example plug-in providing a CVS reference document
Thanks. Is there a way to programatically update the change bar via the quickdiff provider? The CVS refresh with remote is happening in the background and it would be cool to update the change bar if a file being are editing is changed has incoming changes. The reference provider provides a reference document for a document being edited. The quickdiff listens for document changes on the reference document. So, if the reference provider changes the reference document, the quickdiff display will pick these up (i.e. will re-initialize itself currently...). *** Bug 40986 has been marked as a duplicate of this bug. *** Dean will be creating the CVS reference provider for the quick diff. Having used the quick diff with 'version on disk' for a little while now, I have some questions and comments: 1. Currently, it is very hard to find out that your file has changes without scrolling. I didn't find which hot keys to use to 'select next/previous change'. I understand that you want to show line changes but there is no way to find them. For example, in compare editors the overview ruler shows were the changes are and the select next/previous are used to navigate. Maybe we need an editor decoration to hint that it's changed based on the reference document? A hint that you should look for changes? 2. The bar is so narrow that I can't hover my mouse over it. What is the hotkey for showing the change? Also what are the hotkeys for replacing the changes? 3. Have you thought of providing 3-way diff support? With the CVS quick diff provider it will be really useful to see the direction of the change to understand if you made the change or if it was made remotely. 1. I agree - we would need a toggable indication on the overview ruler similar to the one provided by the compare editor. Whether we will want shortcuts or not, I am not sure - go to previous / next is usually assigned to something else already (e.g. next problem in Java Editor), so we would have to introduce new shortcuts. 2. There are no hotkeys so far - as a workaround for the narrow ruler, if line numbers are turned on, the ruler gets wider. Instead of using hotkeys for undoing a change, the related actions can be acessed via the ruler's context menu (Ctrl+W). 3. The quick diff indication was really thought as a lightweight change indication, and I am also considering a shortcutto open the full-fledged compare editor from a change. Note that the current diff information might not even be correct (i.e. the shortest edit script from reference document to actual) because it is computed incrementally. Try moving around lines for a demonstration of the current algorithm's limitations. Started working on this in a branch: branch_CVSQuickDiffProvider It won't be done for M3 though. I've implemented the CVS quick diff provider. It will be in the next integration build. I've played around with the quickdiff a bit more wihle implementing the CVS portion and would like to capture my previous ious comments in another PR. Basically I think the feature is really cool but currently isn't quite tuned enough to be useful. looking forward to your comments... I am right now in the process of putting the entire diffing into the background, and using real diffing instead of the often incorrect incremental diffing. Also, overview ruler markers will be easy to implement on top of that. |