整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

「第2479期」如何在iPad上用vscode写代码

「第2479期」如何在iPad上用vscode写代码

终于找到买iPad的理由了。今日前端早读课文章由@xiong投稿分享。

@xiong,深圳最大夜场高级前端工程师,喜欢钻研技术与生活上碰到的一些命题,并总结分享。

正文从这开始~~

iPad界有一句流行语叫"买前生产力,买后爱奇艺",刚入手的我一定要防微杜渐,绝不能让这件事发生(狗头)。

说到生产力,一般人会拿平板写文档和画画。作为程序员的我就当然要拿它来编程了。

遗憾的是,使用arm架构的iPad是不支持使用vscode开发的;幸运的是,vscode现在有网页版了。

趁着这次机会,我就来看看vscode网页版在平板上是否能满足需求吧。(答案是能的,大家可以把这篇文章甩给那些买了平板后只拿来看爱奇艺的码农朋友们了。)

方式一:github的vscode网页版

在github的项目上点一下键盘的"."键,就会进入vscode编辑器,可以很方便地修改和提交代码。


github上的vscode网页版

不过这个vscode是阉割版的,并不提供代码运行和调试功能,如果想拿来开发是不够用的。这个工具更多适用于当前电脑没有开发环境,或者临时快速修改一下代码就提交的场景而已了。


github版不能运行和调试

方式二:windows轻量应用服务器

一开始我想到的是在腾讯云的windows轻量应用服务器上安装vscode来实现平板上写代码的需求的。但可能这个是服务端的windows,不是功能完善的windows,在多个网站上点击下载vscode的按钮都没反应,平板上也登录不了这个服务器,屏幕显示又是4:3比例的小屏,综上各种不好体验,就放弃了。


windows服务器上的vscode

方式三:code-server

既然github提供的是阉割版的vscode,那我能不能自己搭建一个功能完整的vscode呢?

答案是能的,使用code-server就可以了。经过一轮摸索,我搭建好并且模拟日常开发工作尝试了一遍了。总体感觉不错,能满足一些简单的开发工作,例如编码、运行、调试、安装插件等,但离笔记本原生体验还是有一些距离,比如有时候会断网,反应也没本地开发灵敏等。


code-server可以运行和调试

至于他的原理,可以理解为code-server就是浏览器版的vscode。它是一个中转站,通过可视化操作在服务器上创建文件,编写代码,运行代码,执行命令等。


接下来介绍一下怎么通过code-server实现在iPad上写代码的美好愿望吧。

1、首先需要一台云服务器。

这里我买了腾讯云的ubuntu服务。

2. 安装code-server

登陆上云服务器后,按code-server的官方文档,应该是可以使用脚本来安装的:

// code-server 地址:https://github.com/cdr/code-server
// 安装命令
curl -fsSL https://code-server.dev/install.sh | sh

但可能是网络原因,安装速度十分慢。

此时我只能先把安装包下载下来,再上传到服务器上了。

上传到服务器可以用scp上传,具体步骤是:

获取公网 IP

登录云服务器控制台,在实例列表页面获取公网 IP。如下图所示:

执行scp命令上传文件,语法为

scp 本地文件地址 云服务器帐号@云服务器实例公网 IP/域名:云服务器文件地址

例如,您需要将本地文件 /Downloads/code-server_3.12.0_amd64.deb 上传至 IP 地址为 129.20.0.2 的云服务器的/home/ubuntu目录下,则执行的命令如下:

scp /Downloads/code-server_3.12.0_amd64.deb root@129.20.0.2:/home/ubuntu/code-server_3.12.0_amd64.deb

接着按向导登录云服务器及输入yes确认上传就行了。上传速度嗖嗖的。

上传完后,就是安装code-server了。安装命令为

sudo dpkg -i code-server_3.12.0_amd64.deb

启动code-server

等待安装完成后,就可以启动code-server了:

code-server --host "0.0.0.0"

注意后面的参数是需要的,否则服务器外面的机器是连不上的。


运行成功提示

除了设置这个参数外,还需要在服务器的安全组上设置允许8080端口访问。

配置好了后,就可以在浏览器上使用"公网ip:8080"来访问这个网页版vscode了。

第一次打开会询问密码,密码在~/.config/code-server/config.yaml文件中。

实测是可以调试的 (o)/~

将这个网站添加到主屏幕上,就能像一个app一样全屏打开vscode了。

让vscode可以在后台一直运行

当关掉腾讯云的登陆窗口后,vscode是会停掉的,此时就需要让他一直后台运行了。步骤如下:

1、安装screen

apt-get install screen

2、安装完成后新建一个窗口,

screen -S codeserver

3、进入窗口后运行code-server,然后 Ctrl+a+d 切换Linux窗口,会发觉它是不会中断的。

给vscode添加中文支持

使用快捷键Ctrl+shift+p,输入configure display language,

然后选择中文就行了。

安装node

作为前端开发自然少不了node,在ubuntu系统下执行以下命令就能安装了。

sudo apt install nodejs npm

然后执行node -v ,如果能看到安装的版本号,说明node已安装好了。

尾声

至此,你的iPad也能使用vscode来愉快地写代码了。实际上,只要有浏览器的地方,无论是用电脑、平板还是手机,你都可以使用它来写代码了,而且开发环境是一致的,也省了很多配置环境的麻烦事了。

很久很久以前,我就觉得背着沉重的电脑回家是件很痛苦的事,于是除了多买一部电脑外做过很多尝试,例如把旧的老台式机搬出来、给小米平板2刷windows系统等,但效果都不太好,这次给平板添加写代码功能也算是其中一个尝试吧。虽然现在可以带轻的笔记本,但假若能带更轻的平板出门又能满足日常需求,岂不是更美滋滋吗?

本文发布于前端早读课
作者:@熊金宝
来源:https://mp.weixin.qq.com/s/e_S03Y2OrYVZkgt3eB3ejg

.HTML的骨架

在编写html时我们们首先要写出以下代码。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

</body>
</html>


不要被这一大长串吓到,在VSCode编译器中html文件第一行打出“!”便会自动得到这些代码。我们来认识一下这些标签都是什么。

<!DOCTYPE html> 

html文件第一行必须是DTD(Document Type Definition,文档类型声明),不写DTD会引发浏览器的一些兼容问题。

<html lang="en">
.
.
.
</html>


<html></html>标签对,将<head></head>标签对和<body></body>标签对放入其中,lang属性为网页语言,英语为en,中文为zh。

注意:head标签对和body标签对需要在html标签对中缩进

<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

</body>
</html>


<head></head>标签对中是网页的配置,而并非网页头部

head标签对中<meta charset="UTF-8">为设置字符集,<meta>标签为元标签,表示网页的基础配置;

UTF-8为制作网页所使用的字符集,与gb2312的区别可参考下图。


<head></head>中的<title></title>中书写网页的标题,文字会显示在浏览器的标签栏上。title也是搜索引擎收录网站时显示的标题,所以我们需要合理的设置title以吸引用户的点击。

使用meta标签设置网页关键词和描述,name属性非常关键,用来设置meta的具体功能。

<meta name="Keywords" content="关键词1,关键词2,关键词3">
<meta name="Description" content="页面描述是搜索引擎显示的简介词语">

<body></body>标签对中用来写网页的主要内容,包括网页头部,内容,页脚等等。


2、标签

html叫做“超文本标记语言”,超文本标记就是标签,这些标签拥有不同的功能。

标签通常成对儿出现;但meta标签为单标签,只有起始标签。

标签可以给文字设置不同的“语义”。

1.标题标签

<h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5>五级标题</h5>    <h6>六级标题</h6>

实际显示效果如图。

搜索引擎非常看重<h1></h1>标签的内容,应该将重点内容比如网页的logo等放到<h1></h1>中以加大其权重。<h1></h1>标签一般只能放置一个,否则会被搜索引擎视为作弊。

六级标题虽然很像普通文本进行了加粗,但不应该仅仅为了加粗而使用<h6></h6>标签对。


2.段落标签——p标签对

<p>段落标签,p是英语paragraph的意思</p><p>在HTML文件中即使代码换行了,页面显示效果也不会换行</p><p>所以必须要把任何段落都放入段落标签中</p>    <p>段落标签中不能嵌套标题标签和其他段落标签</p>

在网页中显示的效果如图。


3.div标签

div是英语division“分割”的缩写,<div></div>标签对用来将相关的内容组合到一起,以和其

他内容分割,使文档结构更清晰。最重要的一点是,它可以结合CSS使用,实现网页的布局,这种布局形式叫做“DIV+CSS”。

div标签对的应用是html中非常重要的知识点。

<div>
<h3>标题三</h3>
<p>段落1</p>
<p>段落2</p>
<p>段落3</p>
    </div>


4.注释与转义字符

书写代码时,我们需要写好注释使日后再阅读代码或者他人阅读代码提供提示。

为了在书写“<”“>”等符号时不被当作标签,我们需要使用转义字符来表示它们。

<!-- 注释内容 -->
<p><为小于号</p>
<p>>为大于号</p>
<p> 为不会被折叠的空格</p>
    <p>?为版权符号</p>


在网页中显示的效果如图。


总结

通过此次的学习,我们认识了html骨架,标题标签,段落标签,div标签,注释写法与部分转义字符写法。下次的学习内容将会是列表标签和多媒体语义化标签。

/一、html

//a、HTML语法规范

//a.1基本语法概述

1、HTML标签是由尖括号包围的关键字,例如,

2、HTML标签通常是成对出现的,例如和,我们成为双标签,标签对中的第一个标签是开始标签,第二个标签是结束标签。

3、有些特殊的标签是单个标签(极少情况),例如

,我们称为单标签

//a.2标签关系

双标签关系可以分为两类:包含关系和并列关系。

//b、HTML基本结构标签

//b.1第一个HTML网页

每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上写的。

HTML页面也称为HTML文档

标签名

定义

说明

<html></html>

HTML标签

页面中最大的标签,我们称为根标签

<head></head>

文档的头部

注意在head标签中我们必须要设置的标签是title

<title></title>

文档的标题

让页面拥有一个属于自己的网页标题

<body></body>

文档的主体

元素包含文档的所有内容,页面内容,基本都是放到body里面的

必须是.html或.htm,浏览器的作用是读取HTML文档,并以网页的形式显示出它们。

此时,用浏览器打开这个网页,我们就可以预览我们写的第一个HTML文件了。

//c、开发工具vscode

1、<!DOCTYPE>标签
文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页

<!DOCTYPE html>这句代码的意思是:当前页面采用的是HTML5来显示页面。

2、lang语言

用来定义当前文档显示的语言:

a、en定义语言为英语

b、zh-CN定义语言为中文

简单来说定义为en就是英文网页,定义为zh-CN就是中文网页

其实对于文档显示来说,定义成en的文档也可以显示中文,定义zh-CN的文档也可以显示英文

这个属性对于浏览器和搜索引擎(百度、谷歌等)还是有作用的

3、charset字符集

字符集是多个字符的集合,以便计算机能够识别和存储各种文字

在标签内,通过标签的charset属性来规定HTML文档应该使用哪种字符编码。

charset常用的值:GB2312、BIG5、GBK和UTF-8,其中UTF-8也称为万国码,基本包含了全世界所有国家需要用到的字符。

注意:上面语法是必须写的代码,否则可能引起乱码的情况,一般情况下,统一使用"UTF-8"编码,尽量统一写成标准的"UTF-8",不要写成"utf-8"或"UTF8"。

//d、HTML常用标签

//d.1标签语义

学习标签是有技巧的,重点是记住每个标签的语义,简单理解就是指标签的含义,即这个标签是用来干嘛的

根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰。

//d.2标题标签

-

(重要)

为了使网页更具有语义,我们经常会在页面中用到标题标签,HTML提供了6个等级的网页标题集

-

特点:

1、加了标题的文字会变得更加粗,字号也会依次变大。

2、一个标题独占一行。

//d.3段落和换行标签(重要)

在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示,在HTML标签中,

标签用于定义段落,它可以将整个网页分为若干段落。

<p>我是一个段落标签</p>标签语义:可以把HTML文档分割为若干段落。

特点:
1、文本在一个段落中会根据浏览器窗口的大小自动换行。
2、段落和段落之间保有一个较大的空隙。

在HTML中,一个段落中的文字从左到右依次排列,直到浏览器的右端,然后自动换行,如果希望某段文本强制换行显示,就需要使用换行标签

<br />

单词break的缩写,意为打断,换行。

特点:

1、单标签

2、

标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。

//d.4文本格式标签

在网页中,有时需要为文字设置粗体,斜体或下划线等效果,这时就需要用到HTML中的文本格式标签,使文字以特殊的方式显示

标签语义:突出重要性,比普通文字更重要。

语义

标签

说明

加粗

<strong></strong>或者<b></b>

更推荐使用<strong></strong>标签加粗,语义更强烈

倾斜

<em><em> 或者<i><i>

更加推荐使用<em><em>标签,语义更加强烈

删除线

<del><del>或者<s><s>

更加推荐使用<del><del>标签,语义更加强烈

下划线

<ins><ins>或者<u><u>

更加推荐<ins><ins>标签,语义更加强烈

//d.5<div>和<span>标签
<div>和<span>是没有语义的,它们就是一个盒子,用来装内容。

<div>这是头部</div>
<span>今日价格</span>

div是division的缩写,表示分割,分区,span意为跨度,跨距。

特点:

1、<div>标签用来布局,但是现在一行只能放一个<div>,大盒子。

2、<span>标签用来布局,一行上可以有多个<span>,小盒子

//d.6图像标签和路径(重点)

1、图像标签

在HTML标签中,<img>标签用于定义HTML页面中的图像。

<img src="图像url"/>

单词image的缩写,意为图像

src是<img>标签的必须属性,它用于指定图像文件的路径和文件名。

所谓属性:简单理解就是属于这个图像标签的特性。

图像标签的其他属性:

属性

属性值

说明

src

图片路径

必须属性

alt

文本

替换文本,图像不能显示的文字

title

文本

提示文本,鼠标放到图像上,显示文字

width

像素

设置图像的宽度

height

像素

设置图像的高度

border

像素

设置图像的边框粗细