Combining Auto-outlining and manual outlining is not saved consistently

Combining Auto-outlining and manual outlining is not saved consistently

Currently, automatic outlining works in FORTRAN(*) combined with Visual Studio.
Manual outlining works too.
My problem is that the manual outlining is not saved consistently. After exiting VS and restarting it, in some files, the manual outlining is remembered, in other files it is forgotten. I am not able to pinpoint the behavior: in some files, the outlining is never remembered, in other files sometimes, and in other files most of the time.

Now, I know that there is information on the outlining written in the project.suo file. I guess the automatic outlining is done during the loading of the project visual studio, when the status bar reads parse file.f90.
Probably, the information of the project.suo file gets merged with the automatic outlining.
Looking into the .suo file, I notice that the order of the file names is not fixed.

There is another issue, which I mention because it may be related. About once every two weeks, an error occurs during the loading of the project. I did not write down the message (bad luser, I know..., and it occurs too seldomly to regenerate it), but the message instructs to add a /log parameter to the visual studio startup command for further debugging. In the log file, I find the following error:

System.InvalidOperationException: Collection was modified; enumeration operation
may not execute. at
System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at
System.Collections.Generic.List`1.Enumerator.MoveNextRare() at
System.Collections.Generic.List`1.Enumerator.MoveNext() at
Intel.Fortran.IFLangService.Intellisense.HLTaggerProvider.HLTagger.d__0.MoveNext()
at
Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.d__16.MoveNext()

I suspect something goes wrong in the cooperation between Visual Studio and the Fortran Compiler Integration.
Please let me know if you need more information.

Regards,

Marten Jan

(*) I am using

  • MS Visual Studio 2010 Professional
  • Intel Visual Fortran Composer XE 2011 Update 9, package ID w_fcompxe_2011.9.300. Details: Intel...Update 9 Integration for Microsoft Visual Studio* 2010, 12.1.3526.2010
  • AnkhSVN - Subversion Support for Visual Studio 2.3.10838.1211
    * Ankh.Package 2.3.10838.1211
    * Subversion 1.7.3 via SharpSvn 1.7003.2023.12943
6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Did you notice any patterns as far as when the error occurs? Could you share your project with us or a project where this occurs? If this is a problem with ID integration, we need to be able to reproduce the problem in order to fix it.

Thanks,
Annalee
Intel Developer Support

I am sorry, the code I am working on in proprietary, so I cannot share the code. I am in the dark on patterns. First, I thought that the auto-outlining problem only occurs with modified files; later tests show that the outlining is also forgotten for unmodified files. Furthermore, I thought the issue had to do with the files I kept open when I close down Visual studio. This also is not the case. I did not attempt to relate the order in which the files appear in the .suo file.

However, I will start a different project, with source code I can share, and see if I can trigger the problems with that.

Regards,

Marten Jan

I'm having the same problem. Manual outlining is not saved in the project/solution. Should this be working in VS? 

app4619's picture

As a matter of interest how big is the .suo file? I have had problems which it getting very big (filling with thousands of lines of repeated junk) leading to all manner of niggley problems like you seem to be having. In the end I made a new clean project to fix it.

In my case, the .suo file is 113.664 bytes. Occasionally, I still lose the outlining; regrettably, I still do not have a clue. However, since my code looks like

!       my_subroutine
! region
! doxygen comments
! end region
subroutine my_subroutine
code
end subroutine
,

I have written a macro that selects the doxygen comments, and folds them. It is a quick-and-dirty hack, but saves a lot of clicking around to hide the doxygen comments again. For me, this reduces the error from interfering with my workflow to a minor annoyance. Still, it bugs me that I could not construct a reproducable case, but not enough to dedicate lots of work time to it.

Login to leave a comment.