J'instancie automatiquement les éléments de projet Visual Studio via le modèle objet. Dans certains fichiers, j'ai besoin de faire des remplacements de texte. Quelle est la meilleure approche pour effectuer des remplacements de texte sur le contenu d'un élément de projet (un fichier xml par exemple) en utilisant le modèle objet, Visual Stuido prend donc en charge l'action de contrôle de source requise. Je préfère ne pas ouvrir le fichier dans l'éditeur, et faire des remplacements de texte à travers le modèle d'objet éditeur.Visual Studio 2010: Remplacement de texte dans un élément de projet via l'automatisation
2
A
Répondre
0
Utilisez la méthode TextDocument.ReplacePattern. Vous pouvez obtenir l'objet TextDocument de l'objet ProjectItem comme ceci:
DirectCast(ProjectItem.Document.Object, TextDocument)
Le code complet est comme suit:
Dim pi As ProjectItem = ...
Dim win As EnvDTE.Window = Nothing
If Not pi.IsOpen Then
win = pi.Open(Constants.vsViewKindPrimary)
'uncomment the following line if you want to show opened document
'win.Visible=True
End If
Dim td As TextDocument = DirectCast(pi.Document.Object, TextDocument)
td.ReplacePattern("abc", "def")
If Not win Is Nothing Then
win.Close(vsSaveChanges.vsSaveChangesYes)
End If
Questions connexes
- 1. Visual Studio 2010: déplacer et renommer un élément de projet dans la hiérarchie du projet
- 2. Migration du projet Visual Studio 2008 vers Visual Studio 2010
- 3. Modification des icônes de dossier/projet dans Visual Studio 2010
- 4. Modèle de projet manquant dans Visual Studio 2010
- 5. Ligne de commande compilant un projet VB.NET via Visual Studio?
- 6. Problème de référence de projet, Visual Studio 2010
- 7. Modifier le curseur/caret de texte dans Visual Studio 2010
- 8. Personnalisation du Visual Studio 2010 Barre d'outils - Ouvrir un projet
- 9. visual studio 2010 architecte
- 10. Ajouter des fichiers image à un projet Visual Studio 2010
- 11. Colonnes calculées dans le projet SQLCLR dans Visual Studio 2010
- 12. Visual Studio 2010 - RemovePreviousVersions
- 13. Visual Studio 2010 - Option de menu Exporter (Projet) modèle grisée
- 14. Le projet de téléphone portable n'ouvre pas Visual Studio 2010?
- 15. Visual Studio 2010 MVC Type de projet Disparu
- 16. L'utilisation de TagLib dans Visual Studio 2010
- 17. Le modèle de projet Visual Studio 2010 n'apparaît pas
- 18. Problème avec le projet d'installation dans Visual Studio 2010
- 19. Configuration du projet dans Visual Studio 2010 Nécessite 4.0
- 20. Installation de Visual Studio 2010
- 21. Downgrade C# Projet de Visual Studio 2010 à Visual Studio 2008
- 22. HWnd de Visual Studio 2010
- 23. Erreur de conversion de projet Visual Studio
- 24. Projet Visual Studio - ASP.NET MVC2 - Visual Studio 2010 - Utilisation de deux machines
- 25. liste de débogage dans Visual Studio 2010
- 26. Modification d'une source à partir d'un projet Visual Studio 2008 dans Visual Studio 2010
- 27. Comment puis-je ajouter une zone de texte dans un menu dans Visual Studio 2010 Addin?
- 28. Visual Studio 2010 IDE question
- 29. Couleur de variable SQL Visual Studio 2010
- 30. Visual Studio 2010 répertoire de travail
que cette approche ouvre le document dans l'éditeur? –
Non. En fait, si le document n'est pas ouvert dans l'éditeur, la méthode ReplacePattern lève une exception. Vous devez ouvrir le document de manière invisible en arrière-plan, effectuer le remplacement, puis fermer le document en mode silencieux. Le code dans VB .NEt est comme suit: –
J'ai mis à jour ma réponse avec le code. –