ant-f / workingfileslist Goto Github PK
View Code? Open in Web Editor NEWVisual Studio extension tool window that shows a selectable list of files that are open in the editor
License: Apache License 2.0
Visual Studio extension tool window that shows a selectable list of files that are open in the editor
License: Apache License 2.0
When docked, the displayed window title text can be truncated. This means that "Working Files List" is potentially hidden
Would it be possible to have an option that hides the button and search bars at the top of the window? The window itself is good and useful but I don't need the bars.
The button bar has some functionality of the options page. But I did set the options weeks ago and it runs since then exactly like that. I never use these buttons in daily work, not one of them. The same with the search bar. I can remember what I have open, I must never search one of my seven or ten open files. (I know, other people have 50 or more files open, but this is not me.)
The options are always available in the Tools|Options menu, so the user can always switch the bars on again when this should be needed.
Note: These two bars consume a constant hight of about 15mm which I call wasted. This comes on top of the Solution Explorer which also wastes 15mm. I would like to use this vertical space for something more useful.
I've noticed this issue quite a lot when working with VS and Unity game engine. Not too sure what causes it. Possibly caused by the fact Unity changes the VS project from the outside? When I select a file that isn't shown in the list, it appears in the list again. Sometimes when I close a file, the list refreshes and shows everything again. VS 15.5.4, Unity 2018.1.2.
I can download this package in Marketplace. But When I restart the IDE, open the dock window, the ide cannot load the plugin. I see some detail log form ActivityLog.xml
SetSite failed for package [WorkingFilesWindowPackage]Source: 'WorkingFilesList' Description: Could not load file or assembly “Microsoft.VisualStudio.Threading, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”or one of its dependencies. File not found.
System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.VisualStudio.Threading, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
文件名:“Microsoft.VisualStudio.Threading, Version=15.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
在 WorkingFilesList.WorkingFilesWindowPackage.InitializeAsync(CancellationToken cancellationToken, IProgress`1 progress)
在 Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass16_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext()
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 Microsoft.VisualStudio.Services.VsTask.RethrowException(AggregateException e)
在 Microsoft.VisualStudio.Services.VsTask.InternalGetResult(Boolean ignoreUIThreadCheck)
在 Microsoft.VisualStudio.Services.VsTask.GetResult()
警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
I have no Visual Studio 2017 installed in my computer, therefore there is no Microsoft.VisualStudio.Threading, Version=15.3.0.0
assembly in my computer.
Hi,
The WorkingFileList package failed to load when opening a solution, where a source file in one of the projects had been removed recently.
I've attached the activity log from VS.
I suspect that the extension is trying to load the 'ValuesController.cs' file while it is not available anymore in the solution.
Edit: I've managed to reproduce the issue:
Regards,
Hello,
When a project or a solution is reloaded, open files related to those projects or solution disappears from the Working Files List. They appear again when the file is selected through the tabs.
It happens for example when Visual Studio detects some external changes in project configuration files, a pop-up is then shown asking for a reload.
It is quite annoying for me because those changes are made by my version control system, and it happens frequently.
Thanks in advance,
Any chance you can update this for VS-2019? Vertical tabs doesn't work in the latest release.
https://developercommunity.visualstudio.com/idea/467369/vertical-group-tab.html
It would be useful if I could select multiple files and close them all at once.
I think it is triggered by interactions with the TFS integrated source control system
The file is closed, but sometimes the file name still exists in the working file list window. Click delete, but it will not be deleted. It will also exist.
visual studio 2015 Enterprise Edition
Working Files List was designed to use the Documents
collection (from the DTE2
interface within the Visual Studio SDK) to ensure synchronization between the items within Working Files List, and editor windows within Visual Studio. As other Visual Studio windows (such as Properties pages for projects) do not have a corresponding entry within the Documents
collection, they will unfortunately not appear within Working Files List.
It may be possible to track these other windows using events for windows being opened/closed/activated; this is less reliable than using Documents
as a source of truth, and can potentially lead to orphaned entries within Working Files List.
here's the activity log. My guess is a file in the list was deleted or something.
592 2017/08/16 16:58:45.488 ErrorVersion: Visual Studio Enterprise 2019 16.11.18
Exception details:
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.VisualStudio.Shell.Interop.IVsShell5.LoadPackageWithContext(Guid& packageGuid, Int32 reason, Guid& context)
at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.GetPackage()
at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConstructContent()
After deleting cache by path C:\Users\user\AppData\Local\Microsoft\VisualStudio\16.0_ca2ca356\ComponentModelCache and restarting app with Admin rights - all works fine.
But then, after the next restart - the extension crashing again
Entries are added to ProjectBrushService._brushAssignment, but are never removed
The extension is failing to load in a concrete solution in Visual Studio 2019. I don't know exact steps to reproduce it, because it happened after a long work in that solution. Simple fix is to delate .vs
folder and start with clean solution again.
<activity>
<entry>
<record>3375</record>
<time>2021/08/27 06:05:52.777</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Begin package load [WorkingFilesWindowPackage]</description>
<guid>{26BF5782-13D2-4168-B979-BFCDE9BD63DD}</guid>
</entry>
<entry>
<record>3376</record>
<time>2021/08/27 06:05:52.788</time>
<type>Error</type>
<source>VisualStudio</source>
<description>SetSite failed for package [WorkingFilesWindowPackage]Source: 'WorkingFilesList.ToolWindow' Description: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
 at WorkingFilesList.ToolWindow.ViewModel.DocumentMetadataManager.Synchronize(Documents documents, Boolean setUsageOrder)
 at WorkingFilesList.WorkingFilesWindowPackage.InitializeServices(IKernel kernel, IOptionsPageService optionsPageService) in E:\Git\WorkingFilesList\Solution\WorkingFilesList\WorkingFilesWindowPackage.cs:line 142
 at WorkingFilesList.WorkingFilesWindowPackage.<InitializeAsync>d__3.MoveNext() in E:\Git\WorkingFilesList\Solution\WorkingFilesList\WorkingFilesWindowPackage.cs:line 111
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass16_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.VisualStudio.Threading.ThreadingTools.<WithCancellationSlow>d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__76.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
 at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
 at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
 at Microsoft.VisualStudio.Threading.JoinableTask.Join(CancellationToken cancellationToken)
 at Microsoft.VisualStudio.Threading.JoinableTask`1.Join(CancellationToken cancellationToken)
 at Microsoft.VisualStudio.Shell.VsTaskLibraryHelper.<>c__DisplayClass24_1`1.<AsVsTask>b__2()
--- End of stack trace from previous location where exception was thrown ---
 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
 at Microsoft.VisualStudio.Services.VsTask.RethrowException(AggregateException e)
 at Microsoft.VisualStudio.Services.VsTask.InternalGetResult(Boolean ignoreUIThreadCheck)
 at Microsoft.VisualStudio.Services.VsTask.GetResult()</description>
<guid>{26BF5782-13D2-4168-B979-BFCDE9BD63DD}</guid>
<hr>80004003 - E_POINTER</hr>
<errorinfo></errorinfo>
</entry>
<entry>
<record>3377</record>
<time>2021/08/27 06:05:52.790</time>
<type>Error</type>
<source>VisualStudio</source>
<description>End package load [WorkingFilesWindowPackage]</description>
<guid>{26BF5782-13D2-4168-B979-BFCDE9BD63DD}</guid>
<hr>80004003 - E_POINTER</hr>
<errorinfo></errorinfo>
</entry>
</activity>
This plugin is great and promises a lot. Thank you and congratulations for the great job!
I would love to be able to be able to pin a file and keep it on the list even if I close the file in visual studio editor, even if I close and re-open visual studio.
That would be useful with files that I tent to work from time to time.
Thank you.
Hello, i would suggest the enhancements related to keyboard control:
1.) Hotkey to focus on search field
2.) When on the files list, pressing enter (or another key) navigates to the focused file in the list
As a user of this plugin
I want to see file type icons in the Working File List
So that I can easily distinguish files with the same name, but different extensions (fs, cs, vb. etc)
And it makes the whole user experience more visually appealing
It would be very useful if we could pin files to the top with changeable order.
Maybe in a separate "pined files" group before the first project?
The pinned files should stay there, even if they are closed.
It would be nice if this would distinguish between the design view and code-behind .cs. It currently only saves a reference to the design view in the case of WinForms. Great tool otherwise.
I saw this report but I think my issue is different.
In a simple file with #include <iostream>
selecting Open Doucment (Ctrl + Shift + G by default) on iostream
does not add a new file to the working files list. It does however open a new tab.
This may be by design. After all iostream
is not a part of any open solution. I see there is a "Miscellaneous Files" group in the file list but it's not apparent to me when a file is added to it or not. It would be nice with a setting to show all open files in the list, so that there's effectively a 1:1 correspondence between the list and the tabs.
Pinning doesn't work for files that are not part of a solution/project, e.g. when individual files are opened, instead of a opening a solution/project.
Related issue: #27
Hello,
Thanks for your work on this extension. I've only just started using it, so please let me know if I'm missing something.
I think it'd be helpful to display an indicator (e.g., a red dot) next to the filename when the file's been changed. It should probably go to the right of the filename so that it doesn't interfere with the "scannability" of the list of names.
Thank you for your consideration.
Closing from the WFL still closes a file in VS but remains in the list and can be reopened from there. Removed only on project reload.
Visual Studio Community 2022 (64-bit) - Version 17.4.2
This plug-in is great, and I like to use it instead of visual studio'document tabs, because I have more files to open, and it's not convenient to put the document tag on the top. And because this plug-in is arranged according to project category, it is convenient to find. But I hope it can make a Parked tabs that can be docked to the left side of the visual studio edit window. It's better to have a slightly larger row spacing.
A lot of times, I double-click the file in the open files list when I want to navigate to the file. This also toggles its working files list status (removes/adds). Could this action be made configurable so that we can disable the WFL status toggle when double-clicking?
Thanks
ActivityLog.xml
1854
2019/05/15 10:55:46.974
Error
SetSite failed for package [WorkingFilesWindowPackage]Source: 'WorkingFilesList.ToolWindow' Description: Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at WorkingFilesList.ToolWindow.ViewModel.DocumentMetadataManager.Synchronize(Documents documents, Boolean setUsageOrder)
at WorkingFilesList.WorkingFilesWindowPackage.InitializeServices(IKernel kernel, IOptionsPageService optionsPageService) in E:\Git\WorkingFilesList\Solution\WorkingFilesList\WorkingFilesWindowPackage.cs:line 142
at WorkingFilesList.WorkingFilesWindowPackage.<InitializeAsync>d__3.MoveNext() in E:\Git\WorkingFilesList\Solution\WorkingFilesList\WorkingFilesWindowPackage.cs:line 111
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Shell.AsyncPackage.<>c__DisplayClass16_0.<<Microsoft-VisualStudio-Shell-Interop-IAsyncLoadablePackageInitialize-Initialize>b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.ThreadingTools.<WithCancellationSlow>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__78.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Microsoft.VisualStudio.Threading.JoinableTask.Join(CancellationToken cancellationToken)
at Microsoft.VisualStudio.Threading.JoinableTask1.Join(CancellationToken cancellationToken)
 at Microsoft.VisualStudio.Shell.VsTaskLibraryHelper.<>c__DisplayClass24_1
1.<AsVsTask>b__2()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.VisualStudio.Services.VsTask.RethrowException(AggregateException e)
at Microsoft.VisualStudio.Services.VsTask.InternalGetResult(Boolean ignoreUIThreadCheck)
at Microsoft.VisualStudio.Services.VsTask.GetResult()
{26BF5782-13D2-4168-B979-BFCDE9BD63DD}
When files are closed, they are removed from the Working Files List. File Usage Order should be refreshed after closing files so that the represent usage order is evenly distributed.
Please add a section for non-project tabs. When you "Dock as tabbed document" windows such as Output, Error List, Task List, etc., these do not show in the Working Files List window.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.