Toon posts:

[.NET] Intellisense

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi Tweakers,

Ik zit even met een vraag.

Stel ik maak een interface, IBasis. Daar definier ik wat dingetjes in. Ik maak nu een classe die implementeerd van IBasis. Zodra ik type:

public class WatDanOok:Ibasis

Kan ik op TAB drukken. Alle zooi uit de interface staat dan al netjes als frame in mijn classe. Mooi intellisence waar ik als luie programmeur erg blij mee ben.

Nu maak ik een abstracte classe aan met enkele abstracte methodes erin. Omdat deze abstract zijn moet ik ze in een afgeleide classe wel implementeren. Toch werkt de intellisense hier niet. Ik kan leuk zeggen dat ik een afgeleide classe maak van mijn abstracte classe, maar een standaard raamwerk door op TAB te drukken kan ik mooi vergeten.

Is dit in de Visual Studio omgeving vergeten? Of zit er een diepere gedachte achter het ontbreken van deze feature?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:17
Abstracte methods moet je overriden; als je in je inherited class het keyword 'override' (in C#) intikt, dan krijg je een lijstje te zien waaruit je kan kiezen welke method je wilt overriden. (Vanaf VS.NET 2003)

https://fgheysels.github.io/


  • MaxxRide
  • Registratie: April 2000
  • Laatst online: 09-01 10:13

MaxxRide

Surf's up

Waarschijnlijk hebben ze dit expres gedaan omdat je wellicht niet alle methoden direct wil overerven (misschien wil je dit wel weer bij het kind van het kind laten doen).

Dus totaal onlogisch lijkt het me niet.

If you are not wiping out you are nog pushing enough...


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Is inderdaad handig, maar hebben ze niet ingebouwd. Volgens mij gebruiken die lui hun eigen tool niet voor large scale projects of de mensen die ermee werken interesseert het niet oid... Ik heb dit vorig jaar aangegeven in de alpha van whidbey of dit erin kon, heb nog niet gekeken of het er al inzit.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

IntelliJ Idea heeft ook een .NET versie voor de toekomst geplant. Dan hebben jullie ook eens een echt fijne klop ide ;)

  • staefke
  • Registratie: December 2003
  • Laatst online: 19-05 22:28
hiero gebruiken we visual assist, bevalt errug goed.

Demo te halen bij www.wholetomato.com

duh ?


Verwijderd

Alarmnummer schreef op 07 juni 2004 @ 16:05:
IntelliJ Idea heeft ook een .NET versie voor de toekomst geplant. Dan hebben jullie ook eens een echt fijne klop ide ;)
Ik dacht juist te vermelden dat dit in IntelliJ perfect mogelijk is via CTRL+I en CTRL + O. Er komt een popup menu'tje waar je kan kiezen welke methodes je implementeert / override!

Ben benieuwd naar hun versie!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

puff. IdeaJJ .NET versie heeft vast niet CodeRush.NET :+ Met coderush daar kan je pas mee kloppen (Visual Studio.NET plug-in).

  • EfBe
  • Registratie: Januari 2000
  • Niet online
staefke schreef op 07 juni 2004 @ 16:36:
hiero gebruiken we visual assist, bevalt errug goed.

Demo te halen bij www.wholetomato.com
Ik ben nu een tijdje met die demo aan het kloten, maar auto-implementation van abstract baseclass methods zit er IMHO niet in.

* EfBe die na CodeRush ook Visual Assist er weer af gaat kegelen. Codewright codeSmart es proberen...

(ik haal ook alles doormekaar :D. Coderush was niks (wel leuk, maar bij files > 3000 lines (ja, mijn project explorer window class is 4500 lines) was hij erg traag en bij grote projects > 1000 classes niet vooruit te branden...

[ Voor 28% gewijzigd door EfBe op 07-06-2004 21:43 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
whoami schreef op 07 juni 2004 @ 15:24:
Abstracte methods moet je overriden; als je in je inherited class het keyword 'override' (in C#) intikt, dan krijg je een lijstje te zien waaruit je kan kiezen welke method je wilt overriden. (Vanaf VS.NET 2003)
Maar als ik in mijn abstracte classe ook abstracte methode plaats dan ben ik zelfs verplicht om die te implementeren. Wat mij betreft hadden die er toch al wel mooi geplaatst kunnen worden... of ben ik gewoon te lui?

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 08 juni 2004 @ 08:46:
[...]


Maar als ik in mijn abstracte classe ook abstracte methode plaats dan ben ik zelfs verplicht om die te implementeren. Wat mij betreft hadden die er toch al wel mooi geplaatst kunnen worden... of ben ik gewoon te lui?
Nee niet lui, MS' developers die de functionaliteit uitzoeken zijn wat naief. Whidbey wordt een heel stuk beter hoor, maar dat duurt nog een jaar :). Erg veel aan vs.net 2003 is best wel beperkt dat je denkt: gebruiken ze dit wel zelf? Ik bedoel voorbeeldje: multi-line search/replace. Homesite kan dat al jaren, iemand zei laatst op de whidbey alpha forums "could we have a multi-line search/replace box?". Die lui:"hey, ja, dat is wellicht wel handig, nooit aan gedacht"... tja.

[ Voor 3% gewijzigd door EfBe op 08-06-2004 09:41 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • staefke
  • Registratie: December 2003
  • Laatst online: 19-05 22:28
achja... voor Java gebruik ik altijd Eclipse, en ik moet eerlijk zeggen: die is goed en wordt alleen maar beter... Als ik af en toe moet switchen (soms doen we wat in Java, soms in c++, soms in c#) en ik heb net met de Eclipse omgeving gewerkt, mis ik toch altijd iets in de text editor van Visual Studio (auto-implement, refactor opties, getter-setters, etc., noem maar op...). Kunnen we die 2 niet mergen ofzo :P

duh ?


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

staefke schreef op 08 juni 2004 @ 10:03:
achja... voor Java gebruik ik altijd Eclipse, en ik moet eerlijk zeggen: die is goed en wordt alleen maar beter... Als ik af en toe moet switchen (soms doen we wat in Java, soms in c++, soms in c#) en ik heb net met de Eclipse omgeving gewerkt, mis ik toch altijd iets in de text editor van Visual Studio (auto-implement, refactor opties, getter-setters, etc., noem maar op...). Kunnen we die 2 niet mergen ofzo :P
getter-setters zit er wel in dacht ik.
* pjvandesande is alleen even kwijt waar

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:17
staefke schreef op 08 juni 2004 @ 10:03:
mis ik toch altijd iets in de text editor van Visual Studio (auto-implement, refactor opties, getter-setters, etc., noem maar op...). Kunnen we die 2 niet mergen ofzo :P
Wat bedoel je met 'auto-implement'?

Refactoring support zal in whidbey zitten;
wat bedoel je precies met getters setters? Automatisch genereren van een get / set structuur ? Ik zou nog eens die alpha van Whidbey moeten opstarten, maar ik denk dat dat er ook in zat.

https://fgheysels.github.io/


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

whoami schreef op 08 juni 2004 @ 10:49:
[...]
Wat bedoel je met 'auto-implement'?
Dat de bodies van de methoden worden aangemaakt. Erg handig en scheelt echt veel werk.
Refactoring support zal in whidbey zitten
Vreemd dat dat nog steeds niet in de huidige versies van .NET zit. Je bespaard gewoon veel tijd als je een ide hebt die de domme klusjes voor je doet.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Alarmnummer schreef op 08 juni 2004 @ 10:57:
[...]

Dat de bodies van de methoden worden aangemaakt. Erg handig en scheelt echt veel werk.
Bodies waarvan? Van abstract methods of van interface definities? Beide worden aangemaakt in vs.net 2003 voor je. Als je een property creation macro wilt, ik paste hem met liefde :)
Vreemd dat dat nog steeds niet in de huidige versies van .NET zit. Je bespaard gewoon veel tijd als je een ide hebt die de domme klusjes voor je doet.
Ik vind dit toch wat overdreven. Toegegeven, het zou soms handig zijn als iets wat makkelijker kon, maar of je daar nou zo intens veel mee bespaard... ik weet het niet. ("Hoe vaak koop je dat nou, maggi" ;)).

Wat me opviel bij Visual Assist X (die ik er weer afgeknikkerd heb omdat hij cntrl-shift-spatie vernaggelde en ik die niet meer terugkreeg...) was de automatische suggestion listboxes die oppoppen wanneer je begint te typen: DIE schelen pas veel tijd. Refactoring is nuttig, maar andere tools zijn nog veel nuttiger. Nu heeft vs.net geen van beide, dus is het inderdaad erbarmelijk, mar ik kan me voorstellen dat refactoring zo intens veel resources kost om het goed te implementeren dat ze daarmee gewacht hebben. Een beetje code replacen is het nl. niet: de editor waar je tegenaan praat moet complete 'awareness' hebben van de tekst die hij bevat. De editor van vs.net 2003 heeft dat absoluut NIET.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

EfBe schreef op 08 juni 2004 @ 12:26:
[...]

Bodies waarvan? Van abstract methods of van interface definities? Beide worden aangemaakt in vs.net 2003 voor je.
gelukkig.
Als je een property creation macro wilt, ik paste hem met liefde :)
*denkt dat ef8e iets minder achter zijn pc moet zitten* :P
Wat me opviel bij Visual Assist X (die ik er weer afgeknikkerd heb omdat hij cntrl-shift-spatie vernaggelde en ik die niet meer terugkreeg...) was de automatische suggestion listboxes die oppoppen wanneer je begint te typen: DIE schelen pas veel tijd. Refactoring is nuttig, maar andere tools zijn nog veel nuttiger. Nu heeft vs.net geen van beide, dus is het inderdaad erbarmelijk, mar ik kan me voorstellen dat refactoring zo intens veel resources kost om het goed te implementeren dat ze daarmee gewacht hebben. Een beetje code replacen is het nl. niet: de editor waar je tegenaan praat moet complete 'awareness' hebben van de tekst die hij bevat. De editor van vs.net 2003 heeft dat absoluut NIET.
Ik weet niet hoe het zit met Eclipse, maar Codeguide en IDEA hebben een volledige analyse van je programma in het geheugen staan (eventueel gecached op de hd). Bij idea worden zelfs (als je dat wilt) de variablen gerenamed als je de naam van een class aanpast. Als je de naam van een parameter aanpast kun je optioneel zelfs de strings laten afzoeken. En verder krijg je continue analyse van wat je fout doet. Verder wordt er met smart complete zelf voor je uit gezocht welke methode je het beste kunt gebruiken:

code:
1
2
3
4
5
class Foo{
    int getInt();
    float getFloat();
    String getString();
}


int a = foo (en nu op smart complete drukken) en dan krijg je:
int a = foo.getInt();

En daar zit idea dus echt stamp en stampvol mee.

Overzicht van intelij refactorings:
Afbeeldingslocatie: http://www.alarmnummer.net/sh.PNG
Code goodies.
Afbeeldingslocatie: http://www.alarmnummer.net/sh2.PNG

[ Voor 27% gewijzigd door Alarmnummer op 08-06-2004 12:53 ]


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 08 juni 2004 @ 08:46:
Maar als ik in mijn abstracte classe ook abstracte methode plaats dan ben ik zelfs verplicht om die te implementeren. Wat mij betreft hadden die er toch al wel mooi geplaatst kunnen worden... of ben ik gewoon te lui?
Ik heb hier nog even over nagedacht, maar een abstract class B die van abstract class B erft hoeft een abstract method M in A niet te implementeren. (net uitgeprobeerd, werkt).

Dus automatisch die methods stubben is inderdaad niet nuttig.
Alarmnummer schreef op 08 juni 2004 @ 12:34:
[...]

*denkt dat ef8e iets minder achter zijn pc moet zitten* :P
ef8e? :D l33t spe4k n1ck! ;)

Maar inderdaad, ik zal vanmiddag even de 300 meter afleggen en op het strand gaan zitten :) (eerst docs tikken :()
Ik weet niet hoe het zit met Eclipse, maar Codeguide en IDEA hebben een volledige analyse van je programma in het geheugen staan (eventueel gecached op de hd). Bij idea worden zelfs (als je dat wilt) de variablen gerenamed als je de naam van een class aanpast. Als je de naam van een parameter aanpast kun je optioneel zelfs de strings laten afzoeken. En verder krijg je continue analyse van wat je fout doet.
Klopt, dat komt ook in resharper dacht ik (maar build 84 is niet te gebruiken *sniff*). Echter, het vereist wel dat een add-in een complete code analyse doet, iets dat best wel intensief is om te bouwen. MS had dat zelf in moeten bouwen.
Zit dat er nu niet eens in? Hoe kun je eigenlijk fatsoenlijk ontwikkelen dan met visual studio???
* Janoz zal wel verwend zijn met IntelliJ.
heh :) Nou zo erg is het nou OOK weer niet. Verreweg de meest gebruikte feature, intellisense werkt erg goed. Zeg nou eerlijk, wanneer gebruik jij refactoring? (als in: gebruik jij refactoring logica ieder kwartier?)

Ik heb wat macro's gemaakt: for(int i...), for(int j...), property aanmaken, region aanmaken, selection naar region, predefined regions (member vars, properties) en nog een paar die ik niet eens gebruik ;). Op zich kom je er dan wel.

[ Voor 65% gewijzigd door EfBe op 08-06-2004 13:19 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:13

Janoz

Moderator Devschuur®

!litemod

whoami schreef op 08 juni 2004 @ 10:49:

Refactoring support zal in whidbey zitten;
Zit dat er nu niet eens in? Hoe kun je eigenlijk fatsoenlijk ontwikkelen dan met visual studio???

* Janoz zal wel verwend zijn met IntelliJ.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 09:13

Janoz

Moderator Devschuur®

!litemod

Refactoring is erg handig waneer je aan het prototypen bent. Refactoring is net als een auto of afwas machine. Als je het niet hebt lijkt het wel handig maar niet perse nodig. Als je het eenmaal hebt blijkt het zo enorm handig te zijn en kun je niet meer zonder.

Zojuist nog heb ik binnen 5 minuten en nogal erg probleem kunnen oplossen. In een project bestaande uit meer dan 700 klassen en nog meer jsp bestanden werd een bepaalde variabele rechtstreeks aangeroepen (niet via een getter). Foute ontwerpbeslissing van anderhalf jaar terug, maar in de praktijk komen dit soort dingen best vaak voor. Nu moet ik daar een beetje functionaliteit aan toevoegen en heb ik echt die getter nodig. Via encapsulate fields heb ik elke referentie naar deze variabele binnen een minuut vervangen door een getter en heb ik de get methode geimplementeerd (ongeveer 1500 voorkomens).

Dit is misschine een extreem voorbeeld, maar veel simpelere dingen zijn dat ik gewoon kan beginnen te implementeren. Mocht ik toch niet echt de juiste naam voor een class gekozen hebben dan kan deze automatishc aangepast worden. Je ontwikkel 'drive' wordt op die manier niet verstoord omdat je type fouten en micro ontwerp fouten automatisch kunt fixen zonder dat je de correctheid van je programma aantast. Typefouten in variabele namen komen gewoon niet meer voor.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • EfBe
  • Registratie: Januari 2000
  • Niet online
Hier mn vs.net macro's, voor degenen die het wat makkelijker willen maken voor henzelf :) (alle macro's zijn voor C#)

de property creator werkt als volgt:
je definieert eerst bovenin je class zoals je altijd doet, de private member, met '_' prefix.

private int _foo;

daarna tik je op de plek van de property:

int foo

en druk je op de key-combi die je hebt gedefineerd voor de property macro. Dan krijg je een getter setter met xml comment voor _foo.

Macro's: (ja het is VBA, VS.NET als echte .NET IDE kan alleen het gare VBA aan. Ja, de code is niet echt mooi, dit is regenachtigezondagmiddag kwaliteit, maar werkt wel :P)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
Imports EnvDTE
Imports System
Imports System.Text
Imports System.Diagnostics

Public Module CSharp

    ''' Makes the selected lines the class property declarations region
    Sub MakeMemberRegion()
        MakeRegion("Class Member Declarations")
    End Sub

    ''' Makes the selection the class property declaration region.
    Sub MakePropertyRegion()
        MakeRegion("Class Property Declarations")
    End Sub

    ''' Makes a generic C# region of the selected lines and asks for the name of the region.
    Sub MakeRegion()
        Dim regionName As String = InputBox("Region name: ")

        MakeRegion(regionName)
    End Sub

    Sub MakeRegion(ByVal regionName As String)
        Dim selection As TextSelection = DTE.ActiveDocument.Selection()
        Dim start As EditPoint = selection.TopPoint.CreateEditPoint()
        Dim endpt As EditPoint = selection.BottomPoint.CreateEditPoint()

        DTE.UndoContext.Open("Make Region")
        Try
            ' insert the start of the region
            start.Insert("#region " & regionName)
            start.SmartFormat(start)
            Dim cursorPoint As EditPoint = start.CreateEditPoint()
            start.Insert(Environment.NewLine)

            If selection.IsEmpty Then
                start.Insert("#endregion")
                start.SmartFormat(start)
                start.Insert(Environment.NewLine & Environment.NewLine)
                Dim ts As TextSelection = DTE.ActiveWindow.Selection
                ts.MoveToPoint(cursorPoint)
            Else
                ' insert the end of the region
                If Not (endpt.AtStartOfLine) Then
                    endpt.Insert(Environment.NewLine)
                End If
                endpt.Insert("#endregion")
                endpt.SmartFormat(endpt)
                endpt.Insert(Environment.NewLine & Environment.NewLine)
            End If
        Finally
            DTE.UndoContext.Close()
        End Try
    End Sub


    ''' Creates a property. 
    ''' format: type name  has to be present at the current line.
    ''' Uses caMel casing.
    Sub CreateProperty()
        Dim typeName, propertyName, memberName, nameRead As String
        Dim ts As TextSelection
        Dim sb As New StringBuilder
        Dim boolIsOpened As Boolean

        Try
            ts = DTE.ActiveDocument.Selection
            If (ts.IsEmpty) Then
                ts.SelectLine()
            End If

            typeName = (ts.Text.Split(" ")(0)).Trim()
            nameRead = ((ts.Text.Split(" ")(1))).Trim()
            propertyName = nameRead.Substring(0, 1).ToUpper & nameRead.Substring(1)
            memberName = "_" + nameRead.Substring(0, 1).ToLower() & nameRead.Substring(1)

            ' actual property
            sb.Append("/// <summary>" & Environment.NewLine)
            sb.AppendFormat("/// Gets / sets {0}{1}", nameRead, Environment.NewLine)
            sb.Append("/// </summary>" & Environment.NewLine)
            sb.Append("public " + typeName + " " + propertyName)
            sb.Append(vbCrLf)
            sb.Append("{")
            sb.Append(vbCrLf)

            ' get
            sb.Append("get")
            sb.Append(vbCrLf)
            sb.Append("{")
            sb.Append(vbCrLf)
            sb.AppendFormat("return {0};", memberName)
            sb.Append(vbCrLf)
            sb.Append("}")
            sb.Append(vbCrLf)

            ' set
            sb.Append("set")
            sb.Append(vbCrLf)
            sb.Append("{")
            sb.Append(vbCrLf)
            sb.AppendFormat("{0} = value;", memberName)
            sb.Append(vbCrLf)
            sb.Append("}")
            sb.Append(vbCrLf)
            sb.Append("}")
            sb.Append(vbCrLf)
            sb.Append(vbCrLf)

            'Check to see if UndoContext object is already open.
            If DTE.UndoContext.IsOpen = False Then
                'Open the UndoContext object to track changes.
                Call DTE.UndoContext.Open("CreateProperty " & propertyName, False)
                boolIsOpened = True
            End If

            ' Replace the text
            ts.Delete()
            ts.Insert(sb.ToString(), vsInsertFlags.vsInsertFlagsInsertAtStart)
        Finally

            'If UndoContext was already open, don't close it.
            If boolIsOpened = True Then
                'Close the UndoContext object to commit the changes.
                DTE.UndoContext.Close()
                ' Format the Selection
                ts.SmartFormat()
                ts.MoveToPoint(ts.BottomPoint.CreateEditPoint())
                ts.LineUp()
            End If
        End Try
    End Sub


    Sub ForLoop()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        selection.Text = "for (int i = 0; i < ; i++)"
        selection.NewLine()
        selection.Text = "{"
        selection.NewLine()
        selection.Text = "}"
        selection.LineUp(False, 2)
        selection.CharRight(False, 19)
    End Sub

    Sub ForLoopJ()
        Dim selection As TextSelection = DTE.ActiveDocument.Selection
        selection.Text = "for (int j = 0; j < ; j++)"
        selection.NewLine()
        selection.Text = "{"
        selection.NewLine()
        selection.Text = "}"
        selection.LineUp(False, 2)
        selection.CharRight(False, 19)
    End Sub

    'Description: Inserts if block
    Sub IfNoElse()
        DTE.ActiveDocument.Selection.Text = "if ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 2)
        DTE.ActiveDocument.Selection.CharRight(False, 3)
    End Sub

    ' Description: Inserts if-else block
    Sub IfElse()
        DTE.ActiveDocument.Selection.Text = "if ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "else"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 6)
        DTE.ActiveDocument.Selection.CharRight(False, 3)
    End Sub

    ' Description: Inserts switch block
    Sub Switch()
        DTE.ActiveDocument.Selection.Text = "switch ()"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "case :"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "break;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "case :"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "break;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "default:"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "break;"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 8)
        DTE.ActiveDocument.Selection.CharRight(False, 7)
    End Sub

    ' Description: Inserts generic exception block
    Sub Exception()
        DTE.ActiveDocument.Selection.Text = "try"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "catch (System.Exception ex)"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "{"
        DTE.ActiveDocument.Selection.NewLine()
        DTE.ActiveDocument.Selection.Text = "}"
        DTE.ActiveDocument.Selection.LineUp(False, 4)
    End Sub


End Module

[ Voor 8% gewijzigd door EfBe op 08-06-2004 14:33 ]

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Thanks EfBe!

Questa wil ze stiekem gaan gebruiken voor AddIn &Marco contest, maar baalt dat EfBe in de juri zit! :Y)

  • EfBe
  • Registratie: Januari 2000
  • Niet online
offtopic:
Marco test? ;)

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Omnicore is dus hard bezig met een ide voor .NET. Als die net zo fijn is als Codeguide voor java, dan komt er een hele mooie lichte ide bij die de kloppers onder ons zeker kunnen waarderen.
http://forum.omnicore.com...read.php?s=&threadid=1791

Afbeeldingslocatie: http://forum.omnicore.com/attachment.php?s=&postid=5638

[ Voor 13% gewijzigd door Alarmnummer op 29-07-2004 15:36 ]


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Ey. De help balk daar rechts dat heeft Delphi ook :) Kei stoer, help tekst in je editor :D

  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 09:57
alienfruit schreef op 29 juli 2004 @ 16:36:
Ey. De help balk daar rechts dat heeft Delphi ook :) Kei stoer, help tekst in je editor :D
precies zoals het hoort :) Ik kan niet wachten tot omnicore z'n .net ide uitbrengt, dan kan ik eindelijk borland c#builder van m'n harde schijf af schoppen. Dat pakket is echt huilen met de pet op ;(

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Puff, geen problemen werkt hier prima. Zolang je die twee updates draait natuurlijk ;) Overigens VS.NET 2002 ook huilen met de pet :D
Pagina: 1