TFS work Item editing conflict (TFS error 237079) - visual-studio-2010

It seems that TFS doesn't handle concurrent work item editing very well.
We ran into two problematic scenarios:
Scenario A:
You start editing a work item.
While you're editing, someone else edits and saves the same item.
When you try to save you get the horrible TFS237079 error which which means you have to loose your changes, refresh the item and edit again. nice.
Scenario B:
You have a work item focused for a while.
Someone edits and saves the item.
When you start editing you're actually editing an outdated version of the work item and will get TFS23709 when trying to save.
I'm quite familiar with the TFS SDK (wrote some TFS VS Addon and custom work item controls) but can't find something like a "BeforeEdit" event for a work item.
Having such event would allow me to warn the user that someone else is currently editing (for scenario A) and get the latest revision before editing (for Scenario B).
Thanks,
Raviv.

Optimistic concurrency is what it is. The server isnt tracking who is editing work items so If you really wanted to do "Someone else is editing this item" notifications you would probably have to write your own services and custom controls to track it. You'd also have to deal with edit flags not being release if visual studio crashed and with the web UI. If you choose that path I wish you luck!

Related

Best way to automate editing project file

Actually editing *.cproj files manually, some code in the project template deletes my edits. So i'm forced to edit the file constantly before i build..
What way would you take to automate this:
is it possible to write a vs extension to have a custom tab in project options that reacts to checkboxes modifying project file for me
any other way?..
Thanks
automate editing project file
Something like a button or menu in VS, click it then some content which you used to add manually will be added into .proj file automatically? If I misunderstand, feel free to correct me:)
What way would you take to automate this:
Hard to say, but in short, I think it depends on whether you're experienced in extension development.
Since if you combine the functions into a extension. Every time when you want to add some custom changes to them, all you need to do is just click a button in VS or select a checkbox. It sounds good but the development of extension may take you some time and you may encounter some issues during the development.The journey could be challenging but instersting!
is it possible to write a vs extension to have a custom tab in project
options that reacts to checkboxes modifying project file for me
It's absolutely possible.Just take a look at this extension,it provides a function which edit project in VS.
Not sure the details how your ideal extension is. But I think you may get some help below:
1.Extend menus and commands if you want to start the function by menu command.
Also, you may get some help from this issue which gives the suggestion about how to put function button under Add-node in solution explorer.
2.Assuming you have function code which adds content into a .xxproj file.(This part is about developing, add nodes to xml-based proj file?).Then add that code into a event handle which will be called when clicking the button or menu.(Something like this)
So I think it's possible but may take some time. And it will be the most automatic way but it takes some time to develop. Anyway, hope it helps and good luck with you.

Attaching To Work Item With Checkbox

We recently upgraded our TFS 2010 to TFS 2013. I like most of the changes, but some of them not so much. Did Microsoft really took away the feature that was in TFS 2010 where one could attach to an work item by checking a checkbox next to the work item? The way I currently do in TFS 2013 is, before checking in I run my TFS query, remember the work item number, then do 'Add By Id' or something like that, type the ID and enter. It might not seem big deal to many, but I absolutely do not like this. Is there a way to get those checkboxes next to the work item back? If not, is there a better way to do that process?
It has changed a little but I guess the closest experience is to create a personal query or add a shared query to your favourites.
In the Pending Changes Window under Related Work Items click the Queries drop down and select the relevant query.
The results will open in the main window and you can drag and drop a work item into the Related Work Items section which will link it to your changeset.
If you have VS Premium or Ultimate then you can use the My Work window in Team Explorer which will list your assigned work items in the Available Work Items section and you can just drag them into In Progress Work.

VS 2013 opens the diff window when a code review item is marked as done

My team uses TFS 2013/Visual Studio 2013 to do code reviews. It all works fine but there is a really annoying thing which VS does that I can't seem to turn off.
If I submit a review and it comes back with suggested changes, I go through and make them, checking each one off as I go. The problem is each time I mark a code review item as done by checking the box to the far right of it in the Team Explorer -> Code Review view, VS opens the diff window for that particular item showing the review comments. I don't want to see any of that, I just want to mark the item as done so I know I've dealt with it.
Is there any way to prevent VS from showing the diff window when you mark a code review item as done?

Silly Visual Studio Pending Changes Question

I recently switched from a Java based project to a C#/.net project. I previously used IntelliJ which had the concept of change lists where you could group your pending changes together and check each group in individually.
I have two problems with the pending changes window in visual studio.
1) Every time I check anything in, visual studio checks the checkbox beside Every pending change in the list forcing me to uncheck each and every one of them so I don't accidentally check something in. This is extremely frustrating because there are several files that I need to keep changed to correctly run my code locally. Is there any way to change this default behavior to not check any pending changes on check-in?
2) Is there any way to group changes into lists as opposed one big bucket of changes? Again this becomes frustrating when I need to check something in, but I have to search through the files and check the pertinent changes. I understand that shelve sets exist using TFS, but that doesn't cut it for me, especially since I have several changed files that I need to keep altered in order to correctly deploy locally, and I rarely ever want to check in.
Thanks in advance!
I have to manage lots of changes every day in Visual Studio, and I've got a few tips for you, but no silver bullet:
Use Ctrl+A to select all items and then press a checkbox to toggle the checkboxes for all items. This can be useful when performing changes to only a few items -- just uncheck everything, then make sure you have only the items checked that you'd like to update.
Use Ctrl+Click (then right-click) to 'Undo' selected changes. By default, the undo action will only apply to the selected items.
You might want to experiment with using multiple Workspaces -- and then filtering changes by workspace or by solution.
No, I don't know of a way to fix your problems. It sounds like the best answer would be to refactor your configuration settings or code so that you can check in all of your changes.
If your changes are in different projects you can partition what you check in using the Source Control Explorer by right clicking on the project folder and checking in that way. It will auto check only the files in the folder you right click on. Just keep in mind the Source Control Explorer gives you some other options. Otherwise, I do not know of a way to manually control your change sets file-by-file thought if this exists I would like to know about it too.
You can also use Ctrl+A to select all items and then press Spacebar to toggle the checkedboxes as checked/unchecked.

Why does my VB6 IDE loses its buttons and menu items?

I still have to use the VB6 IDE.
Unfortunately every time I start the IDE one of the buttons of the toolbar disappears. Almost always it's the Run button which goes first. Sometimes also items from the menu bar or the context menus are missing.
I have to reset the toolbars almost every time I start the IDE (Which is quite often during a typical work day). Recently I bought an IDE plugin which modifies the menu bar and requires a restart after every reset of the menu bar. (Otherwise it would crash)
I could live with just the resetting, but the restart is really annoying.
Is there something I can do?
To solve this problem:
Unload all add-ins.
Right-click on a toolbar and select the Customize... menu.
For each toolbar click the Reset... button (6 times in total).
Reload the add-ins.
For me action 3 was enough.
cf. MZTools faq (thanks to Andrea Bonafini), but these steps are originally from MSDN
It sounds like you recently bought a bad add-in. Can you get your money back? Every time I've had problems with disappearing controls in the IDE it has been due to a bad add-in. You can find out which one it is by disabling them, one by one, each time using the IDE for a while, then re-enable it and disable the next one, until the problem stops.
I still use one problematic add-in. It exhibits behavior similar to yours in that it makes the run button disappear. I avoid the problem by only loading the add-in when I need it, use it (it formats code), then I immediately unload it. If you don't use the functionality of the add-in that often, this could be an acceptable workaround.
Yea, i have this same problem with one of the add-in. But if you reset it. Shut the IDE down and open it back up again without doing anything, the IDE shouuld be able to retain the previous clean setup.
It's just guest, but:
Each graphical element on IDE (like button) is kind of resource (i.e. GDI handle).
Maybe your VB app doesn't manage these resources good enough and after sometime VB IDE cannot redraw elements like buttons (run is used often).
Also, maybe some IDE add-in is in conflict with some other add-in/application and breaks something -- I have this problem with Clip-X and MZ-Tools.
I had a similar problem when I was setting up the IDE to use for the first time, though it may not be helpful if you've been using the same IDE for a while. When I first started using the IDE, I would modify the toolbars and then close the IDE. When prompted if I wanted to save the open file I always said No, since the file was just a dummy file I was using to open the IDE with. Turns out the IDE was saving the toolbar preferences with that file, so they never got saved.
Try opening a file, customizing the UI, saving the file, then closing without modifying the code. This was the solution for me.
I've tracked down the problem and as suggested it was an add-in.
The problem went away as soon as I disabled the Visual Basic 6 Resource Editor.
How to restore your VB6 IDE without reinstalling:
Run Regedit
Find the entry for Visual Basic 6.0
Export your settings in case things
go wrong
Delete the 'UI' setting
Run VB and you will have your popup
menus back
The 'Find' button disappeared from my VB6 toolbar forcing me to select the Edit menu to use Find. I had two add-ins enabled: vbCodePrint and ResourceEditor; so I did away with both of them, turned VB6 off and back on, then put both add-ins back in and my button returned.
If you're still using the VB6 IDE, and I do amongst others, then this problem is not likely to have gone away. I use VB6 in Windows 10, and the problem is still there. But it doesn't affect me anymore.
I have had this problem a few years into using VB5 and VB6. Today, if I start VB6 directly, it may work fine the first time, but buttons will go missing the second time -- ALWAYS.
My solution, which I developed from day one:
Do whatever needs to be done to restore all your buttons. Save the Visual Basic 6.0 registry settings to a file, as suggested previously, and only keep the UI entry. Sometimes, you have to exit VB6 for it to post changes to the registry. So if this doesn't work the first time, try exiting before saving the settings.
I use my own program to launch VB6, which automatically copies my VB6 registry backup back into the registry -- by calling "RegEdit.exe /S D:\VB\IDE_Fix.reg" -- before I launch the IDE . This works every single time, and requires no action on my part.
If you read this, that means you are a programmer. You can make this work by yourself.
Mike
Reinstall,clean registry and update with SPacks etc....

Resources