IVsExternalFilesManager Interface

Implemented by the environment to handle the Miscellaneous Files project.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

public interface IVsExternalFilesManager

The IVsExternalFilesManager type exposes the following members.

Public methodAddDocumentProgrammatically tells the Miscellaneous Files project to add a node.
Public methodGetExternalFilesProjectInstantiates the Miscellaneous Files (External Files) project and returns a pointer to it.
Public methodIsVisibleDetermines whether the Miscellaneous Files node is visible in Solution Explorer.
Public methodTransferDocumentTransfers a document to the Miscellaneous Files project.

Call this function when your project system needs to handle external files. HierUtil7 is a class library that implements many of the elements needed in a custom project. The files vsdoc.cpp and hu_util.cpp, found in <envsdk>\common\HierUtil7 folder, show implementations of IVsExternalFilesManger. Additionally, Saving a Standard Document shows how to change a file's ownership to the Miscellaneous Files project.

Notes to Implementers

IVsExternalFilesManager is implemented by the Miscellaneous Files (External Files) project. For example, to handle files from "directory-based" project systems, the environment hands an open file to the Miscellaneous Files project after a Save As operation saves the file outside of the original directory of the project.

To access this interface, call Query Service on SVsExternalFilesManager Service and pass in a value of IID_IVsExternalFilesManager.


The Miscellaneous Files project is listed in Solution Explorer. By default, the node is not visible. To make it visible, select Options on the Tools menu. In the Options dialog box, open the Environment folder and choose Documents. On the Documents tab, select the Show Miscellaneous files in Solution Explorer

Community Additions