Saltearse al contenido

Aprender filtrado de contexto con Code2Prompt

Resumen del tutorial

Este tutorial demuestra cómo utilizar la herramienta de patrones glob en code2prompt CLI para filtrar y gestionar archivos según patrones de inclusión y exclusión.

Los patrones glob funcionan de manera similar a herramientas como tree o grep, proporcionando capacidades de filtrado potentes. Consulta la explicación detallada para obtener más información.


Asegúrate de tener code2prompt instalado. Si aún no lo has instalado, consulta la Guía de instalación.


Entendiendo patrones de inclusión y exclusión

Sección titulada «Entendiendo patrones de inclusión y exclusión»

Los patrones glob te permiten especificar reglas para filtrar archivos y directorios.

  • Patrones de inclusión (--include): Especifica los archivos y directorios que deseas incluir.
  • Patrones de exclusión (--exclude): Especifica los archivos y directorios que deseas excluir.
  • Prioridad (--include-priority): Resuelve conflictos entre patrones de inclusión y exclusión.

Para practicar con patrones glob, creemos una estructura de carpetas de muestra con algunos archivos.

Script Bash para generar la estructura de prueba

Sección titulada «Script Bash para generar la estructura de prueba»

Ejecuta este script para configurar una estructura de directorio temporal:

#!/bin/bash
# Crea el directorio base
mkdir -p test_dir/{lowercase,uppercase,.secret}
# Crea archivos en la estructura
echo "content foo.py" > "test_dir/lowercase/foo.py"
echo "content bar.py" > "test_dir/lowercase/bar.py"
echo "content baz.py" > "test_dir/lowercase/baz.py"
echo "content qux.txt" > "test_dir/lowercase/qux.txt"
echo "content corge.txt" > "test_dir/lowercase/corge.txt"
echo "content grault.txt" > "test_dir/lowercase/grault.txt"
echo "CONTENT FOO.py" > "test_dir/uppercase/FOO.PY"
echo "CONTENT BAR.py" > "test_dir/uppercase/BAR.PY"
echo "CONTENT BAZ.py" > "test_dir/uppercase/BAZ.PY"
echo "CONTENT QUX.txt" > "test_dir/uppercase/QUX.TXT"
echo "CONTENT CORGE.txt" > "test_dir/uppercase/CORGE.TXT"
echo "CONTENT GRAULT.txt" > "test_dir/uppercase/GRAULT.TXT"
echo "top secret" > "test_dir/.secret/secret.txt"

Para limpiar la estructura más tarde, ejecuta:

Ventana de terminal
rm -rf test_dir

Creará la siguiente estructura de directorio:

  • test_dir - lowercase - foo.py - bar.py - baz.py - qux.txt - corge.txt - grault.txt - uppercase - FOO.PY - BAR.PY - BAZ.PY - QUX.txt - CORGE.txt - GRAULT.txt - .secret - secret.txt

Ejemplos: filtrar archivos con patrones de inclusión y exclusión

Sección titulada «Ejemplos: filtrar archivos con patrones de inclusión y exclusión»

Comando:

Ventana de terminal
code2prompt test_dir

Se incluyen todos los archivos:

  • lowercase/foo.py
  • lowercase/bar.py
  • uppercase/FOO.py
  • .secret/secret.txt

Caso 2: Excluir tipos de archivo específicos

Sección titulada «Caso 2: Excluir tipos de archivo específicos»

Excluir archivos .txt:

Ventana de terminal
code2prompt test_dir --exclude="*.txt"

Excluidos:

  • Todos los archivos .txt

Incluidos:

  • lowercase/foo.py
  • lowercase/bar.py
  • uppercase/FOO.py

Caso 3: Incluir tipos de archivo específicos

Sección titulada «Caso 3: Incluir tipos de archivo específicos»

Incluir solo archivos Python:

Ventana de terminal
code2prompt test_dir --include="*.py"

Incluidos:

  • Todos los archivos .py

Excluidos:

  • .secret/secret.txt

Incluir archivos .py pero excluir archivos en la carpeta uppercase:

Ventana de terminal
code2prompt test_dir --include="*.py" --exclude="**/uppercase/*" --include-priority=true

Incluidos:

  • Todos los archivos lowercase/1 con extensión .py

Excluidos:

  • Todos los archivos uppercase
  • .secret/secret.txt

La herramienta de patrones glob en code2prompt te permite filtrar archivos y directorios de manera efectiva utilizando:

  • --include para especificar archivos a incluir
  • --exclude para archivos a excluir
  • --include-priority para resolver conflictos entre patrones

Para practicar, configura el directorio de muestra, prueba los comandos y observa cómo la herramienta filtra archivos dinámicamente.

Esta página ha sido traducida automáticamente para su conveniencia. Consulte la versión en inglés para ver el contenido original.