Introducción:
Como te comenté hace un rato en
¿Dónde están los favoritos de la
ayuda de Visual Studio?, Visual Studio 2005 (o superior) y la ayuda
de MSDN 2005 (o superior) permite que guardemos los favoritos de la ayuda en
unos ficheros independientes, independientes de forma que tanto Visual Studio
como la ayuda de MSDN guardan esos ficheros de forma separada.
Pues bien, esta utilidad lo que hace es leer el contenido de dos ficheros de
los favoritos de la ayuda y crear uno nuevo con las cosas que hay diferentes en
los dos.
También permite leer solo un fichero y crear uno nuevo, pero con los
elementos clasificados.
En ambos casos, puedes modificar el fichero resultante, cambiando los títulos
a mostrar.
El aspecto de la aplicación (en modo de diseño) es el de la figura 1:
Figura 1. El aspecto de la utilidad en modo diseño
Como puedes imaginarte por la captura de la figura 1, puedes indicar los dos
ficheros (o solo el primero) de los favoritos de la ayuda (Favorites.xml)
y el contenido de esos ficheros se mostrarán en los dos primeros
TreeView.
Después, pulsando en el botón Procesar, se comparará el
contenido de los dos y se extraerá los elementos que no estén repetidos.
Una vez que esté procesado, lo puedes guardar usando el nombre que indiques en "Destino".
La utilidad permite que arrastres los ficheros sobre los TreeView
y en ese caso, los abre y los muestra. Como es de suponer, solo puedes "abrir"
ficheros de favoritos de la ayuda en los dos primeros TreeView,
ya que el contenido del tercero (destino) se genera solo.
Al abrir esos ficheros se clasifica el contenido por el título (el texto a
mostrar), por tanto, si lo que quieres es clasificar el contenido de un fichero
(sin tener que mezclarlo con otro), solo necesitas abrir uno y pulsar en
Procesar.
Precisamente por esa razón (de que solo quieras "manipular" un fichero) en el
segundo "árbol" hay un botón para eliminar el contenido (por si se te ocurre
abrir dos y después no quieres mezclarlos).
Además de las cosas que te he explicado, también te muestra la "URL" de cada
uno de los links, y en el caso de los elementos de la lista de destino, al hacer
doble clic se abrirá ese fichero en el navegador.
En la figura 2 puedes ver la aplicación en ejecución, en el momento en que
cambio el texto de uno de los elementos de la lista de destino.
Figura 2. La utilidad en ejecución
Como ves, es algo simple, pero... ¡resultona! Al menos a mi me sirve para
hacer esas mezclas (y clasificación) que te comentaba en el otro artículo.
Artículo que te recomiendo que leas, ya que ahí te explico
dónde se guardan los
ficheros de los favoritos de la ayuda de Visual Studio (y MSDN).
Más abajo tienes el código fuente para Visual Basic
2005 (y también el de Visual C# 2005) en el que se incluye la clase
que he generado con
la utilidad
XSD.exe para poder leer el contenido del fichero XML usando serialización XML,
además de ciertos cambios que he hecho para usarla de forma más eficiente y
poder realizar ciertas cosas con ella, como clasificar el contenido, hacer
copias (Clone), etc.
En realidad hay un "detalle" que si que hay que cambiar en la clase generada
por XSD.EXE, ya que de forma "errónea" crea una función que devuelve un array de
arrays de cada uno de los elementos de favoritos, y si no se cambia, pues... ¡no
funciona!
El caso es que esa función estaba declarada de esta forma:
Public FavoriteTopics()() As FavoriteTopic
Y debe estar declarada de esta otra:
Public FavoriteTopics() As FavoriteTopic
Nota del 16/Jul/07:
Ya está puesto el código para Visual C# 2005
y además
está actualizado el
código de Visual Basic para manejar bien los cambios en los elementos del
TreeView. Esos cambios
también están en el código para C#.
Espero que te sea de utilidad.
Nos vemos.
Guillermo