首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分享几个 AutoHotKey 脚本:一键切换IDEA多行标签页等

单行模式下,拖拽时自动滚动很慢,而且一旦误操作,容易错误地把标签页拿下来,再放上去的时候,却变成了同一行的最后一个,很糟心。还是多行标签页重排起来比较轻松。...设置按钮位于 File -> Settings -> Editor -> Eidtor Tabs(这么长的路径…),也可以右击任意一个标签,选“Configure Eidtor Tabs…”打开的设置会遮挡住...可以暂时关闭对于按键的拦截,稍后再恢复,其间可以调用按键原来的功能:; 如果是 ~F1:: 则不会拦截,但是两种功能会同时发生F1::IfEqual TStart, vscode.ahk{Reload;...重载脚本……}else { ; 如果没有打开“脚本名称.ahk”,则调用原来的功能。...如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~开源地址码云地址:http://github.crmeb.net/u/defuGithub 地址:http://github.crmeb.net

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    strtok()函数的使用以及注意事项

    第n次)的调用中将strtok的第一个参数赋为空值NULL(表示函数继续从上 一次调用隐式保存的位置,继续分解字符串;对于前一次次调用来说,第一次调用结束前用一个this指针指向了分界符的下一位)...2.若要在第一次提取子串完毕之后,继续对源字符串s进行提取,应在其后(第二次,第三次。。。第n次)的调用中将strtok的第一个参数赋为空值NULL。...由上图可以看到,第一次之后的调用我们都给strtok的第一个参数传递了空值NULL(表示函数继续从上一次调用隐式保存的位置,继续分解字符串;对于上述的第二次调用来说,第一次调用结束前用一个this指针指向了分界符的下一位...至于为什么要赋空值,要么你就记住结论,要么去查strtok的源代码。本文的最后会有一些介绍。 当然也有部分爱钻牛角尖的人,非不按套路出牌,要看看不赋空值继续赋值为buffer会有什么结果。...调用strtok后buf的值为 因为没有找到,源字符串buffer没有发生改变,buf指向源字符串的首地址,打印输出的值为整个字符串的完整值。 什么时候函数的返回值为空值NULL呢?

    1.7K20

    strtok独到深刻的讲解「建议收藏」

    中的字符为分界符,将s切分成一个个子串;如果,s为空值NULL,则函数保存的指针SAVE_PTR在下一次调用中将作为起始位置。...函数的返回值为从指向被分割的子串的指针。 这个定义和国内一些网站上的说法有一些差别,正是这些差别导致很多人对strtok没有一个正确的认识。...2.若要在第一次提取子串完毕之后,继续对源字符串s进行提取,应在其后(第二次,第三次。。。第n次)的调用中将strtok的第一个参数赋为空值NULL。...由上图可以看到,第一次之后的调用我们都给strtok的第一个参数传递了空值NULL(表示函数继续从上一次调用隐式保存的位置,继续分解字符串;对于上述的第二次调用来说,第一次调用结束前用一个this指针指向了分界符的下一位...调用strtok后buf的值为 因为没有找到,源字符串buffer没有发生改变,buf指向源字符串的首地址,打印输出的值为整个字符串的完整值。 什么时候函数的返回值为空值NULL呢?

    68810

    strtok 函数

    delim — 包含分隔符的 C 字符串。 返回值 该函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。 实例 下面的实例演示了 strtok() 函数的用法。...第n次)的调用中将strtok的第一个参数赋为空值NULL(表示函数继续从上 一次调用隐式保存的位置,继续分解字符串;对于前一次次调用来说,第一次调用结束前用一个this指针指向了分界符的下一位)...2.若要在第一次提取子串完毕之后,继续对源字符串s进行提取,应在其后(第二次,第三次。。。第n次)的调用中将strtok的第一个参数赋为空值NULL。...由上图可以看到,第一次之后的调用我们都给strtok的第一个参数传递了空值NULL(表示函数继续从上一次调用隐式保存的位置,继续分解字符串;对于上述的第二次调用来说,第一次调用结束前用一个this指针指向了分界符的下一位...调用strtok后buf的值为 因为没有找到,源字符串buffer没有发生改变,buf指向源字符串的首地址,打印输出的值为整个字符串的完整值。 什么时候函数的返回值为空值NULL呢?

    58320

    java中那些让你傻傻分不清楚的小细节

    不过,千万注意,切勿使用如下写法: source.replace("\\*", "C") 这种写法会导致字符串无法替换。 还有个小问题,如果我只想替换第一个匹配的字符串该怎么办?...不知道你在项目中有没有见过,有些同事对Integer类型的两个参数使用==比较是否相等? 反正我见过的,那么这种用法对吗? 我的回答是看具体场景,不能说一定对,或不对。...该方法会返回一个multipleResultsList集合对象,在方法刚开始就new出来了,肯定是不会为空。...答案是否定的。 为什么呢? jdk官方说了不存在的情况会返回-1 ? indexOf方法返回的是指定元素在字符串中的位置,从0开始。...而上面的例子#在字符串的第一个位置,所以调用indexOf方法后的值其实是0。所以,条件是false,不会打印do something。

    60531

    NoneType 的实现,原因和细节

    以下是对 NoneType 的实现、原因和细节的详细解释。1、问题背景我最近在某个地方读到,Python 中的特殊值 None 是其自己的类(具体地说是 NoneType)的一个单例对象。...当你尝试创建一个新的 None 实例时,你得到的只是一个指向已存在的 _Py_NoneStruct 的引用。这就是为什么无论你做什么,对 None 的每个引用都是完全相同的原因。...方法 2:为什么 n 与 None 是完全相同的对象?C 实现保留了一个单例实例。NoneType.new 返回单例实例。为什么语言被设计成 n 与 None 是完全相同的对象?..._instance对于字符串,你可以在 Python 2 中调用 intern,或在 Python 3 中调用 sys.intern。...例如,如果函数通常返回集合类型的值,那么在异常情况下返回 None 可能导致调用者在未进行空值检查的情况下尝试操作结果,从而引发错误。在这种情况下,返回一个空的集合可能是更安全的做法。

    14410

    以淘宝店铺为例,谈谈 TypeScript ESLint 规则集考量

    await-thenable 只允许对异步函数、Promise、PromiseLike 使用 await 调用 为什么:避免无意义的 await 调用。...为什么:没有父类型的空接口实际上就等于 {},虽然我不确定你使用它是为了什么,但我能告诉你这是不对的。...tmp 为什么:冗余 no-non-null-asserted-optional-chain 不允许非空断言与可选链同时使用:foo?.bar! 为什么:和上一条规则一样属于冗余,同时意味着你对 !...为什么:抛出的 Error 实例能够自动的收集调用栈信息,同时借助 proposal-error-cause[3] 提案还能够跨越调用栈来附加错误原因传递上下文信息,不过,真的会有人直接抛出一个字符串吗.../index.module.scss"; restrict-template-expressions 模板字符串中的计算表达式其返回值必须是字符串,此规则可以被配置为允许数字、布尔值、可能为 null

    2.7K30

    JSON.stringify()与JSON.parse()

    我们接着往下看,看看还有什么什么黑魔法无法序列化错误对象,错误对象将会被转为为空对象// 创建了一个错误对象const err = new Error('错的不是我,而是这个世道。')...因为它会将日期对象最后变成字符串。从而导致之前的日期方法不能够调用。...毕竟他们俩是一对好基友JSON.parse() 方法用于将一个 JSON 字符串转换为对象。那什么是 JSON字符串呢?...这也是为什么许多程序环境能够读取(解读)和生成 JSON。JSON.parse(jsonStr,function)参数说明:jsonStr:必需, 一个有效的 JSON 字符串。...比如,一个单一的字符串或者数字或者一个空数组可以是合法的 JSON 对象。这一点(第3点)很多人认为与第2点互相矛盾。第二点不是说的是键值对key和value吗?

    12710

    Stack Overflow 上 370万浏览量的一个问题:如何比较 Java 的字符串?

    我们来回顾一下提问者的问题: 截止到目前为止,我一直使用“==”操作符来比较字符串,直到程序出现了一个 bug,需要使用 .equals() 方法来解决。这是为什么呢?...至于为什么,书本和老师都没有帮我搞清楚。 那借此机会,我就来梳理一下 Stack Overflow 上的高赞答案,我们来一起学习进步,打怪升级。...第四种: "小萝莉" == "小萝莉" // --> true 字符串常量池中只会有一个对象,所以返回 true。...1)Objects.equals() Objects.equals() 这个静态方法的优势在于不需要在调用之前判空。...= null && a.equals(b)); } 如果直接使用 a.equals(b),则需要在调用之前对 a 进行判空,否则可能会抛出空指针 java.lang.NullPointerException

    48630

    99%的Java程序员会踩的6个坑

    用==号比较的坑 不知道你在项目中有没有见过,有些同事对Integer类型的两个参数使用==号比较是否相等? 反正我见过的,那么这种用法对吗? 我的回答是看具体场景,不能说一定对,或不对。...,判断一下,如果用户信息为空,则直接返回。...如果引用不相等,则判断a是否为空,如果a为空则返回false。 如果a不为空,调用对象的equals方法进一步判断值是否相等。 这就要从Integer的equals方法说起来了。...还有个小问题,如果我只想替换第一个匹配的字符串该怎么办?...最后,统计一下,这些坑一个都没踩过的同学,麻烦举个手。 最后说一句(求关注,别白嫖我) 如果这篇文章对您有所帮助,或者有所启发的话,帮忙关注一下,您的支持是我坚持写作最大的动力。

    49020

    【Java】基础15:字符串与static

    按照我的理解它就相当于是一本字典,计算机语言的字典。 只不过我们平时所理解的字典,要么汉字,要么英文单词,在Java语言里就是一个个类,接口等,其实它们本质上是差不多的。 ?...为什么平时很少需要使用到汉字字典? 因为这么多年的生长环境,很多常用的字都融会贯通了。 为什么我还需要时常查阅API? 因为我对API中的类基本都还没啥接触。...前面还没有系统地学习过它,就已经接触过好多回了,毕竟它太常见了,常见频率大概就和中文中吃饭的饭字差不多吧。 String的创建方法: ? 空参构造:值为空。 字符数组构造方法。...这些类我们需要调用它的成员方法时,先得new出对应的一个对象,然后再用这个对象去调用对应的方法。 ?...static的作用就是让这个类中的成员方法和成员变量,用类名直接就可以调用,不用new一个对象,操作起来非常方便,但相对的也就不安全,所以一般都是一些可以共享的信息才会用到static。

    40620

    Java 8中Stream API的这些奇技淫巧!你都Get到了吗?

    3、只要给出需要对其包含的元素执行什么操作,比如 “过滤掉长度大于 10 的字符串”、“获取每个字符串的首字母”等,Stream 会隐式地在内部进行遍历,做出相应的数据转换。...为什么要使用Stream 1、函数式编程带来的好处尤为明显。这种代码更多地表达了业务逻辑的意图,而不是它的实现机制。易读的代码也易于维护、更可靠、更不容易出错。 2、高端 实例数据源 ?...> mapper); (3) map和flatMap的区别:我个人认为,flatMap的可以处理更深层次的数据,入参为多个list,结果可以返回为一个list,而map是一对一的,入参是多个list,结果返回必须是多个...调试 1、list.map.fiter.map.xx 为链式调用,最终调用collect(xx)返回结果 2、分惰性求值和及早求值 3、判断一个操作是惰性求值还是及早求值很简单:只需看它的返回值。...如果返回值是 Stream,那么是惰性求值;如果返回值是另一个值或为空,那么就是及早求值。使用这些操作的理想方式就是形成一个惰性求值的链,最后用一个及早求值的操作返回想要的结果。

    97030

    Java 8中Stream API的这些奇技淫巧!你都Get到了吗?

    3、只要给出需要对其包含的元素执行什么操作,比如 “过滤掉长度大于 10 的字符串”、“获取每个字符串的首字母”等,Stream 会隐式地在内部进行遍历,做出相应的数据转换。...为什么要使用Stream 1、函数式编程带来的好处尤为明显。这种代码更多地表达了业务逻辑的意图,而不是它的实现机制。易读的代码也易于维护、更可靠、更不容易出错。 2、高端 实例数据源 ?...> mapper); (3) map和flatMap的区别:我个人认为,flatMap的可以处理更深层次的数据,入参为多个list,结果可以返回为一个list,而map是一对一的,入参是多个list,结果返回必须是多个...调试 1、list.map.fiter.map.xx 为链式调用,最终调用collect(xx)返回结果 2、分惰性求值和及早求值 3、判断一个操作是惰性求值还是及早求值很简单:只需看它的返回值。...如果返回值是 Stream,那么是惰性求值;如果返回值是另一个值或为空,那么就是及早求值。使用这些操作的理想方式就是形成一个惰性求值的链,最后用一个及早求值的操作返回想要的结果。

    58310

    Java新手极简指北手册

    ——Snepscheut 为了方便阅读,把本系列帖子的目录整理如下: 1 对算法和数据结构不熟悉 为什么我先拿“数据结构和算法”说事捏?这玩意是写程序最最基本的东东。...我手下有些个 Java 程序员,对 Spring、Hibernate 等框架了如指掌;但如果给他一个简单需求,让他写一个脱离 Web 框架的独立 Application,他就不知所措了。...这种做法会导致如下几个问题: 返回值一般用整数值或布尔值表示,传递的信息过于简陋; 一旦调用者忽略了错误返回码,就会导致和“空 catch 语句块”类似的问题; 对同一个函数的多处调用,都需要对返回值进行重复判断...为了便于理解,下面我举一个例子来说明。假设你要写一个 Download 函数,根据传入的 URL(String 参数)返回对应网页的内容文本。...并且 Download 函数的调用者必须捕获该异常并进行相应的处理(比如提示用户重新输入 URL)。 上面就是几种常见的Java异常处理的误用。下一个帖子我们来聊一下“对虚拟机(JVM)了解不足”。

    1.1K10

    关于数字的前端面试题

    所以字符串“666”的返回值为true,因为他可以转化为数字,而字符串“what?”不能转换为数字,故返回值为false。 那既然无法用isNaN来检测一个值是否为NaN,那么该如何做?...4.对于一个数字进行取整,你能说出多少种方法? parseInt()这个方法你肯定能想到。但你可能想不到他的坑还真不少,未必是无懈可击的方法。 在最后一个问题中,我在详细解答。...大家已经知道了是先调用valueOf(),再调用toString()方法,那么空数组和[1,2,3]有什么区别呢?...因为数字的valueOf()方法返回的是数组本身,不是一个基本类型,所以还会调用toString()方法;而数组的toString()方法返回的是数组各项通过逗号拼接一起的字符串(可以理解调用了Array.prototype.join...(",")方法),所以空数组返回空字符串,转换为数组自然就是0;而数组[1,2,3]则只能转换为NaN了.

    1.4K60

    Controller中的请求,private和public有什么区别?

    后来一个同事比较认真,第二天早上测试后发现报错了,给我反馈说 private 方法的内部注入的 service 为 null,修改成 public 后就不会为 null。为什么会产生这个问题呢?..."业余草"字符串」 测试和公司环境还有一个不太同的就是公司项目中有 Aop 切面处理访问日志的,还要添加一个 Aop。...Aop 后测试: /testA返回"业余草"字符串 /testB访问报错,service注入失败,为null 为什么使用 Aop 会导致 private 修饰的方法注入失败,查询了许多资料,网上有人说到...最后经过我的一番折腾与调试之后,发现: 使用了 aop,也就是使用动态代理,你的 SpringBoot 版本为 2.1.4 release,底层默认调用的是 cglib 作为动态代理。...其本质是:调用某个类的方法时,实际上是先为该类生成一个子类,然后再在子类中通过反射等,达到方法拦截的目的。

    1.8K20

    探究Java8的Optional 类

    super predicate) 如果值存在,并且这个值匹配给定的 predicate,返回一个Optional用以描述这个值,否则返回一个空的Optional。 6....super T,Optional> mapper) 如果值存在,返回基于Optional包含的映射方法的值,否则返回一个空的Optional 7.int hashCode() 返回存在值的哈希码,...extends X> exceptionSupplier) 如果存在该值,返回包含的值,否则抛出由 Supplier 继承的异常 15.String toString() 返回一个Optional的非空字符串...non-null, otherwise an empty {@code Optional} 如果值是null 返回一个为空的Optional对象 和上面对比一下: 第一种为什么还会存在:如果确定对象不为...' 03 — Optional注意事项 首先我们知道Optional是解决null安全问题的一个API 然后是安全的链式调用,而不是一层层判断了,它摒弃以前需要大量的非空判断模板代码。

    97840

    帮你彻底弄懂 JavaScript 类型转换

    问:为什么 [1, 2, 3].map(parseInt) 返回 [1,NaN,NaN]? 答:parseInt函数的第二个参数表示要解析的数字的基数。该值介于 2 ~ 36 之间。...如果字符串中只包含十六进制格式,那么就转换为对应的十进制数字。 如果字符串为空,那么转换为0。 如果字符串包含上述之外的字符,那么转换为 NaN。...我来翻译一下这段话。 ToPrimitive 方法接受两个参数,一个是输入的值 input,一个是期望转换的类型 PreferredType。...如果引用类型上有 @@toPrimitive 方法,就调用 @@toPrimitive 方法,执行后的返回值为原始类型就直接返回,如果依然是对象,那么就抛出报错。...'hello ',而b由于没有指定preferredType,所以会默认被转为 number 类型,先调用 valueOf,但 valueOf 还是返回了一个空对象,不是原始类型,所以再调用 toString

    75810
    领券