He escrito una aplicación de consola, que es esencialmente una Console.ReadLine() - Loop. Cuando la aplicación está esperando la entrada, presionando la tecla de flecha hacia arriba recorre todas las líneas de entrada anteriores. Mi aplicación no contiene ningún código para esta función. ¿Qué parte de Windows proporciona esto? ¿Cómo puedo desactivarlo?¿Por qué mi aplicación de consola tiene historial de comandos?
Solo puedo visualizar que sea una característica del subsistema de la consola o implementado en Console.ReadLine().
Aquí hay un código de ejemplo que muestra el comportamiento descrito:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string input;
do
{
input = System.Console.ReadLine();
} while (input != "exit");
}
}
}
me gustaría desactivar la función de la historia por ahora, y ejecutarla de nuevo más tarde usando mi propio código. El comportamiento actual es muy limitado.
Lo único que encontré es esto - http://www.clearallhistory.com/clear-run-history.html. No es una solución ideal, pero podrías borrar la historia quizás antes de pedir información. El efecto secundario es que borra el historial de cualquier comando que abra en la máquina. – arunkumar
También me sorprendió lo que me sucedió a mí, pero estoy totalmente satisfecho con esto. "increíble", pensé. Pero ahora quiero interceptar la pestaña para completarla y parece que puedo perder esa característica si necesito obtener las claves una por una a mano. Característica fresca pero no extensible, parece. Además, ¿por qué no recorrer todo el camino e implementar la búsqueda del historial de Ctrl-R? MS .... –
¡REALMENTE, acabo de descubrir accidentalmente que la consola admite F8 (bash Ctrl + r) y F9 (bash! N)! esto es maravilla absoluta, de repente, felicitaciones MS. http://ss64.com/nt/syntax-keyboard.html –