粉丝581获赞2821


本教程适用于 jet brands 全家桶。 在埃迪尔中,我们可以通过选项卡进行文件跳转,但在选项卡很多的时候,选项卡会变得难以查找埃迪尔最近的文件,这项功能可以很好的解决这项问题。 按下 ctrl e, 弹出最近的文件对话框,再按一次 ctrl e, 只显示有被修改过的文件。 当文件很多时,可以输入文件名快速搜索,按下回车进行跳转。 点击右边的小图标,或者按下 shift enter, 文件会在右侧新的选项卡中打开。 在熟练掌握 ctrl e 后,我们可以隐藏选项卡,把界面变整洁一些。

行了,刚才一大堆配置啊,你说配置那些东西要说记住,我一个也没记住, 我也不知道我都配了些啥,对吧?哎,实实际上那些呢?嗯,大家需要用到的时候用到的概率也不高,对吧?因为你一共能配置几次,你就来这文档查,但是实际上查文档啊,其实还不如百度来的快, 听懂吧。哎,就是当你需要有一个设置一个什么小东西的时候,你忘了在哪了,那就百度一下啊,很快的啊,很快,其实你说现在设置完了之后啊,让我下一次再来一来再设置几个地方,其实我也很难找得到, 对吧?因为你一旦设置好了一次啊,他就好久之后可能才会设置下一次,但是你下一次设置的时候就忘了我,我是这样,对吧?我是这样,主要是呢,最主要的是 大家别脱离一个点,就是什么呢?他是方便我们开发的啊,使我们开发更快一点啊,所以说他给我们提供了一些能够帮助我们开发的一些功能啊,比如说现在接下来我们要讲的这个就比较重要了啊,哎,这个叫做 debug 调试, 那这就是人家工具给我们提供的能够更加便于我们开发的一个一个功能,叫做 debug。 debug 是干什么的呢?就是说白了就是找错呗,怎么怎么找错呢? 比如说呀,以前咱们是不是捋过这个循环啊?之前咱们写一个小算法的时候,打印点东西的时候,对吧?打印质数的时候是不是就捋过循环呢?说什么当 i 等于一十,然后经过运算输出的结果是几?当 i 等于二十,输出的结果是几?那时候咱们是不是就是口算然后化 啊?当一挨等于零时,怎么怎么样?然后执行到哪,然后再执行到哪,然后在这输出的时候应该输出几,是不是之前口算去屡我们程序的执行流程, 对吧?哎,通过口算去履程序的执行流程,那么实际上呢?人家现在呢,用了这个工具以后,人家给我们提供了 debug, 它可以自动的去帮我们只履这个执行流程,而且每一步执行到 到了哪,然后你想让程序在哪停,然后呢?当执行程序执行到某一步的时候,这里应该是一个什么样的值啊?变量变成了什么样的值,他都给你有个提示,这就是你爸方便我们调错。因为之前也跟大家说过,咱们讲参数执算地的时候,未来咱们写的项目 庞大的时候,某一个参数我们来来回回传,来来回回传,在这负了个值,在这负了个值,在这负了个值,对吧?那到最后的 时候可能出现了问题,出现问题呢?就是那这在中间哪个环节出现了问题,在中间哪个环节没负上值呢? 那要是我们自己啊,一个一个的往上翻,往上找,那太麻烦了,那怎么办呢?我们可以利用这个 debug 工具干嘛呢?哎,当程序在这复值的时候,哎,我们停一下,看看我那个变量到这值是什么, 然后呢?到这的时候呢?让这个程序停一下,然后看看到这我那个变量值变成了什么,然后最终输出个什么结果, 对吧?哎,就是在哪一步导致问题的发生,在哪一步负值的时候负了个错误的值等等,类似于这样的情况,这就是 debug 干的事,听懂吧?哎,咱们当然现在没有那么庞大的项目,暂时就用一个循环来充当一下,比如 说,哎等于零,哎,等于一百,哎,哎,等于零,哎,小一百,对吧?然后呢,我们在这里啊,随便输出一个就是,呃,这样写吧,就是 int number 等于二, i 减二,对吧?然后 says out 一下这个 number 的值,听懂吗?那么如果我现在程序正常执行的话,我这一执行,他是不是把所有的值给我打印呐,对吧?哎,把所有的这个偶数给我都打印了一遍, 别二一加二有点复杂,就直接挨的值得了,对吧?右键运行,他是不是一一瞬间就把一百个数给我打印了呀,对吧?哎,那假如说呀,有的时候呢,我他这一瞬间就打印了,有的时候我需要在这个过程中啊,这个 i 要参与运算,我需要 知道这个时候打印的时候 i 的值是多少,对吧? i 等于一时,这里经过运算是个什么样的效果? i 等于二时是个什么样的效果啊?那怎么实现这个呢?也就是说让程序运行的过程中啊,他能有停顿, 然后当执行到某个地方的时候呢,值有了什么变化,输出的结果应该是多少?哎,我要做这样一个操作怎么办?那就 debug, 比如说,那在这里他是打印输出的 i, 我要在这里加个断点,你就在他的前面这个位置点一下,这就打成了断点。 那么当程序运行的时候,他会每次执行到这个代码的时候,这句代码的时候,程序会在这停住,让你去好好的看看,挨到这,执行到这的时候挨的值是多少,听懂这意思吧。哎,那么我加了断点以后, 此时我再去右键注意加断点的话,那得用这个叫做 debug, 就不是直接运行了,叫做 debug。 hello, word 点妹啊, debug 啊,或者你点这个小虫子,因为啥 debug? 因为不就是排错的吗? bug 不就是虫子吗?排错, 听懂这意思吧。嗯,大家知道为什么这个,这个,我们说管这个程序的错误叫 bug 吗?你们想听故事吗?你们知道这个故事吗?为什么管这个我们程序中产生的错误呢?我们都统称为 bug, 知道为什么吗?因为好像听过,对吧?哎,学计算机的专业的应该都都听过,因为我们说最老式的计算机,或者说是,呃,全球第一台计算机啊,他实际上超级 极大啊,就是感觉好像是像,据说是房子那么大,那个是一个叫超级计算机,那是第一台计算机, 然后呢,当他这个计算机发生问题的时候呢?那他就去那么庞大的那台计算机中去找这问题是在哪发生的,怎么回事?怎么导致的,结果最终发现实际上导致计算机出现问题的是一个蟑螂,一只蟑螂导致的计算机发生的一个问题 啊,所以说呢,我们现在遗留到遗传到现在呢,就变成了找解决程序的问题,那就是找 bug, 看到吧,哎,找那只蟑螂, 那现在呢,我们要看蟑螂是不是在这发生的,每次程序执行到这的时候挨的值是什么,那么我们就用 debug 的形式运行右键运行,注意看,哎,不一样了,看我程序执行到这一句的时候是不是 行了呀?哎,他与此同时还告诉你,此时,哎,在这的时候值是多少?经过运算,你这里试图输出输出的值,哎,此时是多少? 看懂吧?是不?程序在这停了呀?那接下来这个循环,每次执行的流程以及每次输出的一个结果,每次运算的结果,你是不是就都可以看得到了? 听懂吧。哎,那怎么看呢?这里还有几个小按钮,咱们一个个说一下。第一个按钮呢,那就是执行下一步, 哎,就是正常我现在程序的那个执行流程,我一点他下一步该执行哪了?该执行右大括号,本次循环结束是吧?嗯,执行一下啊,啊,执行挨加加呀,是不执行挨加加啊,直接挨加加啊,到这此时挨还是零,那加加还没预算呢,我再来,完事了之后是不变成一啊,变成一,这里打印, 哎,也是一,然后呢,你就再下一步该哪又挨加加这一步,这不又回去了,循环吗?又回去了,然后挨变二,再回去啊,挨变三打印,再回去,挨变四打印,以此类推,在这里你都能看得到,与此同时,在这你也能看到当前变量的一个变化, 看懂吗?这以前我们说捋这个负循环,我们是不是口算捋啊,那能捋的明白吗?现在步骤少,之前步骤少还好,那当步骤多的时候,我们口算那是捋不明白的,那现在利用这个特别好, 能体会到吧,虽然我这个程序有点简单,因为咱们现在也没有什么复杂的程序,慢慢这个东西用着用着就熟悉了,对吧?哎,那你就执行执行执行执行执行,搞定吧。哎,那这就是下一步,下一步,下一步,下一步就可以了, 然后呢?还有什么呢?大家注意,现在呢,这里有两个向下的箭头,一个是蓝色的箭头,一个是红色的箭头,那么这俩是干嘛的呢?比如说现在我这里是不是调动了一个方法 print like 是方法吧,只不过是人家扎碗给我们内置的一个方法。 那有的时候想看看人家这个方法里边是怎么运行的啊?不想单纯的看这一层,我想一旦调用方法,我想看看方法体内人家是怎么运行的, 听懂吧。那么方法是不是分两种啊?一种是人家扎板给我们内置的方法吧,一种是不是我们也可以自定义方法,比如说我们 public steak white show, 然后在这里,在这里随便来点直吧,嗯,随便说出个一句话吧,对吧?嗯, 这是一个方法,对吧?是不是这方法也可以自定义啊?那么就有两个,如果说你想查看的方法是人家渣碗内置的方法,你就点这个红色向下的箭头, 如果你想查看的是我们自定义的方法,那么你就点蓝色的向下箭头,听到吧。哎,那我们就点点试试呗。现在我想看看这个 printline 方法中人家是 里边的原码是怎么执行的,执行流程是吧?那你就点红色向下的箭头进去啊,这时这时是不刚才把 x 等于十六传进来啊,对吧?所谓的 x, 那就是我把 i 的值是不是 传递给了 print li 方法,那么 print li 接收的这个 x 值就是十六,然后呢?他做了什么事,你又可以,是不是下一步一句一句执行啊?哎,那 一句一句上下执行啊,执行到这,打印个十六,执行到这 new 赖换行,那这个又是一个方法,假如说你还想再看看人家这个方法怎么写的,那你就再进去呗,哎,就点这个红色的再进去 啊,这样写的,然后直行到这,直行到这,直行到这。啊,原来是这样的,对吧?然后呢,那现在你看完了,我想退出这个方法,那就点向上的箭头, 那就出去,哎,回到了这,然后呢?再出去,又回到了否啊?然后呢,我们再看这 i 等于十六,然后再捋下一步,下一步,下一步,这样的进行,以此类推, 看懂吧?哎,那这时我想退出 debug 的模式,那你只需要点这个按钮就可以了啊,退出 debug 模式啊,那就退出了,程序也就结束了, 看懂吧。那么有的时候呢,比如说我再来一个,我是不是在这里又调用了这个自自定义的方法呀,对吧?哎,自定义的方法,那么此时呢, 我们也可以加个断点,然后呢右键再去 debug 来一次,然后呢,你直行,直行,直行,一步一步的执行,一步一步的执行,一步一步的执行,对吧?哎,那这时执行到这,哎,这是一个自定义的方法,那你是不是想看看人家这个方法是怎么生,里边怎么写的呀?那你就蓝色的按钮 进去啊,他是给我说出这样一句话,对吧?啊,下一步,下一步啊,下一步就回到这了,然后呢?哎,我再看一下再进去, 对吧?下一步,下一步,下一步啊,你不进去的话,那当然他就执行当前这个页面的后循环,对吧?你想进去的话,那就进去看,看完了之后啊,下一步,下一步,看懂吧。 哎,然后再这样,下一步,下一步,下一步是不是一直下一步啊?注意看感受这个事啊,然后比如说看到瘦方法,然后进去进去了吧,如果下一步的时候他是不是该给我到爱加加了呀?那比如说我要点这个的话干嘛呢?直接进入下一个断点,或者这个也是一样。 这俩按钮几乎有点类似啊,就是直接进入到下个断点,哎,直行看直接到下一个断点了啊, 我在这个也是到下一个段点,然后下一个段点下一个段点,下一个段点,下一个段点,下一个段点,看能看到效果吧,人家都给你标栏了。下一个段点,下一个段点,以此类推, 好吧。哎,那么比如说现在 i 是不是循环到三十三呢? i 循环到了三十三,那有的时候我就那中间我我就想看看当 i 等于 六十的时候,这个执行的一个效果,他计算的一个结果是什么?那我总不能一直点点到六十吧,哎,那么这时可以怎么办呢?你可以在这里去添加一些你需要的条件啊,你需要的一些条件啊,你在这你也可以加,你在这里在这个红色按钮上点右键, 其实也可以在这里去加条件,看到吗?哎,在这里加条件行,比如说,嗯,在在这加也可以,都是一样的,比如说当 i 等于嗯六十的时候,他是一个什么效果,对吧?那这个时候呢?我们到直行,哎, 没好使,没好使。注意啊,那我这个 debug 得重新开一下我后家的条件,他现在没好使,没好使的话呢?注意看刚 刚才是不是从头来的呀。那现在是吧,来个 debug。 直行,现在是零,然后呢?直行,直行。哎。 i 等于六十,那啊,加这是不是不好使啊? i 等于六十的时候等于 force, 我在这加 i 等于六十,完成,然后执行 九 i 等于六十, i 的值等于六十。 哎,我想想啊,他刚才断点是在这停了啊,注意啊,他没有问题啊,注意看我现在再来啊。直行 现在是不是就 i 等于六十了?我刚才在这打断点,他是发生什么了呢?我在这加个断点,他没好使。 哦,我明白了,没有啥意思呢,就是我在这里加个断点呢,他这个条件没满足,对吧?哎,条件没满足,所以说他不好使, 看到吧。哎,条件没满足,没满足,因为你在这里加了个条件,在这里绕入,在什么情况下才能停到这一句呢?是不是猜 i 等于六十的情况下才能停到这一句啊? 但是这个有条件,这个时候没条件呢,所以说现在他一直在这执行呢,看到吧,你看八十四,他现在没有到六十的几率了,所以说在这停不了了,听懂那意思吧。哎,重来一次啊, 注意现在是不是两个都有断点呢?都有断点,那右键啊,我们来个运行啊,那此时是啥呢?现在我整个程序运行的过程当中,对吧?现在 i 等于零,这是他没有等于六十,但是这句我也加了断点, 他并没有加条件,听懂吧。哎,那这时呢?刚才忽略了啊,那如果他要是再加一个等于六十,那么再看效果,我执行是不他六十了,因为他加条件是不等于六十执行啊,我到下个段点啊,那这也是等于六十执行,到这,那这时现在两个断点 是不是都有条件呢?那接下来就没有等于六十的机会了吧?那再完事的话就结束了,听懂吧。哎,那就是只看某一步的时候加一些条件也是可以的。 行了,那么以上呢,就是这个断点的调试啊,然后呢,至于每个按键呢,在这上边啊,他其实都有说明,对吧?哎,都有说明的啊,在这里每个按键都是干什么用的啊?这里都有说明啊,比如说这里是查看你已经设置的所有断点, 然后呢,取消使断点失效等等啊,然后呢,你在断点的过程中,你也可以添加一些啊,你需要的条件,然后去捋你的执行流程,还有一些设置,比如是否显示一些静态变量啊,常量啊,是否显示数组集合中的呃,什么某些 元素啊等等。当然这些咱们是不是还没学呢呀?后来这个,后面这个断点啊,知道这些的时候,断点大家用着用着就可以,当你发生 bug 的时候就来调一调即可,行了。

家外代码的程序员们,你们在项目中会不会经常写我们的一个代码注释呢?啊?一般来说,相信很多人是通过我们一个爱调中的一个就是注视模板啊,像这样, 嗯,这种注视方法,嗯,我觉得呢不够优雅,因为他这里还要去进行我们的一个手动的去,就是注视就不够高效。嗯,给大家先看一下我是怎么注视的吧。我先删掉这团注视, 然后通过我的一个快捷键,然后这里就可以给我们这个类,然后进行注释,并且将我们的一个就是中文注释给填,自动填上, 嗯,再给大家看一下我的下面的自断注视和我们的一个方法注视吧。先看一下我这个效果,我这里注视, 注视,注视,注视,可以看到我通过我的快捷键就能快速的给我们的一个自断以及方法,还有我们上面的类,然后进行我们一个注视,并且我这个注视,嗯,算得上比较 六六六吧,因为他能根据我们的一个就是英文名,然后准确的去进行我们一个中文注释,基本上是没有偏差的,只要我们的一个英文取得比较好,那基本上注释的信息我们是几乎是不用改的,就比较高效。 嗯,我这里是通过嗯, id 中的一个插件,嗯,给大家看一下这款插件吧,这款插件叫我们的一个,嗯, ec 加瓦 duc, 嗯,插件安装完之后,嗯,如果说大家对这个段注视就是不够满意,还想添加一些自定义的一个信息,比如说像添加我们的一个就是作者信息等等之类的,嗯,这款插件还支持我们的一个自定义注视, 就是说在他的一个其他设置里面,关于这个插件我们可以进行单独的一个配置, 嗯,他可以去进行我们一个自定义,像我们的一个内注视啊,方法就是属性注视,嗯,感兴趣的话可以去体验一下。 嗯,大家如果说有更好的,嗯,一个对代码注视的一个,嗯方法的话,可以评论分享一下,谢谢。

哈喽,大家好,我是加瓦小黄豆啊,那么第一步呢,创建一个新的 pro, 创建一个新的项目,然后第二步呢,我们选中这里的眉尾,然后的话呢接力 k 版本一点八,然后 nice, 注意这里什么都不要选啊, nice, 然后的话给出你的名称,然后的话给出你的这样一个阿迪 fex 的 gep id, 阿迪 fex id 以及莴笋啊,然后我这里都可以默认,然后呢非你, 那么第二步呢,就是把这个整体的眉纹给他配置一下啊,那么首先是 fel, fel 呢, sititsitits 里边的话呢,我们在这个地方呢,输入 maven m a v 音啊,然后的话找到这里, 找到这里来了之后,我们来看一看,这里有一个梅文候母,是吧?梅文候母的话呢,找到你这个梅文的这样一个存放的路径,我呢存放的 是 f 盘啊,然后的话呢第二步就是 usithreel, 然后就是这个没文的一配置文件,我的没文配置文件就在我的目录里面藏着债啊, 然后的话 f 盘的这个眉尾的这样一个康菲格里面的塞挺石就是他了,然后注意这边要打上勾勾啊,欧尔瑞的,然后的话呢,你这个本地仓库,那么我的本地仓库也在 f 盘,然后也打上勾勾啊,这些地址呢?这 要按你们的情况来设置啊,那么接下来我们就对这个碰点插面文件进行一些配置啊,好,那么碰点插麦文件的话,我们首先是要配置 jdk 的变音版本, jdk 的变音版本的话是一点八啊,他们他在这个 beaut 里面, 然后呢配的一个插件帕拉格印,然后的话配的 jdk 的版本呢?好,那么大家可以看我的 jdk 版本是一点八啊,所以说我要 配置成这样一个一点八的版本,在这,然后的话我们加上一个依赖啊,那么依赖的话就拍的立克斯,然后的话我们加上这个 sorry 的依赖啊, 那么索尔里特的依赖的话呢?尽量是去加这个四点零点幺的啊,哎,这个啊,然后叫我差点索尔里特点 ap i 啊,然后他们再加上一个依赖了,就是底盘的那一刻 gstl, 那么 gstl 的话呢?也就是我们的这样一个标签库,是吧?有这个家伙了啊,好,至少我们加这两个依赖就足够了啊。如果说你需要测试的话,你可以 加这个解忧力特啊,然后再接下来我们就要对这个整个项目呢目录做一个知识,我们要加一个这个歪不差秒进去啊,那怎么加呢?我们可以看啊,我们选中这样一个项目,然后在这里 flow 里面呢,选中这个 progx gex, 也就是项目的结构,在项目的结构里面,我们选中这样一个 model, 然后这个模块啊,在这个模块里边的话呢,我们点击一个加号啊,我们加上一个什么样的模块呢?我们加上一个外部模块啊, 加上卖外部模块之后,大家注意啊,他会默认的给我们来上一个外部的这样一个目录,然后里面有外部杠衣服,然后外部杠衣服里面有一个外部点擦秒, 然后的话呢,这个跟路径是杠啊,我们先用这个跟路径是杠,然后他会警告你注意这里有个警告,他说呢,这个目录还并不存在,你是不是要加好, ok, 我们创建一下子啊,然后创建完了 之后呢,他就会有一个阿里 fax, 阿里 fax 的话呢,然后呢我们在这里呢,我们可以看到一个他会输出这么一个目录,然后这是我们的原目录啊,好,我们先 这个碰的啊不对,然后 ok, 然后 ok 之后我们来看看整个的项目多了一个外部目录啊,注意这个外部目录他是和 sr 评级的,然后在外部目录里面有个外部音凤目录,外部音凤目录一个外部插苗,然后我们打开外部插苗,我们来看一看,这就是整个的他们开头的一个支撑啊, 那么紧接着我们在这个外部目录里面呢,我们新建一个 gsp 啊, gsp 文件做一个支撑,然后的话我们把 gsp 文件的名称取成 endx 啊,然后 endx 之后这里有一个 gsp 文件,我们把这些乱七八糟给他删掉,然后第一卡 讲的话呢,就是这个配件啊,然后的话呢,这不算是由 tf 杠八这他默认给我们的,哎呀,还是不错的啊。然后的话呢,我们要加上这样一个标签库进去啊, c 标签啊加一下, 然后我们加完 c 标签之后他是这个样子的啊,好,那么这里是红色的话呢,就因为我们这个眉尾啊 需要刷新哎,就点这个没有刷新一下就 ok 了啊,然后我们整个的这样一个标签库就进去了,进去之后呢,对这个我们目前的这个当前页面的这样一个标签库的支撑做了一个 ok 的啊, 做了一个 ok 的支撑,然后就是说标签库已经进去了,因为他变成一个绿色的了,然后随便写上一句话啊, ok, 然后这个 gsp 就 ok 了啊,那么紧接着的话呢,我们 sp 已经有了之后,我们就可以运行这样一个项目了,然后让这个汤 cat 可以启动,并且可以直接加载我们的 endxygsp。 那么这个时候的话呢,我们看在这里啊,在这个地方的话呢,我们就需要去 点这个加号啊,我们先点击这个 a、 d、 d, 看这个微信,添加一个环境,然后点这里一个加号,加一个什么样的环境呢?加上一个汤姆凯特斯瑞斯的环境啊,不要点错,然后点 loco, 本地的汤姆凯特, 点完本地的汤姆盖特之后,然后我们在这边的话呢,随便取上一个名字啊,当然也可以不取名字,是吧?然后的话呢,我们在这里呢要选中我们的本地鸡的汤姆盖特点这个康菲格瑞犬。那么 我的本地机的他们看到的话呢,是在 f 盘上面啊,然后的话呢目录也是在 f 盘上面啊,然后 ok 一下,那么你们的话可以自己选择一下你们的这样一个他们看到的目录在哪 啊?直接选中这个跟目录就可以了,然后 ok, 那么下面的话呢,这个他们看的贝斯目他会自动跟出来啊, ok, ok, 完毕了之后,这里要注意 选中第二项啊,然后下面呢要注意你的这样一个端口号,八零八零是不是一致的,然后选中第二项,选中第二项的话呢,我们这里有一个什么东西呢?我们添加一个加号, 好,在这里啊添加一个加号,加上我们的这个整个这个这个项目的阿里 fx, 还记得吗?这么一个东西啊,然后的话呢,我们加完了之后,我们再往下面, 再往下面的话呢,我们会把这个整个的这个啊,不是 kitty 抗泰克斯,也就上下文把它改掉啊,当然你要是不改的话,你要加这个项目名称的啊,就是这么个意思,我们把它改成一个盖,就代表着呢,我们可以不用加这个项目的名称啊,然后 ok, 然后 ok, 那么刚刚加的阿迪 faker 在哪呢?实际上啊,就在这个地方, 我们再往这边挪啊,挪到这样一个项目里边来,项目里边来了之后的话,大家还记得我们在这里加了一个 model, 是 model youd 之后,他自动帮我们加了一个阿迪 fx, 实际上就是他这个东西实际上就是我们的输出目录啊,大家可以看阿沃特 potelelee 而成啊, 好, ok, 然后的话呢,现在我们干什么呢?现在我们只需要去点这个按钮啊,这里有一个运行按钮就可以了,点击一下运行,点击一下运行之后,你会发现在下面就会有一个汤盖的出现啊,在这, 然后呢他就会去运行了,运行我们主要是看这个输出路径啊,输出的这个日字啊, 好,那么说出来的 之后大家可以看啊,在这里的话呢,哎,有一个 logo boss 八零八零已经出来,但是呢有一个五百错误啊,那么这个错误是什么错误呢?我们看到这里, 这里看什么呢?看这个他们开的 logo hold 的这个 logo 二字啊,点进去之后我们会发现一个问题,他有个什么东西不支撑呢?实际上就是那个标签库啊,往上翻,他会告诉你什么东西呢? 好,我们来看一看啊,他告诉你这个 htvp 啊,什么家啊,点丧啊,是吧?然后的话是什么东西呢? 然后呢是画什么 come 点 g s p 啊, g s t 二啊,那就是标线库没有支撑,标线库没有支撑的意思是什么意思呢? 实际上呢,我们可以看这个整个项目多了一个阿瓦特沐浴露啊,阿沃特沐浴露的话,我们展开展开再展开,然后呢这里有一个外波音符啊,实际上在这里面我们拆个勒波沐浴露啊,拆个勒波沐浴露, 也就是说我们这个没问里边的这个东西是需要进去的,是需要支撑的。 gst, 我们还是选中这个费用,费用的话选中这个 proutex, 然后是项目的结构,项目的结构呢,我们选中阿迪 fx, 然后选中我们刚刚这个给我们创建的这个阿迪 fx, 然后就输出目录,输出目录的话大家注意啊,我们再来挪过来看一看啊,输出目录呢,在这边展开来,哎,这边只有克拉斯一是吧,然后这是我们的原目录啊,然后这边再展开,这边多了一个什么东西呢?你看啊,多了一个 gst 是吧,然后怎么办呢?很简单,我们把哎这个鼠标啊, 就像这个原木的跟目录鼠标右键,然后有一个破音 two 啊 twouch 啊, ok, 点击一下你会发现这边多了一个内部目录,也就说呢,这个包我们就进去了啊,然后还是一样的,啊呸,然后 ok, ok, 之后的话我们再次去执行这个项目啊,就没有问题了啊,那么我们在这边的话,在主要是在这下面去点啊你,当然呢,你去点这个这个东西啊,也是没有问题的啊。 好,然后我们把它暂停,暂停之后呢,重启,好,我们等待这个 sorrys 的启动,也就等待这个汤姆凯特的启动啊, 我们等它启动之后我们再去看啊,结果怎么样?大家可以看啊,这个 ok 就出来了,也就是说的话呢,我们这样做的话,就轻松轻轻松松的去打造了整个他们开的这样一个环境啊,利用这个 id 啊,打造了一个他们开的环境,然后就可以愉快的开发了。好了,然后点赞加关注啊。


hello, 各位小伙伴大家好,我是一锅炖不下的北冥,那今天呢,咱们来聊一点有意思的啊,我们如何去快速玩转 idea 当中的远程 debug 调试 这个功能呢?实际上非常有意思啊,想必你肯定遇到过一种情况六,就是咱们在线上或者说在测试环境我们遇到了一些问题,但是我们在本地测呢又没有发现, 那可能两份代码呢都是一样的,但是数据呢可能有些差异,所以说在本地呢是发现不了,但这个时候咱们怎么去调试呢?这个功能想必就能够帮助你啊。 在这呢,我们先来看一下,我在这边是创建好了一个测试工程,我在这呢是创建好了一个 speaking 部的的工程啊,非常简单,里边呢是有一个接口叫做 hello, 然后呢是有三行打印语句,那最后呢是有一个 return, 非常简单,因为视频时长的一个 问题啊。我在这呢就不为大家去演示打包和放了服器了,我在这边呢已经提前准备好了一个架包。那如果咱们要去配置 idea 的远程 debug, 那肯定逃脱不了,要对 idea 当中去进行一些配置,对吧? 可以看到现在呢我用的是一个新版的 idl ui, 可能大家对这个 ui 呢有些陌生,但是基本的操作呢是一样的,那如果大家想用这个新版 ui 的话,可以去选择 idl 这个位置有一个配置, 然后呢咱们就可以在外观这个部分选择新 u i, 然后呢点击启用,然后重新打开第二呢就 ok 了。 好, ok, 那如果大家想要了解这个新版的 ui 的话,可以给我去点一个赞啊,那如果点赞过三百的话,我可以专门出一期视频来给大家去进行一个介绍。好,那回到主题啊,咱们要去配置的话,首先 选择这一块区域,然后呢点击编辑配置,在这呢,我们可以看到左上角有一个加号,对吧?点击这个加号,然后呢咱们去找到往下滑,找到这个远程结尾幕调试啊,选择他。当我们加进来的时候,首先第一块是名称对吧? 那名称呢实际上也不太重要啊,大家可以随便取,那第二款呢也不用改,那最关键的是一个主机地址的配置,这个地址呢非常重要, 那对于网络的要求呢,也是比较严格的,因为我们的生产环境当中,可能环境和我们开发环境是隔离的,我们无法访问到,但测试环境呢,基本上都是可以的,所以咱们呢要视情况而定啊, 可能在线上呢是没办法用这个功能,但是在开发测试环境呢都是可以的啊。 ok, 那咱们呢就改一下这个主机地址,我呢已经提前准备好了 ip 啊,咱们直接粘过来就可以了。 好,那第二个呢是端口,这个端口呢是专门用于本地的 idea 和远程的服务端去进行通信的,这个端口地址呢你随意配置,你想怎么配就怎么配,只要不冲突就可以了 啊。看到下面这一块,这一块也比较重要啊,大家要记一下,因为在不同的 idr 版本,那这一块呢咱们要去选择,如果你是八,那要选择这个,因为这一段命令行呢,是它自动生成的,所以说会有一些变化,那大家对这一块呢要谨慎一点,我这边呢是用的十七,所以说我选择这个加九以上就可以了。 那最后一个就是使用模块类路径啊,这个呢他自己给我选上了,因为本身我这边是一个很简单的 swing 部的视力工程,所以说他只找到一个,这个也没有问题啊,但现在咱们很多的环境里面都是用 spring cloud, 对吧?那可能会有很多很多不同的服务,所以说我们要去调试不同的服务的话, 我们要在这一块呢去做一个选择。好, ok, 那最后呢点击应用,再点击确定就 ok 了,对于 id 的配置呢,就已经完成了,那咱们呢再打开它去把这一段呢给他去复制出来,这一段待会呢咱们要用到, 好吧,好,那点击取消,那来到了 idr 界面,那接下来呢咱们就去启动他,那我相信大家用过 nix 去启动过加瓦项目的话,也大概都能知道啊,非常的简单。 那第一步如果说我们需要去保留日志的话,我们要输这个 low hope, 对吧?然后第二个是 java, 那第三个呢是刚刚咱们复制的这个结尾,我们的参数好 ok 啊,端口呢咱们就不变了,那然后呢就是杠架,那后面呢就是把咱们架包的这个名称给他拿过来。好,那最后呢咱们要不要 后台启动?如果需要的话,那么就选择后台启动。好,然后呢回车,那咱们呢就看一下日志,好,可以看到这边已经在慢慢的启动了,对吧? 好,可以看到已经基本启动完成了。 ok, 那接下来呢咱们就去演示一下。 ok, 那咱们呢就把本地的这个启动,那怎么启动呢?可以看到这个 bug 的图标,那点击调试就 ok 了, 如果这边输出已连接到目标的 v m, 那就说明咱们和远程呢已经连接上了,那对于这个端口呢,大家也要注意一下, 因为有一些服务的话,你可能没有开防火墙,你只允许了咱们这个程序的端口可以访问,但是你这个配置远程连接的端口你没有开启的话,那实际上也连不上啊,这一块大家也要注意一下。 ok, 那这一块启动之后呢,咱们就来到这边 边的演示界面,这个演示界面呢地址我已经提前准备好了,咱们就回车,好,可以看到现在已经能够访问了,对吧?啊?咱们呢就到咱们刚刚演示的这个 hello 这个接口去,在 return 这一块,咱们打个断点去试一下, ok, 再回车, 可以看到这边断点已经进来,对吧?那咱们的远程第八个调试呢,就已经成功了,那接下来呢,再跟大家去讲几个注意事项,也讲几个大家比较关心的问题啊。首先第一个 我停在本地的断点,那我关闭程序之后,他会不会继续的执行,这个大家肯定比较好奇,对吧?我们来为大家演示一下,那先看一下日志吧, 可以看到这边是打印的,点赞关注,投币点赞关注,对吧? 好,咱们呢就把咱们先把它去进行一个放行啊。 ok, 可以看到三个都已经打印出来了啊,那咱们呢就把这个断点改到第一行 来验证咱们的一个问题啊,我们就重新启动一下, ok, ok, 咱们来就再访问一遍,可以看到断点已经打在了第一行,对吧?此时咱们呢就把这个 idea 给它停掉,好,可以看到已经停完了啊。再来看一下 这边的点赞关注投币,这个日志是不是还是出来了,对吧?所以说他的一个结论是, 尽管我们停掉了本地的断点,但他还是会执行的,因为本地呢,只是做到了一个 debug 的功能,但是他并不能够去干预我们远程的一个执行啊,所以说尽管我们关闭了我们的 远程,但他还是会运行的,这个呢是第一个。那第二个,如果咱们驾包中的代码和本地的代码不一致,那会发生什么样的情况呢?这边第十九行是打印的,点赞二十,关注二十一行投币,对吧?咱们就把点赞和投币给他删掉, 把断点呢切到第十九行,那咱们再启动一下,再请求一遍, 断点已经进来了,第十九行,我们再来看一下日志,我们会发现他现在一行都没有打印,对吧?那这个问题是什么呢?因为咱们刚刚第十九行是点赞, 所以他断点是打在第十九行,并不是打在关注这一行,这个呢,是为什么三行都没有打印的一个原因啊。所以对于这一点的结论是,我们要尽量的去保证线上和本地的代 码是一致的,如果不一致,他会根据行号来断点,他并不是根据我们本地的代码来断点,这个大家要注意,那咱们呢就把那两行恢复回来啊。那再跟大家聊。第三个,咱们的日志打印在哪里呢?我们刚刚已经看到了,在服务端有打印,对吧? 那本地有没有打印呢?这跟大家讲啊,实际上本地是不会打印日志的,所有的日志他都是在远程打印的,这个刚刚已经看到结论的就不讲了,再带领大家去讲。第四个,先启动他。这个点呢,非常有意思啊, 就是咱们调试的时候,其他人会不会卡住呢?我们实践出真知啊,来演示一下。好,第一个已经卡住,对吧?来第二个, 好,可以看到并没有返回啊,那对于这一点呢,大家要注意一下,就是如果你遇到了类似的场景,你要 去用到这个 idea 远程 debug, 那大家千万注意,如果你 debug 的是线上环境,你很有可能会造成这一个接口,其他所有线上的用户都防不了了,那这个功能尽量的在测试环境用,尽量不要在生产上使用啊。 好,那关于几点细节呢?包括整个配置呢?都跟大家去讲完了,可能大家会感觉这个远程调试的用处也不是特别大,对吧, 也不能作为一个长期的调试工具,那只能临时的用一下。那对于这一点呢,大家可以就是把这个留个印象,可能在以后某个业务场景,在某个环境里面,你想去做一个远程的 debug, 那他呢,也可以做你的选择之一啊。 那关于今天的内容呢,咱们聊到这就结束了,依照惯例,笔记我已经准备好了,咱们简单的来看一下, 那可以看到这边细节呢,我已经写的非常清楚了,那包括这些配置的注视,那包括每一个 gdk 版本,那他的一个命令是怎么样的,都写的非常清楚,如果大家有需要这份笔记的话,那可以评论区扣一,然后呢?私信我去进行领取啊。我是一锅炖不下的北冥,那咱们下期再会。

好,同学们,上节课呢,我们对 idea 呢做了一个介绍,那么这节课呢,我们再来看一下如何安装 idea。 我们要想安装爱迪尔,肯定得要先去下载爱迪尔,对吧?那么这个时候呢,我们可以去他的官网去下载,他的官网是什么呢?我们可以在百度的摄入引擎里输入爱迪尔,然后呢他第一个提示的这个啊,叫三 w 点,这不让点 com, 就是呃,爱迪尔的一个官网, 我把它截个图, 哎。第二关网, 然后呢,我们点击官网以后呢,会打开他的官网的首页,在这里呢,我们可以看到。呃,上节课我们说的英特街的,英特街的这个口号在这是可以看到的,是吧? k bobo, 俺的 rgmomek id for gvm, 是吧?这句话是可以看到的。 然后呢再往下看,这个时候呢,他会有一个类似于广告一样的内容,其实这一块呢是介绍 idir 这个工具在编写夹瓦代码,使得一个使用场景这样的一个截图,我们可以看到他的整个的界面风格是这样的,跟我们一颗粒子或者是麦一颗粒子完全不同的,对吧? 然后呢再往下,这是他代码提示时的一个这样的一个能力啊,他是采用这种方式的,看到了吧?然后呢, 这也是他的一个界面的展示。再往下,这呢是介绍 idair 这个工具所支持的一些技术。呃,还有他的一些工具,比如说,比如说在 idair 当中呢,是支持 get 的, 然后呢还支持这种 gm 语言, gm gm 的语言有什么呢?比如说加瓦是一个 gm 语言,在地上就是可以 去用家务员就开发的,然后还有这个斯卡拉,还有这个呃, goree, 还有这个库里,这些都是支持的,以及呢对我们的一些框架的支持,像 spa 框架,还有这个交易平台下的一些标准, 还有捷豹子啊等等等,这些都是支持的,还支持这个魔标迪拜的门面安卓开发,还支持这个前端技术。 h 五啊,加我 squep 的 html css, 安哥拉 gs 都是可以在 id 当中去做开发的,所以说这个哎呃, id 这个提升开发 id 的功能还是非常强大的。 然后再往下这里呢,我们可以看到他有一个呃版本的介绍, 首先呢,有一个是奥特曼特版,然后还有一个孔明立体版,就是一个是无限制版啊,一个是这个社区版,其实这个就指的是我们所谓的旗舰版或者是商业版。 然后呢,我们可以看到在旗舰版当中啊,他所支持的所有的内容是都打上对号了,表示对这些都是支持的,比如说 他支持家外语言 good 的,还有 girl, 还有这个斯嘎啦语言的一个编写。然后呢,支持安卓开发,支持 mevan, 支持 git 是吧?还有支持什么加 script type script, 可以在这里去做加 script 开发,以及 加瓦 e spring 是吧?还有这个 database touch, 就是数据库的工具,这个工具有点类似于什么呢?我们 miclebase 里面是有这个的, eclebase 也有,但是得安装插件,就是那个 database xpro 那个工具跟他差不多, 还有一些三恐惧的编写,这些呢,都是他的这个商业版当中所支持的,但是在社区版当中就不一样了, 社区版当中他只实现了只吃,只支持了这个部分的功能,你像这些语言开挖是没有问题的,安卓是支持的,没文是支持的, d 台、 sun 这些版本控制是支持的,但是再往下像这些就没有了,是吧?所以说呢,呃,对于社区版,我们又做一些 普通的简单的夹娃的开法是没有问题,但是如果我们要用像使用框架啦,还要去做一些在页面里写 gs 啦,那么用这个社区版 就显得有点捉泥鳅走了。好,然后接下来呢,我们去下载这个,呃, id 怎么下呢?你看啊,他这里这个呢指的是下载这个商业版,这个呢指的是下载社区版,然后呢他下载的文件的类型有 windows 点 esg 的,也有 jip 的,然后还有这个麦克 os 的,还有零六克斯的。 那么这时候你要呃,根据你当前所要安装这个 id 二的操作系统来决定下什么版本,下什么后缀名呢?比如我们就下这个 exe 的,那么他默认的时候选 exe 的,是吧,因为我们要用这个 windows 操作系统,然后点击当 logo 就可以了。 现在他最新的版本是多少呢?在这可以看到,昆明是二零一八点三这个版本,那么我们这次课程当中呢,就不装这么新 的版本了,我们时刻当中装哪个版本呢?我们来安装这个,呃,二零一七三点一这个版本啊,呃,这个版本的 id 呢?我已安装文件,我已经下载好了,在这里我们就来看一下如何安装, 如何安装 idair, 那么其实 idair 的安装呢,是比较简单的,跟我们安装其他的软件没什么太大的区别,我们一起安装一下,在这里有一个 idair iu 啊 iu 杠二零一七点三点一点一点 c, 是吧,我们只要双击他就可以。 好,这个时候呢,打开了一个欢迎页面,欢迎界面,然后呢,我们点击 nice, 现在问你要把埃迪尔装到哪?这 我说一下啊,呃,我有的同学可能习惯于把这个软件呢,装到 d 盘, e 盘, f 盘,是吧? 如果你的磁盘只是一块机械硬盘,你按到哪都无所谓。但是如果你的电脑当中是两块硬盘,比如说,呃, c 盘呢?是一块固态硬盘,呃,除了 c 盘以外呢是机械硬盘。 那么其实对于 id 的安装呢,我更建议你装到固态硬盘的那个磁盘当中,比如像这个,呃,我的这个电脑里,我的 c 盘呢就是固态硬盘,那我可能要把这个 id 按到固态硬盘当中,为什么呢?因为 id 啊, 呃,它相比较一颗粒子而言,还是稍稍要耗备一些内存的,因为它的功能要强大一些,所以对内存消耗的要多一些。呃,如果我们要安装安装到这个非固态硬盘下,那它在使用的过程当中呢,可能会稍稍慢 一点啊,所以呢,建议你还是把它装到固态硬盘的这个磁盘当中,然后呢,我就放到这个默认的磁盘下就可以。然后呢,我们点击, nice, 先截个图吧, 这是第一步。然后呢,我们点击 nest。 好,这时候又打开一个界面,在这里呢,让我们去选择你安装的版本啊。 呃,这个也是要根据我们操作系统的版本来决定,如果你装的操作系统是三十二位的,那你就把三十二位点上。如果你的操作系统是六十四位的,那你就选择六十四位,那么当天我的操作系统呢是六十四位的,所以这里能够选择六十四位,然后下面这一块呢,让你去创建一个 关联,呃,比如说你现在要关联哪哪一类的文件,是这个勾微的还是克特林的还是加瓦的?那比如说我没有,主要是用加瓦语言,所以这块我选择一个点加瓦的扩展名, 这样呢,我们以后再去看点加瓦文件的时候,一双击他,他默认的就会启动 id 去做一个文件的查看,一个处理啊,所以这块我把这个点加瓦的选上,然后呢我们再点击 nice, 还是先截个图, ok, 然后 nice, 这个时候呢我们就直接点 instagram 安装就可以了啊, 这个安装过程呢还是稍稍有那么一点点的慢,估计也就一分钟左右吧,我们稍等一下, ok, 然后呢我们看到如果看到这个界面呢,就表示我们的 id 呢已经安装完成了。然后呢我们再截个图, 然后我们看这个界面,这里有一个软隐藏的接爱迪尔,就是你把它点上点击非内饰,这个时候他会关闭安装界面,同时去启动我们的爱迪尔,你也可以不启动他,然后直接点击非内饰, ok, 这样装完以后呢,在我们的桌面上啊,就会出现一个啊矮地儿樱桃结矮地樱桃结矮地儿的这样的一个快捷方式。 好同学们,那么对于呃矮地儿的安装呢,这一刻我们就说这么多,他的安装还是比较简单的好,那我们这一刻呢就到这。