- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章利用 Vscode snippets 和项目成员一起提高开发效率由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
code snippets 是代码片段的意思,是 vscode 提供的根据某字符串快速补全一段代码的功能,可以提高写代码的效率.
vscode 的 snippets 是可以随项目共享的,多人开发一个项目的时候,可以维护项目级别的 snippets 并且通过 git 共享,来提高项目开发效率.
下面我们来详细了解下 snippets.
snippets 配置的格式如下:
其中 body 部分可以通过 ${} 的方式指定光标位置、顺序、占位字符串、可用的值等,有 5 种语法,我们分别来看一下:
可以通过 $1、$2 指定光标位置,当填入 snippets 的内容之后,光标会设置到 $1 的位置来编辑,当编辑完,可以通过 tab 来跳到 $2.
比如这段配置:
效果为:
还有当有多个 $1、$2 等,编辑一处其他内容也会同步修改,也就是 vscode 的多光标编辑.
比如:
效果为:
通过这种功能可以快速编辑 snippets 中的可编辑内容.
只是光标跳转虽然可以快速编辑内容,但是不知道编辑的部分是什么,所以 snippets 支持了设置 placeholder 的值,默认会选中该段文本,输入内容即可覆盖.
比如:
效果为:
占位符的方式就像 input 标签加了个 placeholder 属性,还是要手动输入,当可编辑区域是有几个可选的值的话,就要换成下拉选择,在 snippets 里就是通过
${1|text1,text2,text3|} 的方式支持,在 | 和 | 之间填入通过 , 分割的多个选项.
比如:
效果为:
在模版可编辑位置填入内容的时候,有的时候需要用到选中的值、剪贴板的值、文件名、日期等,这些信息通过 snippets 中支持的变量来取.
比如:
可以取这些变量的值来填入到光标位置,方式就是使用 $TM_FILENAME、$CURRENT_YEAR 的方式.
比如:
效果为:
支持了变量的填入还不行,因为有的变量的内容不合适,需要做一些字符串替换,所以 snippets 只吃了 transform 的功能.
比如 abc-123.js 的文件, 。
我们通过 $TM_FILENAME 取到文件名,然后把后缀去掉转成大写填入 。
对文件名 TM_FILENAME 做正则匹配 (.*).[a-z]+,把分组一变成大写之后返回,匹配模式为忽略大小写(ignore).
我们实验下效果:
可以看到,正确的取到了文件名,并且去掉后缀转成大写填入了.
知道了 snippets 的功能,那么怎么设置 snippets 呢?snippets 在什么范围内生效呢?
command + shift + p 打开命令面板,输入 snippet,选择 configure user snippets:
可以选择创建全局的、项目范围的、语言范围的 snippets:
分别会打开不同位置的文件来添加 snippets.
语言级别的 snippets 是对于特定语言才生效,这个还可以封装成插件。在插件的 package.json 中配置下即可:
项目范围的 snippets 是在项目根目录的 .vscode/xxx.code-snippets 下面添加的,vscode 启动的时候会读取这些文件,然后使之在项目范围内生效.
当有一些项目级别的代码片段可以共享的时候,完全把这个文件提交到远程 git 仓库,然后项目成员都可以共享这些 snippets 设置。对于一些模版代码比较多的项目,还是比较有意义的.
snippets 是 vscode 提供的用于提高开发效率的一些快速输入代码片段的功能,支持光标位置的跳转、多光标同时编辑、占位符、可选值、变量、变量转换等功能,灵活运用这些功能,可以作出易用的提高开发效率的 snippets.
snippets 有 global、language、project 3 种生效范围:global 是全局的设置;language 是语言级别的设置,可以进一步封装成插件共享;project 则是项目范围内的,在 .vscode 下的 xx.code-snippets 中,完全可以提交到 git 仓库,和其他成员共享.
灵活运用 snippets 功能,是可以提高开发效率的,而且这个也是可以项目级别共享的。希望这篇文章能够帮大家了解 snippets.
原文链接:https://mp.weixin.qq.com/s/Z1IlqbIFaPoO540EUlHvEg 。
最后此篇关于利用 Vscode snippets 和项目成员一起提高开发效率的文章就讲到这里了,如果你想了解更多关于利用 Vscode snippets 和项目成员一起提高开发效率的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
在过去四年使用 Rails 1 和 2 后,我正在开发我的第一个“真正的”(而不是玩弄)rails 3 项目。在销毁操作的 js block 中,我想做一些典型的事情:删除页面上包含已删除资源的 di
我正在尝试使用谷歌代码片段测试工具测试以下代码片段,但我得到的只是“此页面不包含作者身份或丰富的代码片段标记”并且它变得非常烦人任何想法可能是什么问题?? Linas Located at Plaz
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在尝试按照UltiSnips的作者在他制作的http://www.youtube.com/watch?v=f_WQxYgK0Pk教学视频中以1:28的方式创建一个新的代码段 您如何将“endsni
“代码片段执行”是指无需启动 IDE 和创建虚拟项目即可编写几行代码、运行和测试它的能力。 这对于帮助人们使用小代码示例而无需创建项目、干净地编译所有内容、向他们发送代码片段和删除项目非常有用。 我不
是否可以在 Visual Studio Code 中添加自定义代码片段?如果是这样,怎么办? VSCode是基于Atom的,所以应该是可以的。 最佳答案 点击 > shift + 命令 + p 并输入
当我将视频上传到YouTube channel 时,我希望能够指定defaultLanguage。但是,docs似乎没有指定我应该放入哪种字符串。 string This property is co
是否有在线工具可以在开发团队之间共享和跟踪代码片段? 我的队友就坐在我旁边,而 GTalk 不足以粘贴较大的片段。 如何“复制粘贴”或拖动源文件或代码片段以在编码人员之间共享?它应该记住所有以前的片段
我通常需要在代码注释中写很多简短的代码,比如this。这可以在 Apple 的 Headerdoc 中使用吗?因为这种类型的代码表示法通常被大量使用,所以我相信有一种方便的方法来做到这一点,而不是标记
任何人都有一个片段(或知道哪里有)来创建片段?几周前我在 Visual Studio 片段的视频演示中看到了一个,但我不记得它在哪里。 最佳答案 片段说明: http://msdn.microsoft
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 9 个月前关闭。 Improve t
这是一个很简单的问题,但是除了自述文件外,我找不到任何文档。 我如何在Atom Editior中具有多个自定义片段: 例如我现在在我的snippets.cson中有这个 '.source.js':
我的意思是任何一段代码,或者一个用伪代码呈现的想法,一些非常重要的东西,现在几乎是艺术。 我打算在我的办公室周围放几幅画和纸上作品,描绘工程,而不是庆祝工程。我希望他们不像 e=mc2 那样普通,或者
我想在我的代码片段中注入(inject)当前的命名空间。有没有人有想法帮助我? ClassName 函数返回包含插入片段的类的名称。有命名空间的东西吗? 谢谢,法比安 片段示例:
最近我了解到 http://schema.org我将它实现到我的网站。 我有几个问题: 为什么我在丰富网页摘要测试工具中看到价格标签,但在 Google 结果中却看不到。看看结果:http://www
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
code snippets 是代码片段的意思,是 vscode 提供的根据某字符串快速补全一段代码的功能,可以提高写代码的效率。 vscode 的 snippets 是可以随项目共享
我想更好地组织我的文件,想知道我是否可以使用 comet 中的子目录、片段文件夹等? 类似于: code -> comet -> folder1
我正在使用从 coursera 上的 Scala courers 获取的一些 Scala 代码: package src.functional.week4 abstract class Boolean
我正在尝试覆盖 Atom 中的默认代码段,因为我想将默认脚本代码段从 到 我已将以下内容放入snippets.cson。 '.text.html': 'Comment': 'prefi
我是一名优秀的程序员,十分优秀!