用户登录

在开发应用的时候,经常要重复写的代码块,我们可以把它定义成一个代码片断。这个代码片断可以是全局的,也可以针对某种特定的开发语言,或者一个特定的项目。

在我们开发的这个项目里,经常会写一些接口的处理器,或者一些中间件,打开 src/post 下面的 post.controller,比如这里的这个 store,它就是一个接口处理器,其实就是一个支持特定参数的函数,这些参数都有一个特定的类型。

现在我们可以把它定义成一个代码片断,这样就可以快速创建这种处理器或者中间件了。

打开 命令面板,command + shift + P ,然后搜索一下 snippets,可以打开这个 配置用户代码片断。我的编辑器里已经有了一些代码片断,比如这个 typescript.json 是专门给 TypeScript 这种语言准备的代码片断。

另外我们也可以创建全局代码片断,也可以专门给这个项目创建代码片断,选择给这个项目创建代码片断。然后输入一个文件的名字,比如 xb2-node

这样就会在项目里创建一个代码片断文件,放在了 .vscode 这个目录的下面,文件的名字是 xb2-node.code-snippets 。 打开这个文件,文件的格式是 JSON,可以先去掉这些注释内容。

在项目里之前我们忽略掉了 .vscode 里的一些文件,如果你想在源代码管理里面保留这个定义代码片断的文件,可以打开 .gitignore 这个文件,这里再添加一个 !.vscode/*.code-snippets

再打开这个代码片断文件,继续编辑一下。 先给要定义的代码片断起个名字,比如 Express handler / middleware。

具体的配置放在一个对象里面,然后先用 prefix 属性设置一下这个触发这个代码片断的字符,比如 eh,这样在我们这个项目里,输入 eh 就可以快速创建这里要定义的这个代码片断里的代码。

代码片断的代码放在 body 属性里面,它的值应该是个数组,每一行代码都是这个数组里的一个项目。

回到这个 post.controller,复制一下这个接口的处理器,然后新建一个空白的文件,把复制的代码粘贴到这里。再修改一下。

在要定义的代码片断里面可以插入一些编辑点,用 tab 键可以切换到下一个编辑点。比如这个注释内容这里可以插入一个编辑点, $1 ,表示这是这个代码片断里第一个要编辑的地方。

第二个要编辑的地方是这个函数的名字,${2:NAME} ,这样在没有编辑这个地方的时候,这里会显示一个 NAME 。

第三个要编辑的地方是这个函数的主体部分。去掉主体内容,换成一个编辑点,$3 ,表示这是第三个要编辑的地方。

我们需要把这块代码作为代码片断的主体,主体是个数组,每一行代码都是一个项目。我们得在每行代码的周围用双引号包装一下,这里可以用编辑器的查找替换功能。command + F 打开编辑器的查找功能。

要查找的东西是每一行的开始,用一个 ^ 表示,这是正则表达式里的一种写法,打开查找功能的使用正则表达式,这样就会找到每一行的开始。然后替换成一个双引号。选择替换全部。这样每行代码的开始的地方都会出现一个双引号。

每行代码结束的地方也要加上一个双引号,还需要一个逗号。这次要查找的是 $,表示结尾,替换成双引号加逗号。选择全部替换。剪切一下准备好的代码,打开定义代码片断文件,把它粘贴到定义的这个代码片断的主体里面。

下面可以在项目里试一下这个代码片断。在项目里输入 eh,就会出现刚才我们定义的这个代码片断。按下回车,或者 Tab 键可以在项目里插入这个代码片断。

输入一段注释,再按一下 tab 键,会跳转到这个代码片断的第二个编辑点上。设置一下函数的名字,然后再按一下 tab 就可以继续编辑这个函数的主体部分了。

回到这个代码片断文件,这里我们再定义一个代码片断。复制一份之前定义的这个代码片断。 然后修改一下它的标题,Async function ,再修改一下它的 prefix,可以设置成 asf,表示 Async function 。

去掉在函数里添加的这些参数,可以在这里插入一个编辑点,$3,这样函数主体部分这个编辑点就是 $4 。

在项目里可以再试一下 Async function 这个代码片断,打开 post.service, 输入 asf ,这样就会出现我们定义的这个代码片断,按下回车或者 tab 键,可以快速在项目里定义一个异步函数。

你可以使用同样的方法在项目里定义自己需要的代码片断。

VSCode:项目代码片断《 Node.js 服务端应用开发:上传文件 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点