让lazarus IDE格式化代码根据自定义变量名格式化大小写

在Delphi 里用delforex格式化代码习惯了,到了lazarus jediformat  用得很不习惯,自行修改代码:

lazarus 的对象

开发思路:jedi format有个anyword设置变量名称为 SpecificWordCaps,在代码格式化前对把文件定义的变量添加进行,格式化后还原(临时保存在OldSpecificWordCaps,调用ResetSpecificWordCaps),经测试有效。

使用oldSpecificWordCap :tstringlist进行记录anyword,重

一、Unit Converter;位置在\components\jcf2\ReadWrite\Converter.pas

1.修改uses 增加Tokens,classes

2.修改过程

Procedure TConverter.Convert;
Var
 lcTokenList: TSourceTokenList;

//增加以下局部变量
 I: Integer;
 Src: TSourceToken;
 TmpSL: TStringList;
 在    lcTokenList := fcTokeniser.BuildTokenList;  后增加

    TmpSL := TStringList.Create;//临时字符串列表保存自定义变量

 tmpsl.CaseSensitive:=false; //win下本句可省,linux未测试,有需要可以增加
   FormattingSettings.ResetSpecificWordCaps;
   For I := 0 To lcTokenList.Count - 1 Do
     Begin
     Src := lcTokenList.SourceTokens[I];
     If (Src.TokenType = ttIdentifier) And (Src.WordType = wtIdentifier) Then

//若为标识符(即自定义变量含TObject之类变量类型)
       Begin
       If TmpSL.IndexOf(Src.SourceCode) = -1 Then//若未添加
         Begin
         TmpSL.Add(Src.SourceCode);//加入格式化列表
         End;
       End;
     End;
   FormattingSettings.SpecificWordCaps.Words.AddStrings(TmpSL);
   FreeAndNil(TmpSL); 

二修改unit JcfSettings;

位置:components\jcf2\Settings\JcfSettings.pas增加uses classes

1.  TFormattingSettings类增加公用函数procedure ResetSpecificWordCaps;

函数实现:

procedure TFormattingSettings.ResetSpecificWordCaps;
begin
  fcSpecificWordCaps.Words.Clear;
  fcSpecificWordCaps.Words.AddStrings(OldSpecificWordCaps);
end;      

2.增加私有变量定义oldSpecificWordCaps:TStringlist;

在构造函数constructor TFormattingSettings.Create(const pbReadRegFile: boolean); 里增加

 oldSpecificWordCaps:=TStringlist.Create; //增加

在析构函数destructor TFormattingSettings.Destroy;  里增加

FreeAndNil(oldSpecificWordCaps);  //释放

在procedure TFormattingSettings.FromStream(const pcStream: TSettingsInput);函数中

    ReadFromStream(fcSpecificWordCaps);//后面增加
   OldSpecificWordCaps.Clear;
   OldSpecificWordCaps.AddStrings(fcSpecificWordCaps.Words);//保存临时定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值