Share via


IVsQueryEditQuerySave2 Interface

Indicates to the environment or source control package that a file is about to be changed in memory or saved.

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

Syntax

'Declaration
<GuidAttribute("53544C4D-5984-11D3-A606-005004775AB1")> _
<InterfaceTypeAttribute()> _
Public Interface IVsQueryEditQuerySave2
[GuidAttribute("53544C4D-5984-11D3-A606-005004775AB1")]
[InterfaceTypeAttribute()]
public interface IVsQueryEditQuerySave2
[GuidAttribute(L"53544C4D-5984-11D3-A606-005004775AB1")]
[InterfaceTypeAttribute()]
public interface class IVsQueryEditQuerySave2
[<GuidAttribute("53544C4D-5984-11D3-A606-005004775AB1")>]
[<InterfaceTypeAttribute()>]
type IVsQueryEditQuerySave2 =  interface end
public interface IVsQueryEditQuerySave2

The IVsQueryEditQuerySave2 type exposes the following members.

Methods

  Name Description
Public method BeginQuerySaveBatch Creates a batch of a sequence of documents before attempting to save them to disk.
Public method DeclareReloadableFile States that a file will be reloaded if it changes on disk.
Public method DeclareUnreloadableFile States that a file will not be reloaded if it changes on disk
Public method EndQuerySaveBatch Ends the batch started by the BeginQuerySaveBatch method and displays any user interface (UI) generated within the batch.
Public method IsReloadable Returns the SVsQueryEditQuerySave service's understanding of whether this file is reloadable
Public method OnAfterSaveUnreloadableFile Synchronizes or refreshes the file date and size after an editor saves an unreloadable file.
Public method QueryEditFiles Called when a file is about to be edited.
Public method QuerySaveFile Notifies the environment that a file is about to be saved.
Public method QuerySaveFiles Notifies the environment that multiple files are about to be saved.

Top

Remarks

IVsQueryEditQuerySave2 is implemented by Visual Studio and the individual source control packages in the SVsQueryEditQuerySave service, and is called by editor and project packages. This interface allows the environment to ensure that the file is made writable or checked out at the correct time. A project or editor must request permission to transition to the changed (dirty) state by calling QueryEditFiles method. Before an editor saves a file, it must call QuerySaveFile or QuerySaveFiles. For project files, these calls are automatically completed by the solution, which knows when to save a project file. Editors are responsible for making these calls unless the editor implementation of the IVsPersistDocData2 interface uses the helper function SaveDocDataToFile method. If your editor implements the IVsPersistDocData2 interface in this way, then the call to QuerySaveFile or QuerySaveFiles is made for you.

Calls to QuerySaveFiles can be batched using the BeginQuerySaveBatch and EndQuerySaveBatch methods.

The DeclareReloadableFile and DeclareUnreloadableFile methods inform the environment whether the editor is capable of reloading the particular file. These methods are not required if the editor supports IVsPersistDocData or IVsPersistDocData2.

OnAfterSaveUnreloadableFile method is called by the environment for nonreloadable files.

Notes to Implementers

This interface is implemented by the source control package. It is recommended that this interface be implemented. The environment always implements this interface and forwards all calls, if possible, to the current source control package. If this interface is not implemented, the user may need to manually check out the files from source control and reload them in the IDE.

Notes to Callers

The methods of the IVsQueryEditQuerySave2 interface should be called immediately before a document is edited for the first time, and immediately before a document is saved.

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace