|
Registriert seit: 26. Nov 2003 Ort: Halle/Saale 4.356 Beiträge Delphi 11 Alexandria |
#11
Ich habe jetzt die Formatierung angefangen.
Aktuell sehen die uses- und const-Abschnitte schon ganz gut aus. ![]() Es werden bestimmte Regeln zu den Einrückungen und Leerzeichen um bestimmte Zeichen eingehalten. Die Einrückungen können auch bestimmte Inhalte (z.B. '=' oder später 'read' und 'write' von Properties) untereinander ausrichten. Leerzeilen dienen dabei als Trennzeilen für einzelne Blöcke. Umgebrochene lange Zeilen können ebenfalls an bestimmten Textmarken ausgerichtet werden. Es gibt natürlich extrem viele Möglichkeiten, die da relevant werden können. Sicherlich hat da jeder Entwickler auch eigene Wünsche und Vorstellungen. Mal sehen, wie weit ich damit komme. Es ist auf jeden Fall eine ziemlich komplexe Angelegenheit. :-/ Was mir besonderes Kopfzerbrechen macht, ist der Umgang mit Zeilenumbrüchen und Kommentartexten. Ich kann leider nicht unterscheiden, ob ein Zeilenumbruch durch einen Entwickler eingefügt wurde oder durch eine frühere Formatierung. Entsprechend weiß ich bei einer Neuformatierung nicht, ob ein Zeilenumbruch bestehen bleiben soll oder ob der nach einer Codeänderung neu berechnet werden muss. Workarounds, die mir da einfallen, sind nicht wirklich tauglich oder zumindest im Codeeditor störend. ![]() Weiß jemand, ob der Codeeditor sowas wie weiche Umbrüche unterstützt (Shift+Enter)? Ich habe leider noch nichts gefunden. Bei Kommentaren werde ich unterscheiden zwischen "Auskommentierungen" und "echtem Kommentar". "Auskommentierungen" werden auf Wunsch wie Quelltext formatiert, was die Einrückungen, Umbrüche und Space-Korrekturen betrifft. Die Codezeilen werden dann zwischen begin-end usw. entsprechend eingerückt. Echter Kommentar wird im Block wie gehabt linksbündig ausgerichtet und kann beliebige Leerzeichen enthalten. (Für den Compiler bleibt natürlich alles normaler Kommentar.) Anbei mal zwei Darstellungen eines Beispielcodes, unformatiert und formatiert. Da das hier in der DP nur näherungsweise darstellbar ist, auch mal noch zwei entsprechende Screenshots. VORHER:
Code:
NACHHER:
unit uInterfaces;
interface uses System.Classes,Generics.Collections ,System.Generics.Collections , Vcl.Graphics; const sid_UnitFile = '{3D27E420-B68B-423D-8F4A-BF9179A14BF3}'; sid_Parser='{683E78A3-A24F-4841-81B2-459EC0A9A20F}'; sid_ResultText = '{23B6DE22-7C2C-4F6C-BB49-F6BD5FCF9A56}' ; sid_PosMarker = '{7F1F73C8-722E-4D87-A367-D06EFFA1D81E}' ; sid_Word = '{CF738D99-C813-471B-9810-DD8BE204F007}' ; sid_Words = '{A5461E5E-67A7-42EC-B918-23828C749DAA}' ; sid_LB = '{3765F016-9575-4916-BDC4-CF0700462E0D}' ; sid_Apostroph = '{904BD8A1-2149-4679-B80D-FC89CDFB31D7}'; sid_Comment = '{AF8075A3-3C80-40DE-8963-53FC9A791B1D}'; sid_CommentParenthesisStars = '{B0D4E9FB-BBF3-4C13-889F-21A54E54D70F}'; sid_CommentCurlyBraces = '{2D28310E-F09F-4016-9D35-84DE5352F18A}'; sid_CommentDoubleSlashes = '{C983F5E9-F68A-46D4-9895-AF68A38A0B04}'; sid_CommentHK = '{FD36117E-5E4F-4D13-8D33-5407259F61A0}'; sid_Attribute = '{2D28DE78-CD7A-4164-915D-BE4A228DFEAD}'; sid_Type = '{40D018C6-55EC-4040-804C-5F45AEB77382}'; sid_FoundMember = '{6E68F02E-2FB5-4FE2-BD53-1E8E5CFE3DF8}'; sid_Unit = '{E7E7399C-AA72-472C-BD51-0EB6298FCB9B}'; sid_UnitInterface = '{42207023-90C8-4D10-9066-F51221D8C53D}'; sid_UnitImplementation = '{546D8E44-433C-46BF-96AB-3E6BDE4D4F09}'; sid_UnitUses = '{AF8CD130-CB09-4D7D-AD26-FE2C636F9DBD}'; sid_UnitUse = '{48EC2F39-887A-4AC5-893E-02B4B385B18F}'; sid_UnitConst = '{64264236-FCAA-4765-896E-941DE00B8A59}'; sid_UnitType = '{66906CF4-9489-4AD9-8246-FC2F010DAF4B}'; sid_UnitInitialization = '{72DF6782-D73C-4353-8177-66BE26E3527E}'; sid_UnitFinalization = '{CF5EAA57-9946-4875-91A6-75985DAFA2EB}'; sid_ParamPart = '{8A3310C3-2126-4E85-8451-B2383FFF7D93}'; sid_Params = '{04D95874-A9D6-475E-B9EA-CF2806108E29}'; sid_Index = '{AFCF6127-F72A-472B-A963-25B3F3CCB365}'; sid_Bases = '{FF65E2E6-BA17-444A-8F16-040EFD73B2B0}'; sid_InterfaceClassDeclaration = '{604DD7AF-9699-4DF6-B333-EE49ACE67DB5}'; sid_InterfaceDeclaration = '{2B986919-AF9E-4673-845B-001EBFD17E91}'; sid_ClassDeclaration = '{61B14F2F-8B38-4995-A0A4-DDE4D70254D4}'; sid_ClassSection = '{87176506-56B6-426F-BFCC-6DA956AB5560}'; sid_Getter = '{15E251BF-A12A-480B-A512-07A7CA9B056D}'; sid_Setter = '{E319417C-8AF6-4558-81DD-7F2970380C8E}'; sid_ConstructorDeclaration = '{3CA6DA10-29B3-4393-AE41-FF8C7484232A}'; sid_DestructorDeclaration = '{C1981961-EED7-45C4-9BBA-6F7E51597892}'; sid_ProcedureDeclaration = '{C4DD75FD-138D-45D7-9C01-0928747CAFB9}'; sid_FunctionDeclaration = '{D8F6BC30-5D06-4482-8C83-07ABC6EDD4F4}'; sid_PropertyDeclaration = '{0294DE48-6390-4DE7-A4CD-EE17F62DA292}'; sid_PropDeclaration = '{831497FE-1FA7-4418-B019-A505906D00E3}'; sid_PropSig = '{919A50FC-A5A1-4464-98A3-D15F9778AD75}'; sid_FieldDeclaration = '{6C62B581-CFAD-42CD-843D-6F9051BD16D7}'; sid_ClassHeader = '{ADC0E9DF-803C-41AE-8CA4-1E2473144525}'; sid_ClassConstructor = '{AAA34D34-E4DB-4BD1-A5C8-F27CDAF68E31}'; sid_ClassDestructor = '{263AE578-4E0B-4093-9FC0-7264F619A98D}'; sid_ClassProcedure = '{8D8585FA-B120-476B-B84B-46D29E2F8E4E}'; sid_ClassFunction = '{F8A6A860-9B8E-4051-A533-D22ACDFAA510}'; TEST_Integer=1+2+3+4+5+6+7+8+9+11+2+3+4+5+6+7+888+9+1+2+3+44+5+6+7+8+9+1111+2+3+4+5+6+7+8+9+1+2+3+4+5+666+7+8+99999999999999999+11111+2+3+4+5+6+7+8+99+1+2+3+4+5+6+7+8+9+111+2+3+4+5+66+7+8+999; Test_String='Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test '+'Test';
Code:
unit uInterfaces;
interface uses System.Classes, Generics.Collections, System.Generics.Collections, Vcl.Graphics; const sid_UnitFile = '{3D27E420-B68B-423D-8F4A-BF9179A14BF3}'; sid_Parser = '{683E78A3-A24F-4841-81B2-459EC0A9A20F}'; sid_ResultText = '{23B6DE22-7C2C-4F6C-BB49-F6BD5FCF9A56}'; sid_PosMarker = '{7F1F73C8-722E-4D87-A367-D06EFFA1D81E}'; sid_Word = '{CF738D99-C813-471B-9810-DD8BE204F007}'; sid_Words = '{A5461E5E-67A7-42EC-B918-23828C749DAA}'; sid_LB = '{3765F016-9575-4916-BDC4-CF0700462E0D}'; sid_Apostroph = '{904BD8A1-2149-4679-B80D-FC89CDFB31D7}'; sid_Comment = '{AF8075A3-3C80-40DE-8963-53FC9A791B1D}'; sid_CommentParenthesisStars = '{B0D4E9FB-BBF3-4C13-889F-21A54E54D70F}'; sid_CommentCurlyBraces = '{2D28310E-F09F-4016-9D35-84DE5352F18A}'; sid_CommentDoubleSlashes = '{C983F5E9-F68A-46D4-9895-AF68A38A0B04}'; sid_CommentHK = '{FD36117E-5E4F-4D13-8D33-5407259F61A0}'; sid_Attribute = '{2D28DE78-CD7A-4164-915D-BE4A228DFEAD}'; sid_Type = '{40D018C6-55EC-4040-804C-5F45AEB77382}'; sid_FoundMember = '{6E68F02E-2FB5-4FE2-BD53-1E8E5CFE3DF8}'; sid_Unit = '{E7E7399C-AA72-472C-BD51-0EB6298FCB9B}'; sid_UnitInterface = '{42207023-90C8-4D10-9066-F51221D8C53D}'; sid_UnitImplementation = '{546D8E44-433C-46BF-96AB-3E6BDE4D4F09}'; sid_UnitUses = '{AF8CD130-CB09-4D7D-AD26-FE2C636F9DBD}'; sid_UnitUse = '{48EC2F39-887A-4AC5-893E-02B4B385B18F}'; sid_UnitConst = '{64264236-FCAA-4765-896E-941DE00B8A59}'; sid_UnitType = '{66906CF4-9489-4AD9-8246-FC2F010DAF4B}'; sid_UnitInitialization = '{72DF6782-D73C-4353-8177-66BE26E3527E}'; sid_UnitFinalization = '{CF5EAA57-9946-4875-91A6-75985DAFA2EB}'; sid_ParamPart = '{8A3310C3-2126-4E85-8451-B2383FFF7D93}'; sid_Params = '{04D95874-A9D6-475E-B9EA-CF2806108E29}'; sid_Index = '{AFCF6127-F72A-472B-A963-25B3F3CCB365}'; sid_Bases = '{FF65E2E6-BA17-444A-8F16-040EFD73B2B0}'; sid_InterfaceClassDeclaration = '{604DD7AF-9699-4DF6-B333-EE49ACE67DB5}'; sid_InterfaceDeclaration = '{2B986919-AF9E-4673-845B-001EBFD17E91}'; sid_ClassDeclaration = '{61B14F2F-8B38-4995-A0A4-DDE4D70254D4}'; sid_ClassSection = '{87176506-56B6-426F-BFCC-6DA956AB5560}'; sid_Getter = '{15E251BF-A12A-480B-A512-07A7CA9B056D}'; sid_Setter = '{E319417C-8AF6-4558-81DD-7F2970380C8E}'; sid_ConstructorDeclaration = '{3CA6DA10-29B3-4393-AE41-FF8C7484232A}'; sid_DestructorDeclaration = '{C1981961-EED7-45C4-9BBA-6F7E51597892}'; sid_ProcedureDeclaration = '{C4DD75FD-138D-45D7-9C01-0928747CAFB9}'; sid_FunctionDeclaration = '{D8F6BC30-5D06-4482-8C83-07ABC6EDD4F4}'; sid_PropertyDeclaration = '{0294DE48-6390-4DE7-A4CD-EE17F62DA292}'; sid_PropDeclaration = '{831497FE-1FA7-4418-B019-A505906D00E3}'; sid_PropSig = '{919A50FC-A5A1-4464-98A3-D15F9778AD75}'; sid_FieldDeclaration = '{6C62B581-CFAD-42CD-843D-6F9051BD16D7}'; sid_ClassHeader = '{ADC0E9DF-803C-41AE-8CA4-1E2473144525}'; sid_ClassConstructor = '{AAA34D34-E4DB-4BD1-A5C8-F27CDAF68E31}'; sid_ClassDestructor = '{263AE578-4E0B-4093-9FC0-7264F619A98D}'; sid_ClassProcedure = '{8D8585FA-B120-476B-B84B-46D29E2F8E4E}'; sid_ClassFunction = '{F8A6A860-9B8E-4051-A533-D22ACDFAA510}'; TEST_Integer = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 11 + 2 + 3 + 4 + 5 + 6 + 7 + 888 + 9 + 1 + 2 + 3 + 44 + 5 + 6 + 7 + 8 + 9 + 1111 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 1 + 2 + 3 + 4 + 5 + 666 + 7 + 8 + 99999999999999999 + 11111 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 99 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 111 + 2 + 3 + 4 + 5 + 66 + 7 + 8 + 999; Test_String = 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test ' + 'Test';
Stahli
![]() --- "Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004) Geändert von stahli (30. Okt 2018 um 10:03 Uhr) |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |