VSCode之集成终端-用户自定义代码片段

原文链接

集成终端

VSCode集成了自带的终端,可以实现各种复杂的功能和操作,比用系统自带的终端强太多了,还可以和编辑器的各种功能进行互动可以说是非常强大了。这里介绍一下VSCode的集成终端的使用命令,和常见的使用小技巧。

Ctrl + ` 打开终端和隐藏终端

Ctrl + Shift + ` 打开新的终端 命令面板里搜索 “新建集成终端”

切换集成终端 可以快速调出终端显示的面板

Focus Next Terminal或者Focus Previous Terminal进行终端之间的切换

拆分终端”就能够将当前的终端一分为二;

命令面板里的“聚焦于下一个窗格” (Focus Next Pane)、“聚焦于上一个窗格” (Focus Previous Pane)用于切分终端之间的切换。

集成终端里面 Ctrl + F 调出搜索框

Windows10默认的终端是PowerShell而其它的windows系统默认的shell是Cmd

terminal.integrated.shell.windows

terminal.integrated.shell.osx

terminal.integrated.shell.linux,

这三个配置用来配置不同系统下的shell工具

terminal.integrated.shellArgs.linux配置 参数可以设置shell启动的时候的传入参数

terminal.integrated.env.osx

terminal.integrated.env.linux

terminal.integrated.env.windows

来控制集成终端创建 Shell 时,该使用哪些特殊的环境变量。

terminal.integrated.cwd 用于控制 Shell 启动时的初始目录;terminal.integrated.rightClickBehavior 控制鼠标右键点击时的行为;terminal.integrated.enableBell 可以控制当脚本出错时是否要发出响声。

terminal.integrated.scrollback 保存历史的输出的行数,

Cmd + K 来清除所有的输出结果

在集成终端中Ctrl+鼠标左键点击文件可以快速在编辑器中打开对应的文件

在活动终端中运行活动文件(Run Active File In Active Terminal)可以快速执行脚本文件

在活动终端中运行所选文本(Run Selected Text In Active Terminal),可以快速执行选中的文本

资源管理器中右击文件夹选择在终端中打开,便可以在终端中浏览对应的文件夹。

VSCode目前还不支持终端操作持久化到本地,需要记录之前的终端状态可以考虑使用Tmux.

下面我把常用的Terminal指令总结成了表格,并附上了我绑定的快捷键,不过要注意配置快捷键生效的时机防止快捷键和默认的快捷键发生冲突。

命令对应的功能快捷键
terminal.toggleTerminal切换到终端面板Ctrl + G
terminal.new创建新的集成终端Ctrl + Shift + `
terminal.split拆分终端Ctrl + \
terminal.unsplit取消拆分终端Ctrl + Shift + \
terminal.focusPreviousPane聚焦终端组中上一个终端Alt + Left
terminal.focusNextPane聚焦终端组中下一个终端Alt + Right
terminal.focusPrevious聚焦上一个终端组Alt + Up
terminal.focusNext聚焦下一个终端组Alt + Down
terminal.runSelectedText在活动终端中运行所选文本Ctrl + Alt + Insert
erminal.moveToEditor将终端移动到编辑器中**
terminal.moveToTerminalPanel将终端移动到面板中**
toggleMaximizedPanel最大化面板Ctrl + Alt + Up
action.terminal.kill关闭活动终端Ctrl + W
terminal.rename终端重命名Ctrl + Shift + N
terminal.focus聚焦到终端Ctrl + Shift + <
terminal.focusTabs聚焦到终端选项卡视图Ctrl + Shift + >

用户自定义代码

命令工具中搜索“配置用户代码片段”(Configure User Snippets)并且执行。我们可以根据需要选择创建对应语言的用户自定义代码片段。

将文件中的注释去除掉,就可以使用对应的代码示例了。

{
    "Print to console": {
        "prefix": "log",
        "body": [
            "console.log('$1');",
            "$2"
        ],
        "description": "Log output to console"
    }
}

键(key)是这个代码片段的名字,用来标识这个代码片段不要和其它的语言的代码片段发生冲突。

“prefix” 前缀和 “body” 内容这两个属性,是必须有的,“description”是选配属性。prefix配置代码片段的触发字符串,而body里面存的是对应的代码片段,description用来描述这段代码的作用。

代码片段里面可以插入Tab Stop,可以理解为输入焦点,当用户输入自定义代码之后可以修改对应的Tab Stop位置的代码。上面代码中$1,$2就是两个Tab Stop,插入自定义代码片段之后,光标会默认在$1的位置,按下Tab键之后光标会切换到$2的位置。按下Shift + Tab光标会切换回到$1的位置。

我们还可以在光标的位置插入对应的占位符号,相当于在光标处插入了默认值,并且插入的时候默认值会被选中,占位符号使用方法为${1:i},如果默认值不需要修改直接跳到下一个光标的位置进行修改。如果占位符都不需要修改,直接按Esc键跳出编辑模式就行。

"Print console": {
        "prefix": "log",
        "body": [
            "console.log(${1:i});",
            "$2"
        ],
        "description": "Log output to console"
    }

如果自定义代码片段里面有多个相同编号的光标占位符,会启动多光标模式

我们可以在代码片段中三个不同的位置插入 $1,这样编辑器就会为这三个不同的位置,分别创建一个光标,然后当我们打字的时候,他们就会被一起修改。

"Print to console": {
        "prefix": "log",
        "body": [
            "console.log(${1:index});",
            "console.log(${1:index} + 1); // ${1:i=index} + 1",
            "$2"
        ],
        "description": "Log output to console"
    }

VS Code 的代码片段支持里,还提供了一种模板,叫做预设变量。通过预设变量我们可以在自定义代码里面访问各种内容。想在代码片段里的某个位置使用剪切板的内容,那么我们在那个位置写上 $CLIPBOARD 就好了,如果我们希望插入代码片段后自己可以修改这个值,也可以将它放在一个 Tab Stop 里面,语法则是 ${1:$CLIPBOARD}。

预设变量列表有:

预设变量含义
TM_SELECTED_TEXT当前选中的文本
TM_CURRENT_LINE当前行的文本
TM_CURRENT_WORD当前光标位置的文本
TM_LINE_INDEX当前行号
TM_LINE_NUMBER基于索引的行号
TM_FILENAME 当前文档的名称
TM_FILENAME_BASE 不包含后缀的文件名称
TM_DIRECTORY 当前文件所在的目录
TM_FILEPATH 当前文档的路径
RELATIVE_FILEPATH 当前文档的相对路径
CLIPBOARD 剪切板的内容
WORKSPACE_NAME 当前工作区的名称
WORKSPACE_FOLDER 当前工作区的路径
CURRENT_YEAR当前的年份
CURRENT_YEAR_SHORT当前年份的后两位
CURRENT_MONTH当前月份
CURRENT_MONTH_NAME当前月份的名称
CURRENT_MONTH_NAME_SHORT当前月份的缩写
CURRENT_DATE当前的日期
CURRENT_DAY_NAME当前日期的名称(Monday)
CURRENT_DAY_NAME_SHORT当前日期的缩写(Mon)
CURRENT_HOUR当前的小时
CURRENT_MINUTE当前的分钟
CURRENT_SECOND当前的秒钟
CURRENT_SECONDS_UNIXUnix时间
RANDOM10进制的随机数
RANDOM_HEX16进制的随机数
UUIDUUID值
BLOCK_COMMENT_START代码块的注释开头
BLOCK_COMMENT_END代码块的注释结尾
LINE_COMMENT行注释

通过修改 editor.snippetSuggestions": "top“可以将自定义代码提示的位置放在提示列表的最上端。设置之后我们就可以快速的找到自己需要的代码片段。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值