2010-02-05 9 views
37

Sto sviluppando un'applicazione console in C# e mi chiedevo se esistesse un modo per ottenere la funzionalità "copia-incolla" o "contrassegna-incolla" nella mia applicazione, simile o identica a quella del prompt dei comandi standard di Windows. È una caccia all'oca selvaggia o una semplice variabile applicativa?È possibile ottenere funzionalità di copia/incolla da una finestra della console C#?

+0

Per chiarire per chi non ha familiarità, con un prompt dei comandi di Windows, puoi generalmente fare clic con il tasto destro nella finestra della console, e nel menu di scelta rapida selezionare il segno, passando alla modalità contrassegno, che consente di evidenziare un blocco della finestra. Premendo Invio, questo output viene inserito negli appunti. – Simpleton

+1

Non è chiaro cosa intendi con questo. Se si sta sviluppando un'applicazione console, è possibile eseguire il copia-incolla utilizzando la funzionalità integrata di cmd.exe. – Sean

risposta

47

Grazie Sean per avermi fatto realizzare la completa idiozia di questa domanda. Permettetemi di essere un esempio per gli altri di non saltare sul treno di conclusione.

Sean ha sottolineato che "copia-incolla può essere eseguita utilizzando la funzionalità incorporata di cmd.exe", facendomi riconoscere che, sì, assolutamente duh, quando si esegue l'applicazione della riga di comando in Windows ha già questa funzionalità disponibile .

Ho commesso un errore saltando alle conclusioni, perché stavo facendo tutti i miei test iniziali con l'esecuzione di DEBUG tramite l'IDE e vshost non fornisce questa funzionalità.

Un rapido "Avvio senza debug" ha rivelato la mia miopia.

+11

Certo sarebbe bello se potessi copiare e incollare anche nella finestra di debug. – Vaccano

+11

In realtà aspettare un minuto sì, è possibile. Forse è cambiato nei 4 anni trascorsi ma puoi fare clic con il pulsante destro del mouse sulla barra del titolo in alto - ANCHE in visual studio ide e EVEN in modalità debug. Unica differenza tra questo e cmd.exe è che non è possibile fare clic con il pulsante destro del mouse sulla finestra nera - solo la barra del titolo – BritishDeveloper

1

Per chiarire, il comportamento del prompt dei comandi predefinito non funziona affatto per te, o semplicemente non come lo vuoi?

Da quello che ho capito, è l'implementazione del terminale che fornisce il comportamento di copia/incolla e ciò che fornisce non corrisponde al resto di Windows. Per cambiare questo comportamento, dovresti cambiare il programma che implementa il terminale. Qui ci sono un paio di programmi che si presentano su una ricerca su Google per "comandare pronta sostituzione":
http://www.powercmd.com/
http://sourceforge.net/projects/console/

Di questi due, penso che uno dei miei amici al lavoro hanno cercato "Console". Ha fatto abbastanza di quello che voleva che non sentisse il bisogno di continuare a cercare.

Se si desidera che l'output per questo programma specifico funzioni più come il resto di Windows, l'altra scelta è di renderlo un programma Windows.

Modifica: corretto l'URL nella console. Stavo postando al blog di qualcuno che si collegava ad esso, prima :)

+1

Eseguire un'app console nel debugger (F5). Non puoi copiare o incollare. Eseguirlo all'esterno del debugger (Control + F5). Ora puoi copiare e incollare. La persona che ha posto la domanda lo stava eseguendo nel debugger. Se vuoi copiare o incollare con il debugger allegato, sei sfortunato a quanto pare (almeno in questa versione dell'IDE). –

+0

@RobertH .: Sì. La sua risposta accettata dice tanto. Bello a dirlo però. –

59

Ho copiato il testo dalla finestra della console e l'ho incollato in un'altra fonte molte volte.

È presente come impostazione predefinita in un'applicazione Console;

Fare clic destro confine console:

Step 1

Selezionare Modifica> Mark:

Step 2

trascinare il testo che si desidera utilizzare il mouse (o utilizzare i tasti freccia) per seleziona il testo desiderato:

Step 3

Anche in questo caso, fare clic destro sul confine console e selezionare Modifica> Copia:

Step 4

Da qui è possibile incollarlo in un'altra applicazione come si farebbe con qualsiasi altro testo.

Questo è stato preso da un'applicazione console C# e l'unico codice immesso era il comando per scrivere sulla console, nessuna impostazione è stata modificata.

Spero che questo aiuti!

+1

Dalla tastiera, 'Alt + Spazio E K' per accedere alla modalità contrassegno,' Alt + Spazio E P' per incollare. Non perfetto ma più veloce di usare il mouse per me. –

18

Non so perché questo non è incluso in ogni risposta, ma come Robert H. dichiarato in un commento, questo è assolutamente informazioni utili, nel caso in cui siete venuti qui con la ricerca per questo problema in un ambiente VisualStudio:

Eseguire un'app console nel debugger (F5). Non puoi copiare o incollare. Eseguirlo all'esterno del debugger (Control + F5). Ora puoi copiare e incollare.

Ha funzionato come un incantesimo per me. Grazie Robert H.!

+0

Questo è molto utile, in realtà. Grazie! – Skaparate

1

Forse sono in ritardo ma c'è una scorciatoia per incollare il testo nella finestra della console in C#. Premi Alt + Spazio poi 'E' poi 'P' e lì hai incollato il testo nella finestra della console

Problemi correlati