💎【行业认证·权威头衔】
✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家
✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主
✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者
🏆【荣誉殿堂】
🎖 连续三年蝉联"华为云十佳博主"(2022-2024)
🎖 双冠加冕CSDN"年度博客之星TOP2"(2022&2023)
🎖 十余个技术社区年度杰出贡献奖得主
📚【知识宝库】
覆盖全栈技术矩阵:
◾ 编程语言:.NET/Java/Python/Go/Node…
◾ 移动生态:HarmonyOS/iOS/Android/小程序
◾ 前沿领域:物联网/网络安全/大数据/AI/元宇宙
◾ 游戏开发:Unity3D引擎深度解析
文章目录
- 🚀VS Code
- 🔎1 VS Code 的安装与使用
- 🦋1. 下载 VS Code
- 🦋2. 安装 VS Code
- 🦋3. 启动 VS Code
- 🦋4. 界面概览
- 🦋5. 基本操作
- 🔎2 下载与安装 AI 编程工具插件
- 🔎3 对 AI 编程工具提问的技巧
- 🦋1. 明确角色与任务
- 🦋2. 说明项目背景
- 🦋3. 指定技术栈与版本
- 🦋4. 描述输入、输出和业务规则
- 🦋5. 给出约束条件
- 🦋6. 提供报错信息与复现步骤
- 🦋7. 要求完整文件与目录结构
- 🦋8. 要求解释关键逻辑
- 🦋9. 要求测试用例
- 🦋10. 迭代提问
- 🦋11. 敏感信息脱敏
- 🦋12. 避免模糊和混杂提问
- 🦋通用提问模板
- 🚀附:AI提示词模板与完整回答示例
- 🔎模板1:让 AI 生成微信小程序登录页面
- 🔎 模板2:让 AI 修复微信小程序报错
- 🔎模板3:让 AI 优化微信小程序代码
🚀VS Code
在众多的代码编辑器中,VS Code 以其强大的功能和灵活性赢得了广大开发者的青睐。它不仅提供丰富的编程语言支持,还拥有诸多实用的特性,可使编程工作变得更加高效。
🔎1 VS Code 的安装与使用
VS Code 是一款由微软公司开发的开源代码编辑器,它支持多种编程语言,具有语法高亮、智能代码补全、括号匹配、代码缩进、代码对比差异、Git控制等功能。下面介绍 VS Code 的安装与使用方法。
🦋1. 下载 VS Code
- 打开 VS Code 官网,进入下载页面。
- 根据所用的操作系统(Windows、macOS、Linux)下载相应版本的 VS Code。图1.19所示为 VS Code 的版本。
补充说明:
- 官网地址通常为
https://code.visualstudio.com/。 - Windows 用户通常下载 User Installer 或 System Installer。
- macOS 用户下载
.dmg或.zip文件。 - Linux 用户可下载
.deb、.rpm或.tar.gz,也可通过软件包管理器安装。 - 下载时注意选择与系统架构匹配的版本,例如 x64、Arm64 等。
🦋2. 安装 VS Code
对于 Windows 用户,运行下载的.exe文件,按照安装向导的指示完成安装。
对于 macOS 用户,打开下载的.dmg文件,然后将 VS Code 拖曳到“应用程序”文件夹中。
对于 Linux 用户,可以从软件包管理器安装,或者下载.deb或.rpm文件进行安装。
补充说明:
- Windows 安装时建议勾选“添加到 PATH”,方便在命令行中使用
code命令。 - macOS 安装后可在“应用程序”中找到 VS Code。
- Linux 使用
.deb时可用sudo dpkg -i安装,使用.rpm时可用sudo rpm -ivh安装,具体以系统版本为准。
🦋3. 启动 VS Code
本书使用 macOS,VS Code 的使用方法与 Windows 系统差别不大,请使用 Windows 系统的读者放心学习。
安装完成后,可以在“应用程序”文件夹找到 VS Code 图标并双击,以启动 VS Code。
成功下载并安装 VS Code 之后,下面介绍 VS Code 的工作界面以及如何使用 VS Code。
🦋4. 界面概览
VS Code 界面可分为活动栏、侧边栏、编辑器、状态栏4部分,如图1.20所示。
| 区域 | 说明 |
|---|---|
| 活动栏 | 位于界面最左侧,包含用于访问不同视图(如资源管理器、搜索、源代码管理、运行和调试等)的按钮。 |
| 侧边栏 | 显示活动栏所选视图的内容。 |
| 编辑器 | 编写代码的主要区域。 |
| 状态栏 | 位于界面底部,显示当前打开的文件、语言模式、Git分支等信息。 |
补充说明:
- 标题栏和菜单栏位于界面顶部,包含“文件”“编辑”“选择”“查看”“转到”“运行”“终端”“帮助”等菜单。
- 命令面板可通过
Ctrl+Shift+P(Windows/Linux)或Command+Shift+P(macOS)打开。 - 底部面板可显示终端、输出、问题、调试控制台等信息。
- 不同版本的 VS Code 界面可能略有差异,以实际版本为准。
🦋5. 基本操作
打开文件夹:打开“文件”菜单,选择“打开文件夹”,如图1.21所示。
新建文件:在资源管理器中的空白处右击并选择“新建文件”,或者单击“新建文件”按钮,如图1.22所示。
保存文件:按Ctrl+S(Windows/Linux)或Command+S(macOS)快捷键。
补充常用操作:
| 操作 | Windows/Linux 快捷键 | macOS 快捷键 |
|---|---|---|
| 命令面板 | Ctrl+Shift+P | Command+Shift+P |
| 打开扩展视图 | Ctrl+Shift+X | Command+Shift+X |
| 全局搜索 | Ctrl+Shift+F | Command+Shift+F |
| 打开终端 | Ctrl+` | Control+` |
| 格式化代码 | Shift+Alt+F | Shift+Option+F |
| 查找 | Ctrl+F | Command+F |
| 替换 | Ctrl+H | Command+Option+F |
| 保存全部 | Ctrl+K, S | Command+K, S |
🔎2 下载与安装 AI 编程工具插件
AI 编程工具插件可以显著提升编程效率,具备智能问答、智能代码补全、错误检测、代码重构等功能,可让开发体验更加流畅。以下是下载并安装 AI 编程工具插件的步骤,以安装通义灵码插件为例。
打开 VS Code
在“应用程序”文件夹中找到 VS Code,双击图标启动,或通过 Spotlight 搜索(Command+空格键)输入“VS Code”并回车打开。进入扩展视图
单击活动栏中的“扩展”按钮,或者按Ctrl+Shift+X(Windows/Linux)或Command+Shift+X(macOS)快捷键。安装简体中文插件
打开 VS Code 后,默认为英文版本,需要安装中文插件。在扩展视图中搜索“简体中文”,选择第一个插件,单击 Install 按钮开始安装(见图1.23)。安装完成后会出现一个弹窗,单击 Change Language and Restart(改变语言并重启)按钮,如图1.24所示。查找通义灵码插件
在扩展视图中搜索“通义灵码”,搜索结果如图1.25所示。安装通义灵码插件
在搜索结果中单击通义灵码插件对应的“安装”按钮开始安装,如图1.26所示。激活插件
安装完成后,根据提示单击“重新加载”按钮以激活插件。登录插件
激活插件后需要登录才能使用插件,单击“登录”,如图1.27所示,跳转到阿里云登录界面,使用手机号和验证码登录(需已注册),如图1.28所示。
登录成功后,通义灵码插件便已准备就绪,开发者可以直接在代码编辑器中使用其提供的 AI 功能。通义灵码的开始使用界面如图1.29所示。
补充注意事项:
- 安装插件前建议先更新 VS Code 到较新版本。
- 如果扩展视图无法加载,检查网络、代理和 VS Code 版本。
- 登录通义灵码需要阿里云账号,可使用手机号验证码登录。
- 如果登录失败,检查网络、账号状态和插件版本。
- 安装完成后,通义灵码通常会在侧边栏显示图标,可在其中进行智能问答、代码生成、代码解释等操作。
- 在团队协作中,使用 AI 插件生成的代码仍需人工审核,避免安全、版权和逻辑问题。
🔎3 对 AI 编程工具提问的技巧
在使用 AI 编程工具(如通义灵码)辅助开发微信小程序时,精确的提问能够显著提高获得有用回答的概率。这里提供一些提问技巧(见图1.30),以帮助开发者更好地利用 AI 编程工具,提高开发效率。
🦋1. 明确角色与任务
告诉 AI 它是什么角色,要完成什么任务。例如:
你是一名资深微信小程序开发工程师,请帮我生成一个登录页面。
🦋2. 说明项目背景
提供项目类型、运行环境、技术栈和业务目标。例如:
我正在开发一个微信小程序,使用原生框架,不使用第三方 UI 库,需要实现用户登录功能。
🦋3. 指定技术栈与版本
明确框架、语言、基础库、工具版本。例如:
使用微信小程序原生 WXML、WXSS、JavaScript,兼容微信基础库 3.x。
🦋4. 描述输入、输出和业务规则
说明数据从哪里来、要显示什么、点击后发生什么。例如:
用户输入手机号和验证码,点击登录后调用
wx.login获取 code,再请求后端接口。
🦋5. 给出约束条件
限制代码风格、依赖、目录结构、兼容性。例如:
不使用第三方库,代码放在
pages/login目录下,给出完整四个文件。
🦋6. 提供报错信息与复现步骤
遇到问题时,粘贴完整报错、相关代码和操作步骤。例如:
报错:
Cannot read property 'map' of undefined。相关代码:……
🦋7. 要求完整文件与目录结构
明确要求 AI 输出完整文件,而不是片段。例如:
请分别给出
index.json、index.wxml、index.wxss、index.js的完整代码。
🦋8. 要求解释关键逻辑
让 AI 不仅给代码,还解释思路、生命周期、数据流和注意事项。
🦋9. 要求测试用例
让 AI 生成单元测试、边界测试和异常测试建议。
🦋10. 迭代提问
先让 AI 给出基础版本,再逐步要求优化、重构、加注释、加错误处理。
🦋11. 敏感信息脱敏
不要上传真实 AppSecret、用户手机号、身份证号、密钥和隐私数据。
🦋12. 避免模糊和混杂提问
一次尽量聚焦一个问题,避免同时问多个不相关任务。
🦋通用提问模板
你是一名【角色,例如:资深微信小程序开发工程师】。 我正在开发【项目类型,例如:微信小程序商城】。 技术栈:【例如:微信小程序原生框架、WXML、WXSS、JavaScript】。 我的目标是:【例如:实现一个登录页面,包含手机号、验证码、倒计时和表单校验】。 当前代码/报错/目录结构如下: 【粘贴内容】 请完成以下任务: 1. 【任务1】 2. 【任务2】 3. 【任务3】 输出要求: - 给出完整文件代码; - 标明文件路径; - 解释关键逻辑; - 指出注意事项和常见问题。 约束条件: - 【例如:不使用第三方库、兼容微信基础库 3.x、代码放在 pages/login 目录】。🚀附:AI提示词模板与完整回答示例
原文未包含具体的 AI 提示词模板和回答。以下为便于学习和开发补充的完整模板与完整回答,可直接复制使用。
🔎模板1:让 AI 生成微信小程序登录页面
提示词模板:
你是一名资深微信小程序开发工程师。 我正在开发一个微信小程序,使用原生框架,不使用第三方 UI 库。 请帮我生成一个登录页面,放在 pages/login 目录下。 功能需求: 1. 输入手机号; 2. 输入验证码; 3. 点击“获取验证码”后按钮进入 60 秒倒计时; 4. 校验手机号格式; 5. 点击“登录”后调用 wx.login 获取 code,并请求后端登录接口。 输出要求: 请分别给出 index.json、index.wxml、index.wxss、index.js 的完整代码,并解释关键逻辑和注意事项。 约束: 代码简洁,兼容微信基础库 3.x,不依赖第三方库。完整回答示例:
文件路径:pages/login/index.json
{"navigationBarTitleText":"登录"}文件路径:pages/login/index.wxml
<viewclass="page"><viewclass="form-item"><textclass="label">手机号</text><inputclass="input"type="number"maxlength="11"placeholder="请输入手机号"value="{{phone}}"bindinput="onPhoneInput"/></view><viewclass="form-item"><textclass="label">验证码</text><inputclass="input"type="number"maxlength="6"placeholder="请输入验证码"value="{{code}}"bindinput="onCodeInput"/><buttonclass="code-btn"disabled="{{counting}}"bindtap="sendCode">{{codeText}}</button></view><buttonclass="submit"type="primary"bindtap="submit">登录</button></view>文件路径:pages/login/index.wxss
.page{padding:40rpx;}.form-item{display:flex;align-items:center;margin-bottom:30rpx;}.label{width:120rpx;font-size:30rpx;}.input{flex:1;height:80rpx;padding:0 20rpx;border:1rpx solid #ddd;border-radius:8rpx;}.code-btn{width:220rpx;margin-left:20rpx;font-size:28rpx;}.submit{margin-top:60rpx;}文件路径:pages/login/index.js
Page({data:{phone:'',code:'',counting:false,codeText:'获取验证码',timer:null},onPhoneInput(e){this.setData({phone:e.detail.value});},onCodeInput(e){this.setData({code:e.detail.value});},validatePhone(phone){return/^1[3-9]\d{9}$/.test(phone);},sendCode(){const{phone,counting}=this.data;if(counting){return;}if(!this.validatePhone(phone)){wx.showToast({title:'手机号格式不正确',icon:'none'});return;}letseconds=60;this.setData({counting:true,codeText:`${seconds}s后重发`});this.data.timer=setInterval(()=>{seconds--;if(seconds<=0){clearInterval(this.data.timer);this.setData({counting:false,codeText:'获取验证码',timer:null});}else{this.setData({codeText:`${seconds}s后重发`});}},1000);// 实际项目中应调用后端发送验证码接口wx.showToast({title:'验证码已发送',icon:'success'});},submit(){const{phone,code}=this.data;if(!this.validatePhone(phone)){wx.showToast({title:'手机号格式不正确',icon:'none'});return;}if(!code||code.length<4){wx.showToast({title:'请输入验证码',icon:'none'});return;}wx.login({success:(res)=>{if(!res.code){wx.showToast({title:'微信登录失败',icon:'none'});return;}wx.request({url:'https://example.com/api/login',method:'POST',data:{phone,code,jsCode:res.code},success:(resp)=>{if(resp.data.success){wx.showToast({title:'登录成功',icon:'success'});}else{wx.showToast({title:resp.data.message||'登录失败',icon:'none'});}},fail:()=>{wx.showToast({title:'网络异常',icon:'none'});}});},fail:()=>{wx.showToast({title:'微信登录失败',icon:'none'});}});},onUnload(){if(this.data.timer){clearInterval(this.data.timer);}}});关键逻辑说明:
data中保存手机号、验证码、倒计时状态和定时器。onPhoneInput和onCodeInput用于同步输入框数据。validatePhone使用正则校验手机号格式。sendCode先校验手机号,再启动 60 秒倒计时,避免重复点击。submit校验手机号和验证码后,调用wx.login获取临时登录凭证 code。- 使用
wx.request将手机号、验证码和 code 提交到后端。 onUnload中清理定时器,避免页面卸载后定时器继续运行。- 实际项目中,发送验证码和登录接口都需要后端配合,并注意接口安全、频率限制和隐私合规。
🔎 模板2:让 AI 修复微信小程序报错
提示词模板:
我在微信小程序中遇到以下报错: 【粘贴完整报错信息】 相关代码: 【粘贴相关代码】 复现步骤: 1. 【步骤1】 2. 【步骤2】 3. 【步骤3】 请定位原因,给出修改后的完整代码,并解释修改点。 技术栈:微信小程序原生框架,WXML、WXSS、JavaScript。完整回答示例:
假设报错信息为:
Cannot read property 'map' of undefined相关代码:
Page({data:{},onLoad(){this.loadList();},loadList(){wx.request({url:'https://example.com/api/list',success:(res)=>{this.setData({list:res.data});}});}});原因:
页面初始data中没有list,或者接口返回的res.data不是数组。当 WXML 中执行list.map或类似操作时,就会因为undefined报错。
修改后的完整代码:
Page({data:{list:[]},onLoad(){this.loadList();},loadList(){wx.request({url:'https://example.com/api/list',success:(res)=>{this.setData({list:Array.isArray(res.data)?res.data:[]});},fail:()=>{this.setData({list:[]});}});}});对应 WXML:
<viewwx:for="{{list}}"wx:key="id">{{item.name}}</view>修改点说明:
- 在
data中初始化list: [],避免初始渲染时为undefined。 - 接口返回后使用
Array.isArray()判断,保证list始终为数组。 - 请求失败时也设置为空数组,避免页面崩溃。
- 如果接口返回结构为
{ data: [] },应改为res.data.data。
🔎模板3:让 AI 优化微信小程序代码
提示词模板:
请分析以下微信小程序页面代码的性能问题。 从 setData 频率、数据量、长列表、图片、分包、按需注入等角度给出优化方案。 请输出优化后的完整代码,并解释优化点。 代码: 【粘贴代码】完整回答示例:
优化建议:
- 减少
setData调用次数,合并更新字段。 - 长列表使用分页加载或虚拟列表,避免一次性渲染大量节点。
- 图片使用懒加载、CDN、WebP 等格式。
- 使用分包加载和按需注入,降低首屏体积。
- 避免在
onPageScroll中频繁调用setData。
优化后代码示例:
Page({data:{list:[],page:1,loading:false},onReachBottom(){this.loadMore();},loadMore(){if(this.data.loading){return;}this.setData({loading:true});wx.request({url:'https://example.com/api/list',data:{page:this.data.page},success:(res)=>{constnewList=this.data.list.concat(res.data||[]);this.setData({list:newList,page:this.data.page+1,loading:false});},fail:()=>{this.setData({loading:false});}});}});对应 WXML:
<viewwx:for="{{list}}"wx:key="id">{{item.name}}</view><viewwx:if="{{loading}}">加载中...</view>优化点说明:
- 使用
loading防止重复请求。 - 通过
page实现分页加载。 - 使用
concat追加数据,而不是反复覆盖。 - 只在必要时调用
setData,降低渲染压力。 - 长列表可进一步使用
recycle-view等方案优化。