摘要: 本文介绍了 GoLand IDE 中的一些快捷键操作,以帮助读者提高开发效率。...包括选择按键映射的方法,以及介绍了几个必备的快捷键用法,涵盖搜索、上下文操作、代码重构、代码生成和智能代码补全等功能。 引言: 在 GoLand IDE 中,快捷键是提高开发效率的关键因素之一。...2023.2 界面还是很不错的,喜欢的可以更新一下,亲测如下: 如何选择按键映射(Keymap) 我们首先选择正确的按键映射,以确保您能够更快适应。...Refactor This(重构此): ⌃T/Ctrl+Alt+Shift+T Refactor This(重构此)是 GoLand 中一个重构组合的关键,从 Rename(重命名)到 Move(移动)...Generate(生成): ⌘N/Alt+Insert 此热键会打开用于创建常用代码结构和重复元素的各种选项。
随着Vue应用程序的大小增加,Vuex Store中的actions和mutations也会增加。本文,我们将介绍如何将其减少到易于管理的东西。...数据返回后,我们使用mutations将其存储在state中。这允许任何组件访问该数据。可以想象到,我们的store可以有大量的actions来处理这些API调用。...每个action都执行以下操作: 从API获取数据(必要时包括有效负载) 以state存储数据(可选) 返回对调用该action组件的响应 要将这些重构为单个(统一)操作action,我们需要知道action...检索到数据之后,将更新state变量currentWorkOrder。最后,数据将返回到进行调用的组件中。我们所有的actions都有这种格式。...检索到数据之后,将更新state变量currentWorkOrder。最后,数据将返回到进行调用的组件中。我们所有的actions都有这种格式。
本文由 Suraj Vishwakarma 撰写的博文,这篇文章讨论了如何将代码重构整合到你的编程过程中,建议你特别为重构代码分配时间,并将较大的重构问题分解为较小的问题进行处理。...今天,我们将研究一些技巧,这些技巧可以帮助我们以更好的方式重构代码。 如何整合重构 在寻找改进重构的技巧之前,让我们看看如何将代码重构集成到你的编码过程中。...将硬编码的值转换为具有有意义名称的变量肯定有助于其他人理解它。此外,还可以为其添加注释以进一步解释。这也有助于调试和降低将来出现错误的风险。...此技术可以帮助你减少代码行。 此方法可以分解为较小的代码块,可以在函数中找到它们以进行优化。...以下是这些代码块: 删除不必要的变量和表达式:可能有一些用于调试的变量或表达式被遗漏,例如JavaScript中的console.log。 使用内置功能:有时使用库或语言的内置功能会更好。
Alt+Insert 环绕 Ctrl+Alt+T 高亮符号使用(比如变量使用) Ctrl+F7 代码的扩展和收缩都依赖于语法,对应的按键是ctrl+w和ctrl+shift+w。...导航到文件夹的话,需要你的表达式以斜杠结尾。 通过ctrl+shift+alt+n,你可以链接到可用的符号,并且允许你通过名字查找到方法和域变量。...事件 快捷键 文档 Ctrl+Q 快速定义(变量是如何定义的) Ctrl+Shift+I 展示调用列表 Ctrl+Alt+F7 展示实现类列表 Ctrl+Alt+B 在编辑器中,快捷窗体同样适用于符号变量...撤销重构的方式是:选择项目工具窗,按键ctrl+z即可 事件 快捷键 重命名 Shift+F6 提取变量 Ctrl+Alt+V 提取Field Ctrl+Alt+F 提取常量 Ctrl+Alt+C...探测使用 探测使用帮助你快速的定位符号在代码中的所有的引用,不管是类,方法,field,参数或者其他语法。只需要按键Alt+F7,就能获得一个以类型、模块、文件分组的引用列表。
随着Vue应用程序的大小增加,Vuex Store中的actions和mutations也会增加。本文,我们将介绍如何将其减少到易于管理的东西。...数据返回后,我们使用mutations将其存储在state中。这允许任何组件访问该数据。可以想象到,我们的store可以有大量的actions来处理这些API调用。...每个action都执行以下操作: 从API获取数据(必要时包括有效负载) 以state存储数据(可选) 返回对调用该action组件的响应 要将这些重构为单个(统一)操作action,我们需要知道action...检索到数据之后,将更新state变量currentWorkOrder。最后,数据将返回到进行调用的组件中。我们所有的actions都有这种格式。...此单个action将处理每种可能的调用。
(此功能光标在行首时有效) Shift+Enter 在当前行的下面插入新行,并移动光标到新行 Ctrl(Command)+J 自动代码 Ctrl(Command)+Alt(Option)+T...折叠/展开当前花括号中的代码 Ctrl(Command)+ ] / [ 跳转到代码块结束/开始处 F2 或 Shift+F2 高亮错误或警告快速定位 Ctrl(Command)+Shift+...F6 重构-重命名 Ctrl(Command)+Alt(Option)+M 提取代码组成方法 Ctrl(Command)+Alt(Option)+C 将变量更改为常量 Ctrl(Command...)+P 将变量更改为方法的参数 调试 按键 说明 F8 跳到下一步 Shift+F8 跳出函数、跳到下一个断点 Alt(Option)+Shift+F8 强制跳出函数 F7 进入代码...F9 强制运行至光标处 Ctrl(Command)+F2 停止运行 Alt(Option)+F8 计算变量值 ---- VCS |按键|说明| |Alt(Option)+ ~| |VCS
它的功能是“快速操作和重构”。你几乎可以在任何代码上使用这个快捷键来快速修改你的代码。 比如修改命名空间: 图片 比如提取常量或变量: 比如添加参数判空代码: 还有更多功能都可以使用此快捷键。...而且因为 Roslyn 优秀的 API,有更多扩展可以使用此快捷键生效,详见:基于 Roslyn 同时为 Visual Studio 插件和 NuGet 包开发 .NET/C# 源代码分析器 Analyzer...将光标定位到下一个方法 Alt + 上 在当前文件中,将光标定位到上一个方法 Ctrl + M, Ctrl + M 将光标当前所在的类/方法切换大纲的展开或折叠 Ctrl + M, Ctrl + L...书签 Ctrl + K, Ctrl + K 为当前行加入到书签或从书签中删除 Ctrl + K, Ctrl + P 切换到上一个书签 Ctrl + K, Ctrl + N 切换到下一个书签 Ctrl +...图片 另外,还有个任务列表,跟书签列表差不多的功能: Ctrl + K, Ctrl + H 将当前代码加入到任务列表中或者从列表中删除(效果类似编写 // TODO) 图片 显示 Ctrl + R
今天,我们将探讨一些可以帮助您更好地重构代码的技巧。 如何重构 在寻找重构的技术之前,让我们看看如何将代码重构集成到编码过程中。以下建议可用于此目的: 专门为重构代码分配时间。...技术1:提取方法 此方法包括将代码块转换为单独的方法/函数。这样做是为了改进代码的结构和可读性。它是通过将长而复杂的代码块提取成更小、更易于管理的方法来实现的。...要使用这种技术,我们首先需要找到一个复杂的特定任务的代码块。然后我们提取其中的代码并将其放入一个新的方法中。此外,请确保为该方法指定一个有意义的名称。...将硬编码的值转换为具有有意义名称的变量肯定会帮助其他人理解它。此外,您可以添加注释以进行进一步解释。它还可以帮助调试并降低将来出现错误的风险。...重复或相同的代码可能出现在不同位置的代码中。
√ Ctrl + Shift + [ 选中从光标所在位置到它的顶部中括号位置 √ Ctrl + Shift + ] 选中从光标所在位置到它的底部中括号位置 √ Ctrl + Shift + + 展开所有代码...√ Ctrl + Shift + 左键单击 把光标放在某个类变量上,按此快捷键可以直接定位到该类中 √ Ctrl + Shift + 左方向键 在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置...Edition 版专用,需要在 Keymap 中设置) 三、Usage Search(使用查询) 按键 说明 ⌥F7 / ⌘F7 在文件中查找用法 / 在类中查找用法 ⌘⇧F7 在文件中突出显示的用法...⌃0…⌃9 定位到对应数值的书签位置 ⌘F3 显示所有书签 七、Refactoring(重构) 按键 说明 F5 复制文件到指定目录 F6 移动文件到指定目录 ⌘⌫ 在文件上为安全删除文件,弹出确认框...(可用于搜索类中的方法) 通用 按键 说明 ⌃⌘F 切换全屏模式 三、高清 pdf 版本 获取方式,扫码发送:idea
返回结果是存储到第三个参数所指向的结构体变量地址。...返回结果是存储到第三个参数所指向的结构体变量地址。...返回结果是存储到第三个参数所指向的结构体变量地址。...返回结果是存储到第三个参数所指向的结构体变量地址。...GIF图片 绘制加载到存储器的GIF图片主要是通过函数GUI_GIF_DrawSub来实现,下面我们分2步来说明如何将SD卡中的GIF图片显示到LCD上面。
构造方法一般主要是看下构造的时候都做了哪些事情,可以从变量初始化上做个了解。 public方法 主要就是看下它对外给出了哪些方法,可以让我们了解它能对外做出什么反应。...,此时可以假设我们按下一直没有释放,时间到后触发此Runnable) 我们一睹mCheckLongPress芳容 如果按下了,长按了,调用performLongClick 触发onlongclick消息...我们使用此方法,可以不用断点的方式,就可以将我们的目标缩进,能够追到真正需要的代码。...: 到达目的地,我们找到了是如何将虚拟按键加入布局的了,也知道怎么显示出来了(mWindowManager.addView),如此我们明白了,虚拟按键通过NavigationBarView.java包裹了一个...B在recent 的 KeyButtonView.java里面,up有段代码,判断了是否有mCode,如果有,则会在长按后在释放按键时触发send,而如果没有mCode,则没有动作,因此我们可以修改此处的
| 常规 | 智能按键)中添加了一个专属页面,用于配置和编辑 Markdown 偏好设置。...改进了 Extract Method(提取方法)重构 借助一个新选项,即使所选代码段具有多个需要返回的变量,升级的 Extract Method(提取方法)重构也可应用。...在这些情况下,IDE 会首先建议将变量包装到一个新的记录或 Bean 类中,然后执行方法提取。 4....例如,分支被分组并存储在可扩展列表中,导航更加轻松。 4....插件提供基本功能,包括语法高亮显示、带自动导入的代码补全、重构、导航、正确的格式设置等。 2.
√ Ctrl + Shift + [ 选中从光标所在位置到它的顶部中括号位置 √ Ctrl + Shift + ] 选中从光标所在位置到它的底部中括号位置 √ Ctrl + Shift + + 展开所有代码...√ Ctrl + Shift + 左键单击 把光标放在某个类变量上,按此快捷键可以直接定位到该类中 √ Ctrl + Shift + 左方向键 在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置...Edition 版专用,需要在 Keymap 中设置) 三、Usage Search(使用查询) 按键 说明 ⌥F7 / ⌘F7 在文件中查找用法 / 在类中查找用法 ⌘⇧F7 在文件中突出显示的用法...⌃0…⌃9 定位到对应数值的书签位置 ⌘F3 显示所有书签 七、Refactoring(重构) 按键 说明 F5 复制文件到指定目录 F6 移动文件到指定目录 ⌘⌫ 在文件上为安全删除文件,弹出确认框...版本控制/本地历史记录) 按键 说明 ⌘K 提交代码到版本控制器 ⌘T 从版本控制器更新代码 ⌥⇧C 查看最近的变更记录 ⌃C 快速弹出版本控制器操作面板 九、Live Templates(动态代码模板
译码器,学会解码或重新构造编码表示到数据的层接近输入数据。 为了学习最好的编码和解码,自编码器的目标是使重构误差最小化,重构误差基本上是重构数据和输入数据之间的差值。 ?...CelebA数据集的潜在空间插值 但是VAE是如何将模型优化成这样的呢? ? 潜在空间 可变自动编码器以概率方式(分布)编码输入的潜在属性,而不是像普通的自动编码器那样以确定性方式(单值)编码。...如何存储分布? 当我知道VAE将潜在变量存储为概率分布时我首先想到的问题是如何存储一个分布。 我们做了一个重要的假设来简化这个过程。我们假设潜在分布总是高斯分布。...我们将把x表示为输入数据,把z表示为潜在变量(编码表示)。在普通的自编码器中,编码器将输入x转换为潜在变量z,而解码器将z转换为重构的输出。...而在可变自编码器中,编码器将x转换为潜在变量p(z|x)的概率分布,然后对潜在变量z随机采样,再由解码器解码成重构输出。 ? 自编码器(确定性)和可变自编码器(概率性)的区别。
Eclipse的用户在把玩IDEA的时候通常都不会意识到这个不同点,因为他们习惯了以Eclipse模式工作。 为何我如此确信? 在开始说明之前,让我解释一下我是谁和为什么我的观点值得一听。...例如,我们开始如下一行代码: assertElement(By.id("errorMessage"), vi 现在我们想要查找以vi开头的选项有哪些。 IDEA怎么做的呢?...无需等待任何的按键,它马上就能理解assertElement需要一个Conditaion类的示例作为第二个参数,而在Condition类中有一个静态变量名叫visible。...因此当你按下“神圣”的Ctrl+Space时,Eclipse只会简单的显示全局中以vi字母开头的一切。 ? 在一个美丽的弹出框中我看到了很多漂亮的高亮的格式规范的无用的信息。...它考虑到方法名称,变量类型甚至是变量值,以及其他的此类变量的名称,与之前你给定的此变量的名称,除了忽略了你的生肖。相信我,你会想说“Wow,IDEA也能这样?”,我想说至少每个月一次吧。
Eclipse的用户在把玩IDEA的时候通常都不会意识到这个不同点,因为他们习惯了以Eclipse模式工作。 为何我如此确信? 在开始说明之前,让我解释一下我是谁和为什么我的观点值得一听。...例如,我们开始如下一行代码: assertElement(By.id("errorMessage"), vi 现在我们想要查找以vi开头的选项有哪些。 IDEA怎么做的呢?...无需等待任何的按键,它马上就能理解assertElement需要一个Conditaion类的示例作为第二个参数,而在Condition类中有一个静态变量名叫visible。...因此当你按下“神圣”的Ctrl+Space时,Eclipse只会简单的显示全局中以vi字母开头的一切。 ? 在一个美丽的弹出框中我看到了很多漂亮的高亮的格式规范的无用的信息。...它考虑到方法名称,变量类型甚至是变量值,以及其他的此类变量的名称,与之前你给定的此变量的名称,除了忽略了你的生肖。 相信我,你会想说“Wow,IDEA也能这样?”,我想说至少每个月一次吧。
Eclipse的用户在使用IDEA的时候通常都不会意识到这个不同点,因为他们习惯了以Eclipse模式工作。 为何我如此确信? 在开始说明之前,让我解释一下我是谁和为什么我的观点值得一听。...例如,我们开始如下一行代码: assertElement(By.id("errorMessage"), vi 现在我们想要查找以vi开头的选项有哪些。 IDEA怎么做的呢?...无需等待任何的按键,它马上就能理解assertElement需要一个Conditaion类的示例作为第二个参数,而在Condition类中有一个静态变量名叫visible。...因此当你按下“神圣”的Ctrl+Space时,Eclipse只会简单的显示全局中以vi字母开头的一切。 ? 在一个美丽的弹出框中,我看到了很多漂亮的高亮格式的无用的信息。...它考虑到方法名称,变量类型甚至是变量值,以及其他的例如:此类变量的名称,与之前你给定的此变量的名称。相信我,你会想说“Wow,IDEA也能这样?”,我想说至少每个月一次吧。
只需要修改plane.py中的update方法 重构game_func.py中的check_events函数 随着小飞机的功能愈来愈多,现在将check_events重构为3个函数,捕捉用户按键和用户松开键分别定义两个函数...重构后的check_events ?...Bullet类继承于pygame.sprite中的Sprite类,此类可以将游戏中的元素进行编组,可以同时操作编组中的所有元素 将子弹存储到编组中 首先在plane_war.py中创建一个编组,用于存储所有有效的子弹...在check_keydown_events函数体中增加一个判断即可 简化plane_war.py中的while语句 将发射子弹移步到game_func.py文件中并创建一个update_bullets...此时的while语句中就4行代码 ?
12.8.3 将子弹存储到编组中 定义Bullet类和必要的设置后,就可以编写代码了,在玩家每次按空格键时都射出一发子弹。...玩家按空格键时,创建一颗新子弹(一 个名为new_bullet的Bullet实例),并使用方法add()将其加入到编组bullets中(见2);代码 bullets.add(new_bullet)将新子弹存储到编组...12.8.7 创建函数 update_bullets() 编写并检查子弹管理代码后,可将其移到模块game_functions中,以让主程序文件 alien_invasion.py尽可能简单。...请再次运行alien_invasion.py,确认发射子弹时依然没有错误 12.9 小结 在本章中,你学习了:游戏开发计划的制定;使用Pygame编写的游戏的基本结构;如何设 置背景色,以及如何将设置存储在可供游戏的各个部分访问的独立类中...;如何在屏幕上绘制图像, 以及如何让玩家控制游戏元素的移动;如何创建自动移动的元素,如在屏幕中向上飞驰的子弹, 以及如何删除不再需要的对象;如何定期重构项目的代码,为后续开发提供便利。
领取专属 10元无门槛券
手把手带您无忧上云