MultiSlot Klembord (6 / 9 stap)

Stap 6: Het lezen van de geselecteerde tekst

De extra Klembord "slots" zal gedragen net als de reguliere Klembord: de

gebruiker selecteert een tekst over het codevenster en kopieer (of knip) de tekst. Deze actie wordt de geselecteerde tekst kopiëren naar het interne geheugenopslag. Daarna kan de gebruiker de cursor (caret) en plak de waarde wanneer hij/zij wil.

Eerst moeten wij om vast te leggen van de geselecteerde tekst om het huidige venster van de code. Dat doen we door het creëren van een nieuwe methode, genaamd GetActiveTextView(), die een object van het datatype IWpfTextView zal worden opgeslagen op het interne weergaveveld op de vorige stap hebt gemaakt. De code voor de GetActiveTextView() is Toon balg:

privé IWpfTextView GetActiveTextView()

{

IWpfTextView weergave = null;

IVsTextView vTextView;

var txtMgr = MultiSlotClipboardPackage.thePackage.getTextManager();

txtMgr.GetActiveView (1, null, uit vTextView);

var userData = vTextView als IVsUserData;

Als (null! = userData)

{

object houder;

var guidViewHost = DefGuidList.guidIWpfTextViewHost;

userData.GetData (ref guidViewHost, uit de houder);

var viewHost = (IWpfTextViewHost) de houder;

weergave = viewHost.TextView;

}

retourneren van weergave;

}

Deze methode begint met het definiëren van enkele interne variabelen. De weergave-variabele wordt terugbetaald als de actieve weergave bestaat uit het venster van de code; anders zal het null bevatten. De vTextView is een ondersteunende variabele en de txtMgr wordt de huidige weergave van de pakket-klasse MultiSlotClipboardPackage met behulp van de getTextManager() op de stap 4 hebt gemaakt.

Deze methode moeten controleren als het actieve venster is eigenlijk de code venster. Dat doen we door het aanroepen van de methode GetData() van de IVsUserData-interface. De rest van de code is alleen de variabele naar de juiste datypes gieten op een manier die wij hebben een object dat vertegenwoordigt de TextView van de redacteur met de broncode.

Nu we een methode hebben om de huidige weergave van de code van de tekst nodig hebben we om uit te pakken van de tekst die is geselecteerd. We doen dat met behulp van drie nieuwe methoden: GetTextForPastie(), SelectionIsAvailable() en GetSelectedText().

Krijgen de SelectedText

privé statische tekenreeks GetTextForPastie(ITextView view)

{

Als (SelectionIsAvailable(view))

Return GetSelectedText(view);

anders

terug "";

}

Controleer om te zien of er geselecteerde tekst

privé statische bool SelectionIsAvailable (weergave ITextView)

{

Als (weergave == null)

Gooi nieuwe ArgumentNullException("view");

retourneren! weergave. Selection.IsEmpty & & weergave. Selection.SelectedSpans.Count > 0;

}

Krijgen van de huidige geselecteerde tekst

privé statische tekenreeks GetSelectedText(ITextView view)

{

weergave retourneren Selection.SelectedSpans[0]. GetText();

}

De methode GetTextForPastie() ontvangen van de weergave als een parameter en controleer of er geen geselecteerde tekst door het aanroepen van de methode SelectionIsAvailable(), die als een boolean-waarde die aangeeft resultaat of er geen geselecteerde tekst is. De geselecteerde tekst wordt vervolgens verkregen binnen de GetSelectedText() die de eigenschap Selection van het object view gebruikt om de tekst van de eerste SelectedSpan. De volgende link bevat de documentatie van de ITextSelection-interface, die is van het gegevenstype van de eigenschap Selection.

https://MSDN.Microsoft.com/en-us/library/Microsoft.VisualStudio.Text.editor.itextselection.aspx

Gerelateerde Artikelen

Smartphone Klembord

Smartphone Klembord

Smartphones zijn fantastische voor vele toepassingen naast het is voornamelijk gebruikt als een telefoon. Als student bij een lezing, met vrijwel geen ruimte voor uw telefoon, werkt deze Klembord fantastisch! Met alle grote apps beschikbaar is de Sma
Klembord mededeling PC ↔ Pi met Python

Klembord mededeling PC ↔ Pi met Python

Normaal gebruik ik mijn Raspberry-Pi op een gedeelde bureaublad van windows. Ik deel ook een netwerkstation met de Pi. Dit is geweldig, maar ik heb nog steeds de ergernis van het Klembord op de PC niet wordt weergegeven op de Pi. Al zou het leuker om
Muis val Klembord

Muis val Klembord

Maak een volledig goedkoop Klembord vrijwel overal met deze slimme muis val Klembord. Grijpen sommige muis vallen, Tangen en een oscillerende tool (ik gebruikte een Dremel multi Max) met een flush geslepen mes.Stap 1: Ontvang uw suppliesIk pakte een
Carbon Fiber Klembord

Carbon Fiber Klembord

ik werk voor een bedrijf dat samengestelde maakt voor de luchtvaartindustrie delen.  Elke zo vaak tegenkomen ik laminaten gemaakt van koolstofvezel of glasvezel.  Ik voelde me alsof het een schande dat deze stukken gaan naar afval, dus begon ik op zo
Hoe maak je een mini Klembord

Hoe maak je een mini Klembord

dit is een zakje spanwijdte Klembord weinig om notities te maken op.Stap 1: levert. u nodig heeft,2 wasmachines, 1 bout,1 bout,1 pakje van post-it notities,1 stuk van een tegel laminaaten 1 mini clip.Stap 2: het samen te brengen Neem nu uw tegel. Zet
Klembord pennenhouder

Klembord pennenhouder

uw klembord met een functionele pennenhouder aanpassen.   Dit is snel, goedkoop en gemakkelijk!  Het resultaat is zeer effectief.  Ik gebruik de mijne dagelijks.Stap 1: Wat u nodig hebt. (Ik blijf denken INXS) Zoals met veel van mijn instructables, d
WERELDS MAKKELIJKSTE KUNST KLEMBORD!!!

WERELDS MAKKELIJKSTE KUNST KLEMBORD!!!

Als een frequente lade, ik met behulp van 9 "x 12" papier krijg ik van mijn lokale drukkerij. Het enige probleem is dat de vellen niet passen alle klemborden voor portabiliteit...... behalve dit één heb ik zelf gemaakt.Voor hulpmiddelen die u op
Klembord snel n' gemakkelijk

Klembord snel n' gemakkelijk

Een paar minuten geleden besloten heb ik dat ik een snelle schema van mijn nieuwste circuit ontwerp moeten trekken. Ik dacht: "Goh, ik wou dat ik had een Klembord om te zetten van een vel papier typen op, zodat ik dit met een zekere mate van stabilit
Sugru pennenhouder (voor klembord)

Sugru pennenhouder (voor klembord)

U moet:een KlembordSugrueen penStap 1: Verdelen van de Sugru, bepalen van plaatsing We vier stukken, gebruikt voor het plaatsen van boven en onder de pen op vier plekken. U kunt waarschijnlijk twee grote stukken, of drie kleintjes... Wat best aanslui
InstaMorph A Klembord!

InstaMorph A Klembord!

Hallo mensen!De Omaha Maker Groep is terug met een andere grote Instructable, ditmaal als onderdeel van de April bouwen nacht met InstaMorph!Voor dit project had een van onze leden een Opslag Klembord die hij gebruikt voor het maken van notities in h
Klembord voor links overhandigde mensen

Klembord voor links overhandigde mensen

als u linkshandig bent, weet je hoe moeilijk het is om op een klembord te schrijven. De clip, zelfs op een laag profiel Klembord zoals die hier is afgebeeld, is voortdurend in de weg van uw hand.Stap 1: Een mogelijkheid Is het bijna onmogelijk om te
KLEMBORD, 2013 SKO TRENDER PA NEWPORT BANAN

KLEMBORD, 2013 SKO TRENDER PA NEWPORT BANAN

Klembord, newport wereldgroep runwayhttp://Clipboard.com/clip/LQN4RJQ30eF8cNGwzRJteEltid4oOWztZRme2013 ik skor är olika ontwerpers önskan att använda endast de bästa Materials. För de vackra werd välklippta, förblir 2013 engagerad ik naturliga materi
Het Klembord

Het Klembord

Als onderdeel van mijn eeuwige zoektocht te organiseren elk aspect van mijn sterfelijke bestaan, besloten heb ik dat ik had behoefte aan een systeem voor het bijhouden van de voortgang van de orders van de klant in de werkplaats. Mijn geheugen heeft
Keltische knoop Macrame armband

Keltische knoop Macrame armband

Een geweldig cadeau (of voor je!), unisex, en gemakkelijk te maken in het proces-verbaal - hier is hoe te maken van een Keltische knoop armband!Deze armband is macramé, en gebruikt een van de meest populaire soorten van de "Keltische knopen" (he