• CloudIDE 连接MySQL数据库
    #coding=utf-8 import pymysql try:     conn = pymysql.connect(     host = "*****",     port = 3306,     user = "wxx",     passwd = "87654321"     )     cur = conn.cursor()     cur.execute("CREATE DATABASE IF NOT EXISTS grdb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;")     cur.close()     conn.close()     print("创建数据库pythonDB成功! ") except pymysql.Error as e:     print("Mysql Error %d: %s" %(e.args[0],e.args[1]))pymysql的库直接在命令行pip install就行,其实一开始是想试试插件怎么用,可惜没找到相关的资料。正好前面开发者闯关活动的ECS资源还能用,直接用它换个Ubuntu镜像,安装mysql,设置了用户和授权。重要的事情说三遍:修改配置生效要重启mysql服务!重启mysql服务!重启mysql服务!这个小问题,绕了一大圈,查了两边ECS、couldIDE的防火墙和配置,回头发现service mysql restart重启服务居然好了!
  • cloudIDE怎么放开icmp端口?
    应该是端口没有放开的原因,查了下手册,没有找到添加的方法,右手侧这里协议固定,不能改成别的了。请教大家,有什么方法能放通icmp包么?
  • [技术干货] CloudIDE插件开发实战:教你如何调试代码
     摘要:今天我们来重点介绍下CloudIDE插件的调试技巧,在插件开发过程中调试作为重要的问题分析和定位手段能够有效帮助开发者提升插件质量。今天文章中的样例工程我们继续以上一篇《实战CloudIDE插件开发-快速上手》中的项目为基础,深入介绍插件的调试方法。可能有的开发者对于插件的前后端相关概念会有所疑惑,大家可以参考这篇插件开发指南详细了解插件开发过程中会用到的基础概念和开发技巧。后端调试在插件的src/node/目录下存放的是插件的后端代码,后端代码运行在IDE实例的nodejs环境中,插件项目在创建的时候已经默认生成了一个后端文件backend.ts,对于轻量级的插件,只需要在该文件中添加自己想要实现的业务功能即可,该文件包含了三个默认的方法init()、run()、stop()。另外还默认添加了一个doSomething方法,这个方法仅仅是作为示例使用,开发者可以根据需要进行修改或删除。这里我们简单介绍下init, run和stop方法,详细的解析可以参考插件开发指南。init()函数作为该后端实例的初始化方法,可以在插件启动的时候进行一些初始化操作,写在该函数中的代码一定会先于run和其他函数被调用,这里需要注意的是对于前端暴露给后端的函数不能再init函数中进行调用,也就是不能在init方法中执行this.plugin.call调用。run()函数作为后端实例的主逻辑函数,承担着业务功能入口的作用,在该函数中可以方便地调用CloudIDE的API,比如cloudide.window.showInformationMessage(`hello world!`); 也可以调用前端暴露出来的函数,也就是可以在该方法中执行this.plugin.call调用。stop()函数将会在插件被停止前被调用,如有需要可以进行一些资源清理的操作。接下来将分七步来介绍调试的过程,大家可以对照动图来看下面的文字说明:1. 打断点,我们尝试在backend.ts的run()函数中打上一个断点。2. 按F1或者点击查看->命令面板调出命令面板。3. 输入Hosted Plugin进行搜索,选择Hosted Plugin: 调试实例。弹出的路径选择对话框我们保持默认,因为我们的项目根目录默认就是我们需要调试的插件。4. 等待调试实例启动,右下角弹出端口监听提示,我们点击确定。5. 在弹出的端口外部访问权中给实例的监听端口添加外部访问权,注意:这里的协议需要选择https,添加完成之后如右图所示。6. 点击访问就可以访问我们刚刚启动的调试实例,在弹出的调试实例中我们等待插件被加载,然后切换回我们的CloudIDE开发实例。7. 断点被命中并暂停在断点处,此时可以方便地查看调用堆栈、变量或者添加监视表达式。同样,我们也可以在其他的方法中打上断点,大家有兴趣也可以通过断点的方式来验证下init()、run()以及stop()被执行的顺序。前端调试与插件的后端不同,前端的代码最终将被编译并运行于浏览器环境中,前端的代码存放于src/browser目录中,插件项目在创建的时候会默认生成了两个前端源码文件frontend.ts和dynamic-webview.ts。这两个文件的内容与后端backend.ts的结构非常相似,只不过运行的环境不同而已,这里就不再重复对这两个文件中init()、run()、stop()方法进行介绍。由于前端运行再浏览器环境中,我们的代码调试将借助于浏览器自带的调试功能来完成,我们直奔主题,看看怎么样来调试前端代码。前端代码调试将分为以下几个步骤,大家同样可以对照动图来看下面的文字说明:1. 明确需要调试的代码所在的函数,比如这次调试的前端函数叫myApi()。2. 切换到调试实例,按F12调出开发者工具。3. 在页面列表中我们找到自己插件的首页,这里是index.html (小技巧:很多开发者都会使用默认的首页名称,为了方便查找自己的插件首页,可以将首页文件名进行修改)。接下来逐级向下展开到active-frame/{调试实例地址}/webview/dist/index.js。打开index.js文件。简单总结下,CloudIDE插件的调试其实分为前后端,后端的调试可以借助CloudIDE本身完成,而前端代码的调试则需要借助于浏览器的调试能力,在掌握调试技能之后在后续的插件开发过程中对疑难问题的定位和解决将非常有帮助。在后续的文章中将对插件的运行机制和API进行深入介绍,有兴趣的读者也可以先参考插件开发指南进行了解。
  • [技术干货] CloudIDE解答福大大每日一题之均分数组问题
    n个物品每个物品都有一定价值,分给2个人,怎么分两个人的价值差最小?答:先随意分成两组,然后求和比较,找跟差值/2相近的物品,重分配。再次计算,直至差值收敛。回答的时候随口胡诌,上代码可费了牛劲了~百度下是用背包问题来解,当时思考是仿照现实的解法,大不了多循环几次呗。但是收敛的条件不大好控制。背包会不会更简单点呢?因为附加了全局的资源视角。引申开来,如果想更容易的得到公平,跳到小圈子外面的视角更容易实现吧。numbers = [1,3,5,6,7,9,2,4,22,8,20,18,73,70,33,32,13,71]#给定数组min1=min(numbers)#数组最小值max1=max(numbers)#数组最大值p=len(numbers)//2#数组长度n1=numbers[0:p]#均分数组1n2=numbers[p:]#均分数组2#total=sum(numbers)dev0=0#两个数组的差值初始值dev=max1minus2=max1#差最小值初始设置成数组最大值t_m=max1#最接近差的数初始设置成数组最大值i=0#迭代次数dev0=0flag=1while dev!=0 and dev!=min1 and flag==1:#差等于0或者差等于数组最小值时停止循环       sumofn1=sum(n1)    sumofn2=sum(n2)    dev=sumofn1-sumofn2     i+=1        if dev<0:        n3=n2        n2=n1        n1=n3#交换两组数据,让n1的和恒大         dev=-dev    print("---------------------------------------------------------------")        print("第%d次迭代中差值为:%d n1的和:%d n2的和:%d"%(i,dev,max(sumofn1,sumofn2),min(sumofn1,sumofn2)))        if abs(dev)==abs(dev0):#出现死循环        print("wrong!")        break    else:        if abs(dev)>abs(dev0) and i!=1:#退回最近的一次倒换            if minus!=0:#每次只替换一次                if t_m in n2 :                    n2.remove(t_m)                    n1.append(t_m)                      print("第三分支交换回退%d"%t_m)                            print(n1,n2)                else:                    n2.remove(t_m)                    n1.append(t_m)                    tempb=min(n1, key=lambda x: abs(x -2*t_m)) #从n1中找最接近m的数,与n2中的m交换                        n1.remove(tempb)                    n2.append(tempb)                     print("第四分支交换回退")            print("回退分支未执行%d"%minus)            break      dev0=dev #dev0上一次循环的差    print(n1,n2)       for m in numbers:        minus=abs(m-abs(dev//2))#每个值都与数组和之差比较绝对值        #print(minus)        if minus==0:             #print(m,"最终结果")                 if m in n1:#多补少,直接交换过去                n1.remove(m)                n2.append(m)                 t_m=m                print("持平!第一分支交换 %d"%m)                print(n1,n2)                flag=0                break #持平,中止            else:                tempa=min(n1, key=lambda x: abs(x -2*m))                tempb=min(n2, key=lambda x: abs(x -m))  #从n1中找最接近m的数,与n2中的m交换                     if (tempa-2*m)<=0:                    n1.remove(tempa)                    n2.append(tempa)                    #从n1中找最接近m的数,与n2中的m交换                    n2.remove(tempb)                    n1.append(tempb)                    t_m=tempb                else:                    tempb=min(n2, key=lambda x: abs(x -tempa))                    n2.remove(tempb)                    n1.append(tempb)                    n1.remove(tempa)                    n2.append(tempa)                 t_m=m                print("第二分支交换%d %d"%(tempa,tempb))                break        else:            if minus2>=minus:#发泡出最小差值                minus2=minus #最接近差的数的差                t_m=m        #最接近差的数      if minus!=0:#每次只替换一次        if t_m in n1 :            n1.remove(t_m)            n2.append(t_m)              print("第三分支交换%d"%t_m)                else:            n2.remove(t_m)            n1.append(t_m)            tempb=min(n1, key=lambda x: abs(x -2*t_m)) #从n1中找最接近m的数,与n2中的m交换                n1.remove(tempb)            n2.append(tempb)             print("第四分支交换%d %d"%(t_m,tempb))    print("最小差为:%d m=%d minus=%d"%(minus2,t_m,minus))                print("*********************************************************************************") sumofn1=sum(n1)sumofn2=sum(n2)dev0=sumofn2-sumofn1print("n1的和:%d n2的和:%d"%(max(sumofn1,sumofn2),min(sumofn1,sumofn2)))   print("最后结果差值为:%d"%dev0) print(n1,n2) 用CloudIDE运行下:
  • 今天CloudIDE打开代码 任务无法完成
    今天CloudIDE打开代码 任务无法完成先是提示未开通CloudIDE点了开通后提示实例不存在有人解答一下吗
  • 日常任务之启动CloudIDE实例
    第一步:点击免费创建第二步:创建IDE实例,将相应位置信息填好第三步:完成,回到会员中心,刷新页面
  • 如何完成日常任务
    昨天有人问怎么提交代码,做完了就忘了,反正是照着手册做的。今天再翻,天,手册也找不到了那就先做个简单的,用CloudIDE打开代码,直接点击任务,就会弹出提示:这是昨天按照手册新建的仓库,额,直接新建就好了,就是一个hello world。建好了,就是这个样子的,注意下右手侧操作栏理的黄色小帽子,是CloudIDE的标志,点击就直接在CloudIDE环境打开你的项目。这样用CloudIDE打开代码的任务就完成了。下面继续,在代码托管的项目右手侧的三个点那点击右键,新建文件,这里增加的是一个md文件。增加完后,执行代码检查,然后分支合并。昨天做的的是从slave新增一个文件,然后合并到master中。这些都做完了,发现,代码提交的任务已经完成了。暂时先解锁这么多吧。部署和发布需要主机组,先放下。
  • cloudide里面的代码是不是不能跳转呀?
    比如在这里,按住CTL,点get_file,没有反应的。我想看看get_file的定义
  • 【求助】鲲鹏架构CloudIDE,使用C语言char类型遇到的问题。
    问题:把x86运行正常的代码放到鲲鹏架构CloudIDE中,遇到了char类型无法正确输入输出的问题。x86运行正常的代码在二楼!!!代码要实现的功能:编写一程序,从键盘上输入任意两个数和一运算符(+:加,-:减,*:乘,/:除),采用switch语句,注意当运算符为除(“/”)时,需要判断除数不能为0,程序会报错,条件全部满足后,计算其运算的结果并输出。在鲲鹏架构的CloudIDE中已经进行的相关操作:源代码直接放到CloudIDE上,无char类型输入过程,直接结束程序。根据官方手册:https://support.huaweicloud.com/pinsrcase-kunpengprocs/kunpengprocessor_18_0004.html中“x86架构下为signed char,在Arm64平台为unsigned char”,把正常代码中的char类型全部替换为unsigned char,并把输入输出用的格式控制字符改从%c改为了%u,运算符能输入,但是输出错误。怎么修改才能让程序的结果和x86平台的结果一致。求指点。在鲲鹏架构的CloudIDE中运行代码如下。#include <stdio.h> int main()  {     float a, b;  //存放两个数的变量     int tag = 0; //运算合法的标志,0--合法,1--非法     unsigned char ch;     //运算符变量,已经替换为鲲鹏架构下unsigned char     float result;//运算结果变量     //这里写输入部分     printf("input two number:");     scanf("%f %f", &a, &b);     fflush(stdin);     printf("input arithmetic lable(+ - */):");     scanf("%u",&ch);         switch(ch)     {         case('+'):result=a+b;break;         case('-'):result=a-b;break;         case('*'):result=a*b;break;         case('/'):             if(!b)             {                 printf("divisor is zero!\n");                 tag=1;//运算非法标志提示             }             else                 result=a/b;             break;         default: printf ("illegal arithmetic lable\n");//非法运算符提示             tag=1;     }     if(!tag)     //这里写输出部分     printf("%.2f %u %.2f=%.2f", a, ch, b, result);     return 0; }结果如下所示,无法得到正常结果。源代码在x86平台运行结果如下,运行正常。
  • CloudIDE——培训公司的神秘来客
    既敏捷,又便捷,想要体验云端编程,快快点击华为云CloudIDE吧~
  • [交流吐槽] CloudIDE——培训公司的神秘来客
    视频贴既敏捷,又便捷,想要体验云端编程,快快点击华为云CloudIDE吧~
  • CloudIDE中使用OBS云资源
    准备工作:申请一个OBS资源,创建一个桶。开启一个CloudIDE实例,打开一个terminal,先下载并安装obs的工具obsutil。配置obsutil:需要用到开发者的我的凭证->访问密钥->新建访问密钥的AK,SK。使用obsutil命令在桶中新建一个文件夹test
  • CloudIDE 快捷键汇总
    CommandKeybindingContext / WhenSourceActivate Plugins Marketplacectrlcmd+shift+ldefaultAdd Cursor Abovealt+ctrl+upeditorTextFocusdefaultAdd Cursor Belowalt+ctrl+downeditorTextFocusdefaultAdd Cursors to Line Endsshift+alt+ieditorTextFocusdefaultAdd Line Commentctrl+k  ctrl+ceditorTextFocus && !editorReadonlydefaultAdd Selection To Next Find Matchctrl+deditorFocusdefaultAuto Fix...shift+alt+.editorTextFocus && !editorReadonly && supportedCodeAction =~ /(\s|^)quickfix\b/defaultChange All Occurrencesctrl+f2editorTextFocus && editorTextFocus && !editorReadonlydefaultCopyctrlcmd+cdefaultCopy Line Downshift+alt+downeditorTextFocus && !editorReadonlydefaultCopy Line Upshift+alt+upeditorTextFocus && !editorReadonlydefaultCopy Pathshift+alt+c!editorFocusdefaultCursor Undoctrl+utextInputFocusdefaultCutctrlcmd+xdefaultDebug: Continuef5inDebugModedefaultDebug: Inline Breakpointshift+f9editorTextFocusdefaultDebug: Pausef6inDebugModedefaultDebug: Restart Debuggingshift+ctrlcmd+f5inDebugModedefaultDebug: Start Debuggingf5defaultDebug: Start Without Debuggingctrl+f5defaultDebug: Step Intof11inDebugModedefaultDebug: Step Outshift+f11inDebugModedefaultDebug: Step Overf10inDebugModedefaultDebug: Stop Debuggingshift+f5inDebugModedefaultDebug: Toggle Breakpointf9editorTextFocusdefaultDelete Lineshift+ctrl+ktextInputFocus && !editorReadonlydefaultEditor: Go Backalt+leftdefaultEditor: Go Forwardalt+rightdefaultEditor: Go to Last Edit Locationctrl+alt+qdefaultExpand Selectionshift+alt+righteditorTextFocusdefaultFile: DeletedelnavigatorActivedefaultFile: Import Projectctrlcmd+alt+idefaultFile: New Filealt+ndefaultFile: Open File...ctrlcmd+pdefaultFile: Open Recent Workspace...ctrlcmd+alt+rdefaultFile: Open Workspace...ctrlcmd+alt+wdefaultFile: Open...ctrlcmd+alt+odefaultFile: Renamef2navigatorActivedefaultFile: Savectrlcmd+sdefaultFile: Save Allctrlcmd+alt+sdefaultFile: Save As...ctrlcmd+shift+sdefaultFindctrlcmd+fdefaultFindctrl+fdefaultFind NextentereditorFocus && findInputFocusseddefaultFind Next Selectionctrl+f3editorFocusdefaultFind Previousshift+entereditorFocus && findInputFocusseddefaultFind Previous Selectionshift+ctrl+f3editorFocusdefaultFoldshift+ctrl+[editorTextFocus && foldingEnableddefaultFold Allctrl+k  ctrl+0editorTextFocus && foldingEnableddefaultFold All Block Commentsctrl+k  ctrl+/editorTextFocus && foldingEnableddefaultFold All Regionsctrl+k  ctrl+8editorTextFocus && foldingEnableddefaultFold Level 1ctrl+k  ctrl+1editorTextFocus && foldingEnableddefaultFold Level 2ctrl+k  ctrl+2editorTextFocus && foldingEnableddefaultFold Level 3ctrl+k  ctrl+3editorTextFocus && foldingEnableddefaultFold Level 4ctrl+k  ctrl+4editorTextFocus && foldingEnableddefaultFold Level 5ctrl+k  ctrl+5editorTextFocus && foldingEnableddefaultFold Level 6ctrl+k  ctrl+6editorTextFocus && foldingEnableddefaultFold Level 7ctrl+k  ctrl+7editorTextFocus && foldingEnableddefaultFold Recursivelyctrl+k  ctrl+[editorTextFocus && foldingEnableddefaultFormat Documentshift+alt+feditorHasDocumentFormattingProvider && editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonlydefaultFormat Selectionctrl+k  ctrl+feditorHasDocumentSelectionFormattingProvider && editorHasDocumentSelectionFormattingProvider && editorTextFocus && !editorReadonlydefaultGit: Toggle Blame Annotationsalt+beditorTextFocusdefaultGo to Bracketshift+ctrl+\editorTextFocusdefaultGo to Definitionctrlcmd+f11editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditordefaultGo to Implementationsctrl+f12editorHasImplementationProvider && editorTextFocus && !isInEmbeddedEditordefaultGo to Line...ctrl+geditorFocusdefaultGo to Next Differencef7isInDiffEditordefaultGo to Next Problem (Error, Warning, Info)alt+f8editorFocus && !editorReadonlydefaultGo to Next Problem in Files (Error, Warning, Info)f8editorFocus && !editorReadonlydefaultGo to Next Symbol Highlightf7editorTextFocus && hasWordHighlightsdefaultGo to Previous Differenceshift+f7isInDiffEditordefaultGo to Previous Problem (Error, Warning, Info)shift+alt+f8editorFocus && !editorReadonlydefaultGo to Previous Problem in Files (Error, Warning, Info)shift+f8editorFocus && !editorReadonlydefaultGo to Previous Symbol Highlightshift+f7editorTextFocus && hasWordHighlightsdefaultGo to Referencesshift+f12editorHasReferenceProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditordefaultGo to Symbol in Workspace...ctrlcmd+odefaultGo to Symbol...shift+ctrl+oeditorFocus && editorHasDocumentSymbolProviderdefaultIndent Linectrl+]editorTextFocus && !editorReadonlydefaultInsert Line Aboveshift+ctrl+entereditorTextFocus && !editorReadonlydefaultInsert Line Belowctrl+entereditorTextFocus && !editorReadonlydefaultMove Last Selection To Next Find Matchctrl+k  ctrl+deditorFocusdefaultMove Line Downalt+downeditorTextFocus && !editorReadonlydefaultMove Line Upalt+upeditorTextFocus && !editorReadonlydefaultOpen Call Hierarchyctrlcmd+f1defaultOpen Definition to the Sidectrl+k  ctrl+f12editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditordefaultOrganize Importsshift+alt+oeditorTextFocus && !editorReadonly && supportedCodeAction =~ /(\s|^)source\.organizeImports\b/defaultOutdent Linectrl+[editorTextFocus && !editorReadonlydefaultPeek Definitionalt+f12editorHasDefinitionProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditordefaultPeek Implementationsshift+ctrl+f12editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditordefaultPreferences: Color Themectrlcmd+k  ctrlcmd+tdefaultQuick Fix...ctrl+.editorHasCodeActionsProvider && editorTextFocus && !editorReadonlydefaultRedoctrlcmd+shift+zdefaultRefactor...shift+ctrl+reditorHasCodeActionsProvider && editorTextFocus && !editorReadonlydefaultRemove Line Commentctrl+k  ctrl+ueditorTextFocus && !editorReadonlydefaultRename Symbolf2editorHasRenameProvider && editorTextFocus && !editorReadonlydefaultReplacectrlcmd+alt+fdefaultReplacectrl+hdefaultReplace with Next Valueshift+ctrl+.editorTextFocus && !editorReadonlydefaultReplace with Previous Valueshift+ctrl+,editorTextFocus && !editorReadonlydefaultReveal in Exploreralt+rdefaultSearch: Find in Filesctrlcmd+shift+fdefaultSelect Allctrlcmd+adefaultSelect All Occurrences of Find Matchshift+ctrl+leditorFocusdefaultSettings: Open Keyboard Shortcutsctrl+alt+,defaultSettings: Open Preferencesctrl+,defaultShow Accessibility Helpalt+f1editorFocusdefaultShow Editor Context Menushift+f10textInputFocusdefaultShow Hoverctrl+k  ctrl+ieditorTextFocusdefaultShrink Selectionshift+alt+lefteditorTextFocusdefaultSubtype Hierarchyctrlcmd+alt+hdefaultTask: Run Last Taskctrlcmd+shift+k!textInputFocus || editorReadonlydefaultTerminal: Clear Terminalctrlcmd+kterminalActivedefaultTerminal: Findctrlcmd+fterminalActivedefaultTerminal: Hide find widgeteschideSearchdefaultTerminal: Open New Terminalctrl+shift+`defaultTerminal: Open New Terminal (In Active Workspace)ctrl+`defaultTerminal: Scroll line downctrl+shift+downterminalActivedefaultTerminal: Scroll line upctrl+shift+upterminalActivedefaultTerminal: Scroll page downshift-pageDownterminalActivedefaultTerminal: Scroll page upshift-pageUpterminalActivedefaultTerminal: Scroll to topshift-hometerminalActivedefaultToggle Block Commentshift+alt+aeditorTextFocus && !editorReadonlydefaultToggle Call Hierarchy Viewctrlcmd+shift+f1defaultToggle Debug Console Viewctrlcmd+shift+ydefaultToggle Debug Viewctrlcmd+shift+ddefaultToggle Explorer Viewctrlcmd+shift+edefaultToggle Foldctrl+k  ctrl+leditorTextFocus && foldingEnableddefaultToggle Hidden Filesctrlcmd+inavigatorActivedefaultToggle History Viewalt+hdefaultToggle Line Commentctrl+/editorTextFocus && !editorReadonlydefaultToggle Outline Viewctrlcmd+shift+idefaultToggle Output ViewCtrlCmd+Shift+UdefaultToggle Problems Viewctrlcmd+shift+mdefaultToggle Source Control Viewctrlcmd+shift+gdefaultToggle Tab Key Moves Focusctrl+mdefaultToggle Type Hierarchy Viewctrlcmd+shift+hdefaultTrigger Parameter Hintsshift+ctrl+spaceeditorHasSignatureHelpProvider && editorTextFocusdefaultTrigger Suggestctrl+spaceeditorHasCompletionItemProvider && textInputFocus && !editorReadonlydefaultTrim Trailing Whitespacectrl+k  ctrl+xeditorTextFocus && !editorReadonlydefaultUndoctrlcmd+zdefaultUnfoldshift+ctrl+]editorTextFocus && foldingEnableddefaultUnfold Allctrl+k  ctrl+jeditorTextFocus && foldingEnableddefaultUnfold All Regionsctrl+k  ctrl+9editorTextFocus && foldingEnableddefaultUnfold Recursivelyctrl+k  ctrl+]editorTextFocus && foldingEnableddefaultView: Close All Tabs in Main Areaalt+shift+wdefaultView: Close Other Tabs in Main Areactrlcmd+alt+tdefaultView: Close Tab in Main Areaalt+wdefaultView: Collapse All Side Panelsalt+shift+cdefaultView: Collapse Side Panelalt+cdefaultView: Show All Opened Editorsctrlcmd+k  ctrlcmd+pdefaultView: Switch to Next Tabctrlcmd+alt+ddefaultView: Switch to Previous Tabctrlcmd+alt+adefaultView: Toggle Bottom Panelctrlcmd+jdefaultView: Toggle Maximizedalt+mdefaultView: Toggle Word Wrapalt+zdefaultacceptAlternativeSelectedSuggestionshift+entersuggestWidgetVisible && textInputFocus && textInputFocusdefaultacceptRenameInputentereditorFocus && renameInputVisibledefaultacceptRenameInputWithPreviewshift+enterconfig.editor.rename.enablePreview && editorFocus && renameInputVisibledefaultacceptSelectedSuggestionenteracceptSuggestionOnEnter && suggestWidgetVisible && suggestionMakesTextEdit && textInputFocusdefaultcancelRenameInputescapeeditorFocus && renameInputVisibledefaultcancelSelectionescapeeditorHasSelection && textInputFocusdefaultcloseAccessibilityHelpescapeaccessibilityHelpWidgetVisible && editorFocusdefaultcloseFindWidgetescapeeditorFocus && findWidgetVisibledefaultcloseMarkersNavigationescapeeditorFocus && markersNavigationVisibledefaultcloseParameterHintsescapeeditorFocus && parameterHintsVisibledefaultcloseReferenceSearchescapereferenceSearchVisible && !config.editor.stablePeekdefaultconsole.executeenterconsoleInputFocusdefaultconsole.navigateNextdownconsoleNavigationForwardEnableddefaultconsole.navigatePreviousupconsoleNavigationBackEnableddefaultconsole.selectAllctrlcmd+aconsoleContentFocusdefaultcursorBottomctrl+endtextInputFocusdefaultcursorBottomSelectshift+ctrl+endtextInputFocusdefaultcursorColumnSelectDownshift+alt+ctrl+downtextInputFocusdefaultcursorColumnSelectLeftshift+alt+ctrl+lefttextInputFocusdefaultcursorColumnSelectPageDownshift+alt+ctrl+pagedowntextInputFocusdefaultcursorColumnSelectPageUpshift+alt+ctrl+pageuptextInputFocusdefaultcursorColumnSelectRightshift+alt+ctrl+righttextInputFocusdefaultcursorColumnSelectUpshift+alt+ctrl+uptextInputFocusdefaultcursorDowndowntextInputFocusdefaultcursorDownSelectshift+downtextInputFocusdefaultcursorEndendtextInputFocusdefaultcursorEndSelectshift+endtextInputFocusdefaultcursorHomehometextInputFocusdefaultcursorHomeSelectshift+hometextInputFocusdefaultcursorLeftlefttextInputFocusdefaultcursorLeftSelectshift+lefttextInputFocusdefaultcursorPageDownpagedowntextInputFocusdefaultcursorPageDownSelectshift+pagedowntextInputFocusdefaultcursorPageUppageuptextInputFocusdefaultcursorPageUpSelectshift+pageuptextInputFocusdefaultcursorRightrighttextInputFocusdefaultcursorRightSelectshift+righttextInputFocusdefaultcursorTopctrl+hometextInputFocusdefaultcursorTopSelectshift+ctrl+hometextInputFocusdefaultcursorUpuptextInputFocusdefaultcursorUpSelectshift+uptextInputFocusdefaultcursorWordAccessibilityLeftctrl+leftaccessibilityModeEnabled && textInputFocusdefaultcursorWordAccessibilityLeftSelectshift+ctrl+leftaccessibilityModeEnabled && textInputFocusdefaultcursorWordAccessibilityRightctrl+rightaccessibilityModeEnabled && textInputFocusdefaultcursorWordAccessibilityRightSelectshift+ctrl+rightaccessibilityModeEnabled && textInputFocusdefaultcursorWordEndRightctrl+righttextInputFocusdefaultcursorWordEndRightSelectshift+ctrl+righttextInputFocusdefaultcursorWordStartLeftctrl+lefttextInputFocusdefaultcursorWordStartLeftSelectshift+ctrl+lefttextInputFocusdefaultdebug.breakpointWidget.acceptenterbreakpointWidgetInputFocusdefaultdebug.breakpointWidget.closeescbreakpointWidgetInputStrictFocusdefaultdeleteLeftbackspacetextInputFocus && !editorReadonlydefaultdeleteRightdeletetextInputFocus && !editorReadonlydefaultdeleteWordLeftctrl+backspacetextInputFocus && !editorReadonlydefaultdeleteWordRightctrl+deletetextInputFocus && !editorReadonlydefaulteditor.action.replaceAllalt+ctrl+entereditorFocus && findWidgetVisibledefaulteditor.action.replaceOneentereditorFocus && findWidgetVisible && replaceInputFocusseddefaulteditor.action.selectAllctrl+atextInputFocusdefaulteditor.action.selectAllMatchesalt+entereditorFocus && findWidgetVisibledefaulteditor.cancelOperationescapecancellableOperationdefaulteditor.gotoNextSymbolFromResultf12hasSymbolsdefaulteditor.gotoNextSymbolFromResult.cancelescapehasSymbolsdefaultexpandLineSelectionctrl+ltextInputFocusdefaultgit.editor.clear.annotationsescshowsBlameAnnotationsdefaultgoToNextReferencef4inReferenceSearchEditor || referenceSearchVisibledefaultgoToPreviousReferenceshift+f4inReferenceSearchEditor || referenceSearchVisibledefaulthideSuggestWidgetescapesuggestWidgetVisible && textInputFocusdefaulthistory.showNextdownhistoryNavigationEnabled && historyNavigationWidgetdefaulthistory.showPreviousuphistoryNavigationEnabled && historyNavigationWidgetdefaultinsertBestCompletiontabatEndOfWord && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'defaultinsertNextSuggestiontabhasOtherSuggestions && textInputFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'defaultinsertPrevSuggestionshift+tabhasOtherSuggestions && textInputFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'defaultjumpToNextSnippetPlaceholdertabeditorTextFocus && hasNextTabstop && inSnippetModedefaultjumpToPrevSnippetPlaceholdershift+tabeditorTextFocus && hasPrevTabstop && inSnippetModedefaultleaveEditorMessageescapemessageVisibledefaultleaveSnippetescapeeditorTextFocus && inSnippetModedefaultnavigator.copyRelativeFilePathctrl+k  ctrl+shift+c!editorFocusdefaultnotifications.commands.hideescnotificationsVisibledefaultopenReferenceToSidectrl+enterlistFocus && referenceSearchVisible && !inputFocusdefaultoutdentshift+tabeditorTextFocus && !editorReadonly && !editorTabMovesFocusdefaultredoctrl+ytextInputFocus && !editorReadonlydefaultremoveSecondaryCursorsescapeeditorHasMultipleSelections && textInputFocusdefaultscm.acceptInputctrlcmd+enterscmFocusdefaultscrollLineDownctrl+downtextInputFocusdefaultscrollLineUpctrl+uptextInputFocusdefaultscrollPageDownalt+pagedowntextInputFocusdefaultscrollPageUpalt+pageuptextInputFocusdefaultselectNextPageSuggestionpagedownsuggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocusdefaultselectNextSuggestiondownsuggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocusdefaultselectPrevPageSuggestionpageupsuggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocusdefaultselectPrevSuggestionupsuggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocusdefaultshowNextParameterHintdowneditorFocus && parameterHintsMultipleSignatures && parameterHintsVisibledefaultshowPrevParameterHintupeditorFocus && parameterHintsMultipleSignatures && parameterHintsVisibledefaulttabtabeditorTextFocus && !editorReadonly && !editorTabMovesFocusdefaulttoggleExplainModectrl+/suggestWidgetVisibledefaulttoggleFindCaseSensitivealt+ceditorFocusdefaulttoggleFindInSelectionalt+leditorFocusdefaulttoggleFindRegexalt+reditorFocusdefaulttoggleFindWholeWordalt+weditorFocusdefaulttogglePeekWidgetFocusctrl+k  f2inReferenceSearchEditor || referenceSearchVisibledefaulttoggleSuggestionDetailsctrl+spacesuggestWidgetVisible && textInputFocusdefaulttoggleSuggestionFocusalt+ctrl+spacesuggestWidgetVisible && textInputFocusdefaultundoctrl+ztextInputFocus && !editorReadonlydefaultworkbench.action.showCommandsctrlcmd+shift+pdefaultAboutAdd Cursors To BottomAdd Cursors To TopAdd Selection To Previous Find MatchClear Command HistoryClose InstanceCommit
  • cloudIDE实例使用github
    实际体验的好处是可以这碰碰,那撞撞,盲人摸象般探测边界在哪儿~昨天看了【操作指南系列】CloudIDE实例中导入Git代码库,今天才try了一下!有了夜读成才的教程,超级顺利~连许久不用的github密码居然一次就蒙对了~23333在github上改了下代码,嗯,没有自动同步到cloudIDE中。再重新import一下,文件夹重名,提示错误。改个文件名,第二次拉取下来。在Cloud IDE修改代码,然后上送git,一直报错鉴权失败,是啊,没有保存github的用户名和密码,这就需要用SSH方式连接github了。密码复制的问题:昨天确实发现代码粘贴不出来,是上面编辑框的代码粘贴不到本地,但是terminal中的文本一直是可以粘贴到剪辑板再到本地的。这里的密码不用使用手册上说的xclip -sel clip < ~/.ssh/id_rsa.pub直接能复制出来就可以了。感觉CloudIDE有点像vmware虚拟机的使用,但VM虚拟机安装了插件后,是可以在虚机和本端自由复制的。
  • 【问题】CloudIDE如何进行外设的系统联调?
    CloudIDE真的是很方便的工具,特别是对需要用到云资源,OBS,RCS等等,的情况下。开发环境,就是生产环境,省去了很多的联通调测问题。但是,对需要外设的场景怎么进行系统的联调的呢?比如银行的应用程序,可能涉及到收银机,虽然能部分用二维码代替,还是需要考虑诸如pos终端机,数字键盘,声音图像设备系统联调。还有Android、Iphone手机APP开发的测试问题。模拟器当然可以跑,但是应用还是需要真机测试这一环节,而且测试的工作量还相当可观,模拟器只能完成基本功能测试,而要用到地理位置信息,无线信号覆盖信息的手机APP开发肯定要结合现场,进行测试的过程。“未来软件吞噬一切!”那么,云IDE未来会成为唯一的开发环境么?还是仅仅如高速公路之于交通呢?
总条数:164 到第
上滑加载中