Procédure : Éditeurs standards OpenHow to: Open standard editors

Lorsque vous ouvrez un éditeur standard, vous laisser l’IDE détermine un éditeur standard pour un type de fichier désigné, au lieu de spécifier un éditeur spécifique au projet pour le fichier.When you open a standard editor, you let the IDE determine a standard editor for a designated file type, instead of specifying a project-specific editor for the file.

Effectuez la procédure suivante pour implémenter le OpenItem (méthode).Complete the following procedure to implement the OpenItem method. Un fichier projet s’ouvre dans un éditeur standard.This will open a project file in a standard editor.

Pour implémenter la méthode OpenItem avec un éditeur standardTo implement the OpenItem method with a standard editor

  1. Appelez IVsRunningDocumentTable (RDT_EditLock) pour déterminer si le fichier d’objet de données document est déjà ouvert.Call IVsRunningDocumentTable (RDT_EditLock) to determine whether the document data object file is already open.

  2. Si le fichier est déjà ouvert, resurface le fichier en appelant le IsDocumentOpen méthode, en spécifiant une valeur de IDO_ActivateIfOpen pour le grfIDO paramètre.If the file is already open, resurface the file by calling the IsDocumentOpen method, specifying a value of IDO_ActivateIfOpen for the grfIDO parameter.

    Si le fichier est ouvert et que le document appartient à un projet différent de celui du projet appelant, votre projet reçoit un avertissement indiquant que l’éditeur en cours d’ouverture est d’un autre projet.If the file is open and the document is owned by a different project than the calling project, your project receives a warning that the editor being opened is from another project. La fenêtre de fichier est ensuite présentée.The file window is then surfaced.

  3. Si le document n’est pas ouvert ou non dans la table de document en cours d’exécution, appelez le OpenStandardEditor (méthode) (OSE_ChooseBestStdEditor) pour ouvrir un éditeur standard pour le fichier.If the document is not open or not in the running document table, call the OpenStandardEditor method (OSE_ChooseBestStdEditor) to open a standard editor for the file.

    Lorsque vous appelez la méthode, l’IDE effectue les tâches suivantes :When you call the method, the IDE performs the following tasks:

    1. L’IDE analyse les éditeurs / {guidEditorType} / sous-clé Extensions dans le Registre pour déterminer l’éditeur peut ouvrir le fichier et a la priorité la plus élevée pour effectuer cette opération.The IDE scans the Editors/{guidEditorType}/Extensions subkey in the registry to determine which editor can open the file and has the highest priority for doing this.

    2. Une fois que l’IDE a déterminé l’éditeur que vous pouvez ouvrir le fichier, l’IDE appelle CreateEditorInstance.After the IDE has determined which editor can open the file, the IDE calls CreateEditorInstance. Implémentation de l’éditeur de cette méthode retourne des informations qui est requises pour l’IDE appeler CreateDocumentWindow et le document récemment ouvert de site.The editor's implementation of this method returns information that is required for the IDE to call CreateDocumentWindow and site the newly opened document.

    3. Enfin, l’IDE charge le document à l’aide de l’interface de persistance habituelles, telles que IVsPersistDocData2.Finally, the IDE loads the document by using the usual persistence interface, such as IVsPersistDocData2.

    4. Si l’IDE a déterminé précédemment que la hiérarchie ou un élément de la hiérarchie est disponible, l’IDE appelle GetItemContext méthode sur le projet pour obtenir un contexte au niveau du projet IServiceProvider pointeur à retourner dans avec la CreateDocumentWindow appel de méthode.If the IDE has previously determined that the hierarchy or hierarchy item is available, the IDE calls GetItemContext method on the project to get a project-level context IServiceProvider pointer to pass back in with the CreateDocumentWindow method call.

  4. Retourner un IServiceProvider pointeur à l’IDE lorsque l’IDE appelle GetItemContext sur votre projet si vous souhaitez que l’Éditeur du contexte Obtenir contexte à partir de votre projet.Return an IServiceProvider pointer to the IDE when the IDE calls GetItemContext on your project if you want to let the editor get context from your project.

    Cette étape permet les projet offre des services supplémentaires à l’éditeur.Performing this step lets the project offer additional services to the editor.

    Si la vue de document ou d’un objet de vue de document a été correctement placé dans un frame de fenêtre, l’objet est initialisé avec ses données en appelant LoadDocData.If the document view or document view object was successfully sited in a window frame, the object is initialized with its data by calling LoadDocData.

Voir aussiSee also