vscode php snippet,为vscode写snippet插件

2023-10-08 01:10
文章标签 php vscode 插件 snippet

本文主要是介绍vscode php snippet,为vscode写snippet插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文为博主原创, 转载请注明原作者 @[xioqua] xioqua

本文将教大家怎么为vscode里写一个snippet插件,我默认大家全无基础,大家跟我一步步做下去,就能得到一个自己的snippet插件。以此为蓝本,以后不管想为vscode添加什么语言、库或者框架的snippet都不在话下。

Let's Go...

环境配置

安装 vscode

为vscode写插件,首先得有vscode,直接去官网选择适合自己操作系统的版本下载即可.

安装node

接着便是配置必备的nodejs,这里我并不推荐大家直接去官网下载nodejs,原因是node版本迭代实在太快。推荐大家先去下载安装nvm.

node 简而言之就是 服务端js的运行库,类似客户端的DOM;

nvm 即 node version manager,管理node版本的工具。

对于windows用户,nvm的安装有几个要点要注意

首先windows用户装nvm在这里,

安装之前务必把原先的nodejs给卸载干净,以前的npm包也得搞干劲。

卸载nodejs直接去系统自带的安装卸载服务即可;

删掉掉npm包即去删掉 C:UsersAppDataRoamingnpm"和 一个npm的cache(缓存)文件。如果你不放心,大可以全磁盘搜索npm、node字眼再做处理。

windows的nvm是一个安装包,安装的时候会有2次选择路径;第一次是nvm的安装路径,第二次则是nvm为node存放的软链接地址,默认放在C:Program Files下的nodejs目录,目录上有个快捷键标识。

这么折腾一番之后,以后你想怎么切换node都不是问题了,那么怎么切换呢,官网推荐windows用户使用cmder.看起来很漂亮的terminal程序啊,虽然跟linux/mac还是差了一大截。不过本人用的是git自带的bash.

安装git

安装git的目的有2个,一是代码管理功能,使用它就能把我们写的代码啊、数据啊上传到github,另一个就是其自带了一个Git bash程序,使用它基本可以模拟linux端的部分常用命令。

这里继续给出windows用户的下载地址git win 64(本人是win10环境,自然多照顾win10同胞了,笑

注意 是git的安装并不是Github desktop的安装,后者是专门针对Github的客户端,换言之,只有前者才是真正的git服务,后者只是个使用服务的壳子。当然你要想用,也可以下载下来试试。

配置vscode环境

打开vscode,按下F1,输入setting,选择 user setting这项。

vocode会打开2个标签,左边是只读的,右边是你设置的,照着改就行。

用户设置和工作区设置的区别在于用户设置管理范围更大,工作区设置只针对当前打开的工作项目。一般情况下,我们都是直接对用户设置进行更改。

更多关于vscode配置请关注我的笔记专列

在vscode终端配置依赖

在上一步我们已经设置好了vscode,现在按 Ctrl+` ,终端出来了。

分别键入以下命令:

nvm list

查看你的电脑安装了哪些版本的nodejs。目前我们什么都没安装。

nvm install latest

nvm install 6.9.2

分别下载安装node的最新版和长期稳定版(PS: 长期个屁,还不是老是换),

这个6.9.2是我去官网看的,并没找到nvm怎么直接安装长期稳定版,知道的同学请告诉我。

nvm use 6.9.2

这里我们使用长期稳定版,这时电脑会给出2次提示,直接按“是”。

再次按

nvm list

检查自己用的是哪个版本。

下面检查node版本和npm版本

node -v

npm -v

OK,一切就绪。

接着安装yeoman和 vscode团队为我们写的generator。

yeoman可以看做做项目的初始化工具,使用它你只要在命令行敲几句命令就可以一键生成项目结构,省去了你自建文件、文件夹、写各种配置文件的麻烦。

npm install -g yo

一定要安装到全局,毕竟yeoman这工具以后肯定还经常用。

安装vscode的generator(中文:生成器)

npm install -g yo generator-code

这里也尽量全局,因为这个生成器不是只用一次,以后为vscode开发插件、写snippet、theme、language等扩展都用得上。

yo code

bVHk0a?w=545&h=203

注意: 经本人尝试,不要直接用 Git bash客户端打开,要直接集成到vscode里用。否则会出现不响应上下方向键的问题。如果出了问题,请试着更换vscode皮肤再重启。

选择最后一个new code snippets.

好了,出现下面

bVHk0v?w=736&h=276

它的意思是叫我给出snippet的目录地址。

so what?

可以看到与写插件不同,snippet需要你提前写好代码,而这里仅仅是一个转换器。

按Ctrl+C强行退出终端。

下面教大家一个简单的写snippet的方法。

snippet语法解析

首先,第一种情况,大家可以按F1,输入snippet,打开用户代码段,选择合适的语言,比如javascript,进去照着输入就可以了。不过这种方式不是插件形式的,意思是什么?想想插件有什么好处?

定制啊,即插即用啊,当你vscode不在了,你的插件已经去了vscode的官方市场,想什么下载就什么时候下载。当然你有可以人工保存。不过,目前我还未找到用户自定义的javascript.json被放在哪里了,知道的同学请告知我。

bVHk1m?w=624&h=388

这就是自定义snippet,好处是可以把多个snippet写在一个文件里,且语法简单一看就明白。缺点就是卸载了vscode可能就需要重写。当然你也可以保存下这个javascript.json用到的时候再复制进去。对于所有很多snippet都在一个文件导致的管理问题,可借助注释人为划分。

比如分为

// core js

// dom

// nodejs

// jQuery

// lodash

// ...

毕竟js的库与框架实在是太多太多了。

个人建议,用户snippet作为临时需要;而后都应该转成插件snippet。

当代码写多了,再对这里用户snippet做整理做成插件形式。

第二种方案,则是下载别人的snippet插件,去

C:Users.vscodeextensions找到插件文件夹里的一个生成的json的文件,直接在这上面加,加完了重启vscode也能看到效果。

这样的好处是非常便捷,以前讲的步骤都可以不用知道,够用就行。缺点是要困于别人的插件体系,如果别人管理是乱的你就会跟着他乱掉。你也不能发布它,只能搞完了记得备份。自己偷偷用业是OK的。

第三种方案,是官网推荐的TextMate snippet syntax,我直到看到语法形式你肯定不知所云了,没关系,我不用这种。

第四种方案,是用sublime的snippet格式。

没有sublime也不要紧,我们只是需要一个格式文档

bVHk3i?w=598&h=175

这就算咯,不过,请去掉注释,且scope和tabTrigger必须要写,而不是可以Optional.

下面这个gif操作只是本地化的插件不涉及发布到vscode市场

bVHliS?w=804&h=524

注意sublime的snippet一个文件只能存放一个snippet,放在一个文件夹里。

发布

发布操作也很简单,参考vsce

这篇关于vscode php snippet,为vscode写snippet插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161681

相关文章

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

如何将文件夹里的PHP代码放到一个文件里

find ./dir -name "*.php" -exec 'cat' {} \; > dir.out

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re

PHP防止SQL注入详解及防范

SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞。 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。 对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的

PHP防止SQL注入的方法(2)

如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子: $unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')"); 这是因为用户可以输入类似VALUE”); DROP TA