IVsEditorFactory2.RetargetCodeOrDesignerToOpen Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Re-targets the item opened by View commands.
public:
int RetargetCodeOrDesignerToOpen(System::String ^ pszMkDocumentSource, Guid % rguidLogicalViewSource, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pvHier, System::UInt32 itemidSource, [Runtime::InteropServices::Out] System::UInt32 % pitemidTarget, [Runtime::InteropServices::Out] System::UInt32 % pgrfEditorFlags, [Runtime::InteropServices::Out] Guid % pguidEditorTypeTarget, [Runtime::InteropServices::Out] System::String ^ % pbstrPhysicalViewTarget, [Runtime::InteropServices::Out] Guid % pguidLogicalViewTarget);
public int RetargetCodeOrDesignerToOpen (string pszMkDocumentSource, ref Guid rguidLogicalViewSource, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pvHier, uint itemidSource, out uint pitemidTarget, out uint pgrfEditorFlags, out Guid pguidEditorTypeTarget, out string pbstrPhysicalViewTarget, out Guid pguidLogicalViewTarget);
abstract member RetargetCodeOrDesignerToOpen : string * Guid * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * uint32 * uint32 * Guid * string * Guid -> int
Public Function RetargetCodeOrDesignerToOpen (pszMkDocumentSource As String, ByRef rguidLogicalViewSource As Guid, pvHier As IVsHierarchy, itemidSource As UInteger, ByRef pitemidTarget As UInteger, ByRef pgrfEditorFlags As UInteger, ByRef pguidEditorTypeTarget As Guid, ByRef pbstrPhysicalViewTarget As String, ByRef pguidLogicalViewTarget As Guid) As Integer
Parameters
- pszMkDocumentSource
- String
Original document to open
- rguidLogicalViewSource
- Guid
A view specified by a LogicalViewID value.
- pvHier
- IVsHierarchy
A IVsHierarchy hierarchy object.
- itemidSource
- UInt32
A DWORD uniquely identifying the source node within a IVsHierarchy.
- pitemidTarget
- UInt32
A DWORD uniquely identifying the target node within a IVsHierarchy.
- pgrfEditorFlags
- UInt32
A __VSSPECIFICEDITORFLAGS value specifying editor options.
- pguidEditorTypeTarget
- Guid
A GUID specifying the new target editor type.
- pbstrPhysicalViewTarget
- String
A string specifying the physical view target.
- pguidLogicalViewTarget
- Guid
A GUID specifying the logical view target.s
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
This method is used to retarget which item is opened for the View Code or View Designer commands for an item. This is used to cause a different file to be opened than the original source item. For example a designer item (like *.xaml) may want to open a nested code-behind item for the ViewCode command instead of the *.xaml file.
NOTE: Return S_OK and *pitemidTarget = VSITEMID_NIL, if you do not want to retarget to a different item.
The project system is expected to call OpenItemWithSpecific with the out parameters returned from this call. A project system's implementation of cmdidViewCode/cmdidViewDesigner should check if the specific IVsEditorFactory that they otherwise would have called using OpenSpecificEditor implements this interface. If so, then they should redirect which item is opened.
COM Signature
From vsshell90.idl:
HRESULT RetargetCodeOrDesignerToOpen(
[in] LPCOLESTR pszMkDocumentSource,
[in] REFGUID rguidLogicalViewSource,
[in] IVsHierarchy *pvHier,
[in] VSITEMID itemidSource,
[out] VSITEMID *pitemidTarget,
[out] VSSPECIFICEDITORFLAGS *pgrfEditorFlags,
[out] GUID *pguidEditorTypeTarget,
[out] BSTR *pbstrPhysicalViewTarget,
[out] GUID *pguidLogicalViewTarget);