Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>4gl-helperNew to Visual Studio Code? Get it now.
4gl-helper

4gl-helper

da

|
265 installs
| (0) | Free
一个支持4gl语言文件的插件
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

4gl Helper

一个支持4gl语言的vscode插件,提供全方位的开发支持功能,特别优化了代码补全体验。

功能特性

  • 代码高亮
  • 代码片段
  • 代码格式化
  • 代码补全
  • 关键字大小写警告提示

快捷键

  • 多行编辑时自动编号 ctrl+alt+i
  • 代码格式化 alt+shift+f
  • 删除当前文件中所有的单行注释 ctrl+alt+d

项目结构

项目采用模块化架构设计,将不同功能组件分离,便于维护和扩展:

├── client/           # 客户端代码,处理VSCode扩展相关功能
├── server/           # 语言服务器代码,提供核心语言服务
│   ├── src/core/     # 核心语言处理逻辑
│   ├── src/data/     # 数据定义和常量
│   ├── src/services/ # 服务层,处理具体功能
│   └── src/utils/    # 工具函数

功能优化说明

近期对项目进行了全面的代码重构和功能优化,特别是代码补全功能的大幅改进:

1. 智能代码补全优化 (client/src/auto.ts)

  • 上下文感知 - 根据当前代码上下文提供最相关的补全项
  • 多级优先级排序 - 按照补全项的相关性和类型进行智能排序
  • 精确过滤机制 - 避免显示重复和与当前输入不匹配的补全项
  • 增强的缓存策略 - 优化性能,提供更快的补全响应
  • 智能模板 - 根据代码上下文提供常用代码结构模板
  • 函数参数补全 - 在函数调用时智能提示参数名称
  • 客户端-服务器职责分离 - 移除了客户端的关键字补全功能,避免与服务器端重复,确保文档补全仅基于当前文件中定义的变量和方法

2. 模块化架构设计

  • 创建了清晰的目录结构,将代码分为核心模块、数据模块、服务模块和工具模块
  • 各模块职责明确,通过索引文件统一导出

3. 核心模块 (core/)

  • languageService.ts: 实现关键字大小写检查和语法结束检查等核心语言特性
  • languageConstants.ts: 定义语言配置和诊断消息模板

4. 数据模块 (data/)

  • 分离数据定义和处理逻辑,提高可维护性
  • 统一管理语言关键字和常量

5. 服务模块 (services/)

  • documentValidator.ts: 处理文档的语法检查和诊断功能
  • codeCompletion.ts: 提供代码补全服务

6. 工具模块 (utils/)

  • 提取通用工具函数,实现代码复用
  • 优化数组处理和诊断相关工具方法

7. 服务器重构

  • 更新了server.ts,使用新的模块化结构
  • 保持了原有功能,包括代码补全、语法检查和服务器连接

优化优势

  • 代码补全智能化 - 提供更精准、无冗余的补全建议,大幅提升开发效率
  • 性能优化 - 增强的缓存机制和索引系统,提供更快的响应速度
  • 代码结构更清晰 - 模块化设计使代码易于理解和维护
  • 功能扩展性更强 - 优化后的架构便于后续功能扩展
  • 类型定义更严格 - 减少潜在错误

代码补全功能亮点

  1. 上下文分析 - 根据最后输入的关键字智能判断所需的补全类型
  2. 多级分类 - 将补全项分为模板、函数、变量、关键字和普通标识符
  3. 丰富文档 - 提供详细的补全项说明和使用示例
  4. 智能过滤 - 根据当前输入自动过滤不相关的补全项
  5. 防重复机制 - 使用Map结构确保不会出现重复的补全项

使用提示

  • 代码补全会根据当前输入自动过滤,只需输入几个字符即可获得精准建议
  • 在输入函数名后,系统会智能提示参数信息
  • 使用模板补全可以快速生成常用代码结构,提高编码效率
  • 保持代码风格一致性,系统会提示关键字大写规范

代码高亮和代码提示片段来自4gl插件

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft