# SECoder **Repository Path**: ma-jindong/se ## Basic Information - **Project Name**: SECoder - **Description**: 本仓库为vscode插件开发学习项目SECoder。SECoder为一款基于开源项目twinny开发的代码补全插件,目前已经实现自动代码补全、主动代码补全、侧边栏聊天界面(可联动IDE进行编辑与代码补全)等功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-09 - **Last Updated**: 2025-07-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SECoder #### 介绍 SECoder是一款基于TypeScript语言、仿照开源项目[twinny](https://github.com/twinnydotdev/twinny)开发的一款代码自动补全插件。主要功能为代码补全和模型对话,其中代码补全功能包括自动代码补全和主动代码补全(命令式代码补全)两大功能模块;模型对话功能界面通过侧边栏组件实现并绘制,同时接入模型接口以实现对话功能,现已支持与IDE联动编辑。 #### 软件架构 本项目通过vscode官方插件开发脚手架yo code([yo code开发中文教程](https://liiked.github.io/VS-Code-Extension-Doc-ZH/))进行搭建,插件功能主要通过vscode API进行实现,包括功能注册、编辑器界面信息获取、侧边栏组件绘制等。大模型调用则通过直接调用已有大模型接口(deepseek)进行。 项目架构主要分为三大部分:大模型接口调用工具组(Utils.ts)、插件功能逻辑实现:包括内联代码补全(inlineCompletionProvider.ts)、主动代码补全( completeCode.ts)、代码提示补全(promptMode.ts)、侧边栏界面注册与渲染(homeViewProvider.ts) ![主要功能架构图](arch.png) #### 安装教程 1. 环境配置:本项目需要在visual studio code(vscode)上运行,需要预先进行安装,并安装配置node.js([node.js安装](https://nodejs.org/en/download)),同时需要安装npm包管理器以快速配置运行环境([npm安装](https://npm.nodejs.cn/cli/v11/configuring-npm/install)) 2. 下载本项目压缩文件并解压,在配置好上述环境后,通过vscode打开项目文件夹,于终端键入npm install命令以快速安装相关依赖。 3. 完成上述步骤后,按下f5即可开始插件调试。 #### 使用说明 1. 代码自动补全:在编辑器中输入文本后,等待数秒将弹出代码建议预览,按下tab键以接受建议,也可以继续进行编辑 ![输入图片说明](1.jpg) 2. 主动代码补全:通过选中代码段,右键打开菜单栏并在‘插件功能’选项中点选‘代码补全’(或选中代码后按下快捷键组alt+t),插件会将模型补全的代码插入至当前选中代码段位置之后。 ![输入图片说明](2.jpg) 3. 代码提示生成:通过选中代码段,右键打开菜单栏并在‘插件功能’选项中点选‘提示生成’(或选中代码后按下快捷键组ctrl+alt+t),插件会提示输入提示语句,输入完成并发送后,插件会将模型的返回结果插入至当前选中代码段位置之后。 ![输入图片说明](3.jpg) ![输入图片说明](4.jpg) ![输入图片说明](5.jpg) 4. 侧边栏模型对话界面:可以在底部会话栏输入文本与模型进行对话;也可以在编辑器中选择代码段,而后通过对话界面向模型提出代码补全等请求,模型将选中的代码段加入至回复参考中。 ![输入图片说明](6.jpg) ![输入图片说明](7.png) 5. 可以在src/util/utils.ts文件中进行模型API地址配置。