Inhaltsverzeichnis
snippets 基础
实战案例
总结
Heim Entwicklungswerkzeuge VSCode Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

Jan 18, 2022 am 10:18 AM
vscode

VSCode支持自定义 snippets,可以极大提高开发效率。下面本篇文章就来给大家通过一个案例来学会 VSCode Snippets,希望对大家有所帮助!

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

snippets 是片段的意思,VSCode 支持自定义 snippets,写代码的时候可以基于它快速完成一段代码的编写。【推荐学习:《vscode入门教程》】

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

不只是 VSCode,基本所有的主流编辑器都支持 snipeets。

一个功能被这么多编辑器都支持,那肯定是很有用的,但是这功能大多数人都没用起来。

我之前写的 snippets 文章中讲了 snippets 支持的各种语法和配置方式,但是并没有用这些来做一个真实的案例。

所以,这篇文章就来讲一个真实的 snippets,基本用到了所有的 snippets 语法。能独立把它写出来,就可以说 snippets 已经掌握了。

我们还是先回顾下 VSCode 的 snippets 语法

snippets 基础

snippets 是这样的 json 格式:

{
    "alpha": {
        "prefix": ["a", "z"],
        "body": [
            "abcdefghijklmnopqrstuvwxyz"
        ],
        "description": "字母",
        "scope": "javascript"
    }
}
Nach dem Login kopieren
  • prefix 是触发的前缀,可以指定多个
  • body 是插入到编辑器中的内容,支持很多语法
  • description 是描述
  • scope 是生效的语言,不指定的话就是所有语言都生效

body 部分就是待插入的代码,支持很多语法,也是一种 DSL(领域特定语言)。

支持通过 $1、$2 指定光标位置:

"$1  xxxx",
"yyyy $2"
Nach dem Login kopieren

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

可以多光标同时编辑:

"$1  xxxx $1"
Nach dem Login kopieren

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

可以加上 placeholader,也可以做默认值:

"${1:aaa}  xxxx",
"yyyy ${2:bbb}"
Nach dem Login kopieren

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

可以提供多个值来选择:

"${1|卡颂,神光,yck|}最帅"
Nach dem Login kopieren

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

还提供了一些变量可以取:

"当前文件: $TM_FILENAME",
"当前日期: $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE"
Nach dem Login kopieren

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

而且还能对变量做正则替换:

"${TM_FILENAME/(.*)\\.[a-z]+/${1:/upcase}/i}"
Nach dem Login kopieren

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

基本语法过了一遍,大家知道支持啥就行,后面我们来做个真实的案例,把这些用一遍就会了。

通过 command + shift + p,输入 snippets 然后选择一种范围:

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

snippets 有 project、global、language 3 种生效范围。我个人写 global 级别的比较多,项目和语言级别的也可以。

基础过完了,接下来我们就来写一个 snippets 吧。

实战案例

我最近在做 vue 的项目,写 router-link 比较多,所以封装了个 router-link 代码的 snippets。

我们先写个最简单的版本:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<router-link to={ name:&#39;xxx&#39;, params: {id: 1} } target=&#39;_blank&#39;>link</router-link>"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

这个没啥好说的,就是根据前缀补全内容:

Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

然后在 name、id、链接文字处加三个光标,也就是 $1、$2、$3:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<router-link to={ name: $1, params: {id: $2} } target=&#39;_blank&#39;>$3</router-link>"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

可以按 tab 键快速编辑其中变化的部分:

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

然后加上 placeholder:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<router-link to={ name: &#39;${1:RouteName}&#39;, params: {id: ${2:id}} } target=&#39;_blank&#39;>${3:link}</router-link>"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

其实 target 部分也是可选的,这里我们用多选来做:

选项有两个,就是 target="_blank" 或者空格。

${3| ,target=\"_blank\"|}
Nach dem Login kopieren

所以 snippets 就变成了这样:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "${4:link}"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

跳转地址大多数是和当前文件名有关,比如 XxxYyyZzzList 跳转 XxxYyyZzzDetail 的比较多。

所以我们默认值取当前文件名,用 TM_FILENAME 变量(所有可用变量可以在 vscode 官网查):

${1:$TM_FILENAME}
Nach dem Login kopieren

现在的 snippets:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "${4:link}"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

效果是这样:

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

确实把文件名填上去了,但是还要手动改,能不能填上去的就是改了之后的呢?

可以,变量支持做 transform,也就是正则替换:

XxxList.vue 要取出 Xxx 来,然后拼上 Detail,这样的正则不难写:

用 js 写是这样的:

&#39;XxxList.vue&#39;.replace(/(.*)List\.vue/,&#39;$1Detail&#39;)
Nach dem Login kopieren

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

在 snippets 里也差不多,只不过用 / 分开:

${TM_FILENAME/(.*)List\\.vue/$1Detail/i
Nach dem Login kopieren

所以 snippets 就变成了这样:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "${4:link}"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

填入的代码都是替换好了的:

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

链接的内容我们希望用选中的内容,这个也有变量,就是 TM_SELECTED_TEXT。

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

最后,我们希望 router-link 这个标签也可以变,而且改的时候开闭标签可以一起改。

这个要用多光标编辑,指定多个 $x 为同一个数字就行。

<${5:router-link}></${5:router-link}>
Nach dem Login kopieren

效果就是这样的:

1Lassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!

这就是最终的 snippets,所有 snippets 语法都用了一遍。

完整 snippets 如下,大家可以在 VSCode 里用用看,用起来体验还是很爽的:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<${5:router-link} to={ name: '${1:${TM_FILENAME/(.*)List\\.vue/$1Detail/i}}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:$TM_SELECTED_TEXT}"
        ],
        "description": "router-link 跳转"
    }
}
Nach dem Login kopieren

总结

基本所有主流编辑器都支持 snippets,也就是配置代码片段来提高开发效率,VSCode 也不例外,这是一个很有用的功能。

VSCode snippets 支持 global、project、language 3 种生效范围。我个人用全局的比较多。

它也算是一种 DSL 了,支持很多语法,比如指定光标位置、多光标编辑、placeholder、多选值、变量、对变量做转换等语法。

  • 指定光标位置:$x
  • 多光标编辑:$x $x
  • 指定 placeholder 文本:${x:placeholder}
  • 指定多选值:${x|aaa,bbb|}
  • 取变量:$VariableName
  • 对变量做转换:${VariableName/正则/替换的文本/}

我们写了一个 router-link 的 snippets,综合运用了这些语法,过一遍就会了。

能自己定义适合自己的 snippets,对于提高开发效率是很有帮助的。如果没写过,不妨从今天开始试一下吧。

更多关于VSCode的相关知识,请访问:vscode教程!!

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie Snippets in VSCode verwenden, um die Entwicklungseffizienz zu verbessern!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

So definieren Sie Header -Dateien für VSCODE So definieren Sie Header -Dateien für VSCODE Apr 15, 2025 pm 09:09 PM

Wie definiere ich Header -Dateien mithilfe von Visual Studio -Code? Erstellen Sie eine Header -Datei und deklarieren Sie Symbole in der Header -Datei mit dem Namen .h oder .HPP -Suffix (wie Klassen, Funktionen, Variablen) das Programm mit der #include -Direktive kompilieren, um die Header -Datei in die Quelldatei aufzunehmen. Die Header -Datei wird enthalten und die deklarierten Symbole sind verfügbar.

So lösen Sie das Problem der VSCODE -chinesischen Annotationen, die Fragen zu Fragen werden So lösen Sie das Problem der VSCODE -chinesischen Annotationen, die Fragen zu Fragen werden Apr 15, 2025 pm 11:36 PM

So lösen Sie das Problem, dass chinesische Kommentare im Visual Studio-Code zu Fragenzeichen werden: Überprüfen Sie die Dateikodierung und stellen Sie sicher, dass es sich um "UTF-8 ohne Bom" handelt. Ändern Sie die Schriftart in eine Schriftart, die chinesische Charaktere wie "Song Style" oder "Microsoft Yahei" unterstützt. Installieren Sie die Schriftart neu. Aktivieren Sie die Unterstützung von Unicode. Aktualisieren Sie VSCODE, starten Sie den Computer neu und erstellen Sie die Quelldatei neu.

So wechseln Sie den chinesischen Modus mit VSCODE So wechseln Sie den chinesischen Modus mit VSCODE Apr 15, 2025 pm 11:39 PM

VS-Code zum chinesischen Modus wechseln: Öffnen Sie die Einstellungsschnittstelle (Windows/Linux: Strg, MacOS: CMD,) Suchen

Gemeinsame Befehle für VSCODE Terminal Gemeinsame Befehle für VSCODE Terminal Apr 15, 2025 pm 10:06 PM

Common commands for VS Code terminals include: Clear the terminal screen (clear), list the current directory file (ls), change the current working directory (cd), print the current working directory path (pwd), create a new directory (mkdir), delete empty directory (rmdir), create a new file (touch) delete a file or directory (rm), copy a file or directory (cp), move or rename a file or directory (MV) Dateiinhalt anzeigen (CAT) Dateiinhalt anzeigen und scrollen (weniger) Dateiinhalt anzeigen Inhalt nur Scrollen Sie nach unten (mehr) Zeigen Sie die ersten Zeilen der Datei an (Kopf).

So setzen Sie VSCODE auf Chinesisch So setzen Sie VSCODE auf Chinesisch Apr 15, 2025 pm 09:27 PM

Es gibt zwei Möglichkeiten, eine chinesische Sprache im Visual Studio -Code einzurichten: 1. Installieren Sie das chinesische Sprachpaket; 2. Ändern Sie die Einstellungen "Gebietsschema" in der Konfigurationsdatei. Stellen Sie sicher, dass die Visual Studio -Code -Version 1.17 oder höher ist.

So setzen Sie VSCODE So setzen Sie VSCODE Apr 15, 2025 pm 10:45 PM

Befolgen Sie die folgenden Schritte, um VSCODE zu aktivieren und festzulegen: Installieren und Starten von VSCODE. Benutzerdefinierte Einstellungen einschließlich Themen, Schriftarten, Räume und Codeformatierung. Installieren Sie Erweiterungen, um Funktionen wie Plugins, Themen und Werkzeuge zu verbessern. Erstellen Sie ein Projekt oder eröffnen Sie ein vorhandenes Projekt. Verwenden Sie IntelliSense, um Code -Eingabeaufforderungen und -abschlüsse zu erhalten. Debuggen Sie den Code, um den Code durchzusetzen, Breakpoints festzulegen und Variablen zu überprüfen. Schließen Sie das Versionskontrollsystem an, um Änderungen zu verwalten und Code zu bestimmen.

VSCODE Vorheriger nächster Verknüpfungsschlüssel VSCODE Vorheriger nächster Verknüpfungsschlüssel Apr 15, 2025 pm 10:51 PM

VS Code One-Step/Nächster Schritt Verknüpfungsschlüsselnutzung: Einschritt (rückwärts): Windows/Linux: Strg ←; macOS: CMD ← Nächster Schritt (vorwärts): Windows/Linux: Strg →; macos: cmd →

See all articles