本地 IDE 已废!编辑器大结局!GitHub 的云 VSCode 实测
之前写过一篇文章GitHub 里面可以直接用 VS Code 了,真香!当时该功能还处于申请 Beta 权限阶段,有朋友申请成功了,大鹏就赶紧去体验了一下,体验之后的感受就是:
1、创建环境
首先进入 GitHub 找到任意一个项目,有 Beta 权限的用户点击 code 之后会发现多出来一个【Open with Codespaces】选项,Codespaces 就是 GitHub 云端 VSCode 的产品名称
点击后要进行下一步的选择,如果你之前建立过该项目的编辑环境,则可以进行恢复,或者也可以选择【New codespace】创建新环境,Beta 阶段最多只允许创建 2 个
环境选择
选择环境之后,就会开始进行初始化
初始化完成后就可以看到完整的开发环境了,整体布局和 VSCode 几乎一模一样,VSCode 可以使用的插件在这里都能找到
2、开发服务器概况
打开开发环境之后,相信大家和我一样,会产生很多疑问,这会不会只是个编辑器?编辑好了之后代码又不能运行?搞这个意义大么?
在这里我要告诉大家:
不好意思,口型没对好
基本信息
- 硬盘空间:180GB
- CPU:2 核
- 内存:4GB
- 操作系统:Ubuntu
可以看到,整个开发服务器的配置还是很给力的,开发一些小项目,是非常够用的
开发环境
开发服务器配置倒是还可以,但是开发环境什么的还要自己安装好麻烦
在这里我要告诉大家:
常用的 node、python、java、go 这些语言全都有!
gcc、mvn、gradle 这些也都不在话下,都不用自己安装直接用就行!
3、开发示例
说了这么多,就看环境各种好了,真的能做开发么,在这里给大家一个完整的示例。
首先打开一个前端项目,直接执行yarn
指令安装开发包
安装完成后执行yarn start
指令启动项目,下图中可以看到启动成功了
启动成功
这时候遇到了一个问题,启动成功了这个启动地址是本地的http://localhost:3000
,这也没法访问呀。不慌,点击本地地址访问,这个时候就能看到真的有页面!
访问http://localhost:3000
之后会自动跳转到 GitHub 提供的页面网址
除此之外,在左侧开发代码的时候,右侧也会自动更新变化,和本地开发的体验完全一致!
4、其他功能
除了和本地开发体验一致的之外,还可以看到更多的优势
- 不需要自己配置 SSH 了,GitHub 直接帮你配置好了
- 本地 VSCode 编辑器的菜单栏进行了移动,更好的优化显示空间
- Pull Request 和 Issue 的查看非常方便,结合 GitHub Action 简直爽歪歪
- 还有一个 Live Share 功能,使用这个可以一起看代码编程
5、小结
【本地 IDE 已废!编辑器大结局!】这句话并非完全的标题党,GitHub 处于 Beta 阶段的云编辑器有相当多的优点!
- 用完即走,有网络可以随时随地开发,不消耗本地资源
- 开发环境一应俱全,注册个账号就能直接在线写代码
- 结合 GitHub Actions 自动集成部署无痛点
- 结合 Issue、Projects、Wiki 和私有仓库等功能,对于小团队开发吸引力极强
VSCode 在本地开发编辑器中已经占据了半壁江山,如今 GitHub 的 Codespaces 则更上一层楼,期待该功能早日公测,给开发者更多选择和优质的体验
- Java基础-25(05)图形用户界面编程GUI
- Java基础-25(06)图形用户界面编程GUI
- 51. Socket服务端和客户端使用TCP协议通讯 | 厚土Go学习笔记
- 备库报警邮件的分析案例(二) (r7笔记第15天)
- Gotorch - 多机定时任务管理系统
- 备库报警邮件的分析案例(三)(r7笔记第16天)
- 简单易学的机器学习算法——神经网络之BP神经网络
- 24(02)多线程锁,线程通讯,线程组,线程池,多线程三种方式,匿名内部类,定时器,设计模式,单例模式,Runtime
- Go代码打通HTTPs
- 一个简单的MySQL参数导致的连接问题解惑(r7笔记第33天)
- [基础篇]Go语言变量
- [转载]Golang 编译成 DLL 文件
- [转载]Go JSON 技巧
- 简单易学的机器学习算法——Rosenblatt感知机的对偶解法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用XtraBackup备份MySQL 8.0 Part 5 对全备份进行恢复
- LeetCode题目32:最长的有效括号
- C++ 万字长文第二篇---拿下字节面试
- mysqldump命令详解 Part 9 --hex-blob 参数的使用
- 使用XtraBackup备份MySQL 8.0 Part 2 XtraBackup权限及配置
- 使用XtraBackup备份MySQL 8.0 Part 6 对数据库进行增量备份
- ArrayList源码阅读笔记
- 3分钟短文 | Laravel表单验证没规则可用?你试试自定义,真香!
- 【C#】DataGridView 数据绑定的一些细节
- 3分钟短文 | Laravel 查询结果检查是不是空,5个方法你别用错!
- 使用XtraBackup备份MySQL 8.0 Part 7 对增量备份进行恢复
- 3分钟短文 | Laravel 日志全程记录 SQL 查询语句,要改写底层?
- MySQL InnoDB表空间加密
- 微信小程序自动化测试最佳实践(附 Python 源码)
- 3分钟短文 | MySQL在分组时,把多列合并为一个字段!