2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Help:使用VS Code协助编辑条目/预置代码

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Commons-emblem-notice.svg
这个页面“Help:使用VS Code协助编辑条目/预置代码”是萌娘百科的帮助文档
  • 本文用于介绍萌娘百科中一些特定功能的操作方法;
  • 本文仅是一篇论述,不属于方针或指引。如果本指南与相关方针或指引发生冲突或存在不一致的情况,请以方针或指引的条文为准。

预置代码是将较长的代码用助记符简化以便于编写的工具。在支持智能感知的代码编辑器内,输入预定义的助记符后按下Tab ↹↵ Enter即可展开为长代码,节省编辑的时间。

本帮助将会叙述Wikitext自带的预置代码,以及如何自己定义预置代码。

Wikitext预置代码

标题类

此处的预置代码包含6个级别的标题

@pageTitle

= title =

@title

== title ==

@subT1

=== title ===

@subT2

==== title ====

@subT3

===== title =====

@subT4

====== title ======

表格类

此处的预置代码可以生成表格。

@table

{| class="wikitable"
|+Title
!
!
!
!
|-
|
|
|
|
|-
|
|
|
|
|-
|
|
|
|
|}

生成带表头和默认样式的4x4空白表格,具体用法可参照帮助:表格

管理类

@redirect

#REDIRECT [[Pagename]]

为本页面创建重定向,使用前请务必阅读帮助:重定向页面

注释类

此处的预置代码会生成定义好的注释。

@comments

<!--comments-->

生成带有comments的注释串,用来标记评论。由于萌百有评论系统,一般不使用这个代码。

@todo

<!--TODO:Task-->

生成带有TODO的注释串,用来描述此处的任务方便后续用户编辑。

VSCode标记类

此处的预置代码在萌百上没有任何作用,但在VSCode中将会作为标记以实现特殊功能。

@region

<!--#region chapter-->

<!--#endregion-->

被标记的代码可以在VSCode中折叠。

不兼容的功能

@codeBlock

<syntaxhighlight lang="c#" line="1" start="1">

</syntaxhighlight>

将会生成代码块,但格式与萌百不兼容。

如果需要在萌百使用代码块,可以使用<pre>标签,如下:

<pre>
print("hello world");
</pre>

显示效果为:

print("hello world");

关于如何让代码块高亮,参见帮助:代码高亮工具

@pageInfo

<%-- [PAGE_INFO]
Comment=##
PageTitle=##
PageID=##
RevisionID=##
ContentModel=##
ContentFormat=##
[END_PAGE_INFO] --%>

萌百会自动生成页面信息,无需手动添加,即使添加了也会当作纯文本处理。

添加自定义预置代码

概述

从菜单栏依次打开“文件”->“首选项”->“用户片段”,此时会提示选择语言,选择“Wikitext”,即可弹出“Wikitext.json”

该json会自带一个预置代码示例,格式如下

{
    "Print to console": {           //预置代码的名称,可以包含中文
        "prefix": "log",            //助记符,不能包含中文
        "body": [                   //语句体
            "console.log('$1');",
            "$2"
        ],
        "description": "Log output to console"    //帮助信息,可以包含中文
    }
}

助记符

当在编辑器输入助记符时,会在智能感知中显示此预置代码,不区分大小写,可以设置多个。 建议在助记符前面添加特殊符号(如@)以免影响到正常代码的编写。

语句体与参数

语句体是一个数组,每一个元素代表一行代码。默认实例中共有两行代码。

在语句体中,$[数字]代表参数,在补全后光标会自动停在参数处供填写。当连续按下Tab ↹时会按数字依次遍历,如果指定了$0,遍历将会在$0处结束。参数常见用法如下:

  • $1:空参数。
  • ${1:name}:带默认值的参数,遍历时默认值会被选中以将其覆盖为其他值,可以嵌套。
  • ${1|one,two,three|}:带枚举的参数,遍历时会弹出列表以供选择。

参数可以重复,重复的参数会被同时填写。

有关于预置代码的更多用法,可参见Snippets in Visual Studio Code

自定义预置代码列表

Nuvola apps important blue.svg
如有需要添加的内容,请自行编辑添加
自己动手,丰衣足食。勿问为什么没有oo?

各位用户可以参考“Image模板”示例编写和分享预置代码,使萌百的编写更方便。

Image模板

助记符 说明 展开后代码 备注
@image

@img

image模板
{{image|图片=萌百娘.png|描述=萌百娘|文本高=25|宽=424|高=600|种类=无|link=萌百娘}}
@imageClip

@imgCp

带裁切的Image模板
{{image|图片=萌百娘.png|描述=萌百娘|文本高=25|宽=424|高=600|种类=无|link=萌百娘|左=0|上=0|右=0|下=0}}


代码
{
    {
    "图片": {
        "prefix": ["@image", "@img"],
        "body": [
            "{{image|图片=${1:萌百娘.png}|描述=${2:萌百娘}|文本高=${3:25}|宽=${4:424}|高=${5:600}|种类=${6|无,tall,wide,outer,div|}|link=${7:萌百娘}}}",
            "$0"
        ],
        "description": "插入图片"
    },

    "图片裁切": {
        "prefix": ["@imageClip", "@imgCp"],
        "body": [
            "{{image|图片=${1:萌百娘.png}|描述=${2:萌百娘}|文本高=${3:25}|宽=${4:424}|高=${5:600}|种类=${6|无,tall,wide,outer,div|}|link=${7:萌百娘}|左=${8:0}|上=${9:0}|右=${10:0}|下=${11:0}}}",
            "$0"
        ],
        "description": "插入裁切后的图片"
    },
}

常用编辑模板

这些常用模板是在网页版编辑界面中是可以快速插入的,但如果用VSCode的话只能手敲,这里编写了一些预置代码以供使用。

  • 功能列表:
助记符 说明 展开后代码 备注
@template

@tmp

空模板
{{|}}
用来生成只有一个参数的模板格式
@heimu

@hm

黑幕
{{黑幕|输入被掩盖的内容}}
@huhua

@jk

胡话
{{胡话|输入被划掉的内容}}
@lj 日语汉字
{{lj|输入要转换的内容}}
@lang 语言转换
{{lang|zh|输入要转换的内容}}
内置了常见语言参数,如果没有请手动指定
@ruby 注音
{{ruby|输入文本|输入读音|zh|zh}}
内置了常见语言参数,如果没有请手动指定
@underLine

@u

下划线
<u>输入需要标注下划线的内容</u>
@deleteLine

@del

删除线
<del>输入需要标注删除线的内容</del>
@center 居中
<center>
输入需要居中的内容
</center>
@poem 歌词
<poem>
输入歌词
</poem>
@red

@colorRed

红字
{{color|red|输入需要标红的内容}}
@cquote 名言
{{Cquote|输入引用的内容|输入作者}}
@hide 折叠
{{Hide|输入标题|输入被隐藏的内容}}
@ref 脚注
<ref>在此处输入脚注内容</ref>
代码
{
    "空模板":{
        "prefix": ["@template", "@tmp"],
        "body": [
            "{{$1|$2}}$0"
        ],
        "description": "用来插入有一个参数的模板"
    },

    "黑幕": {
        "prefix": ["@heimu", "@hm"],
        "body": [
            "{{黑幕|${1:输入被掩盖的内容}}}$0"
        ],
        "description": "将文本用黑条覆盖,使用鼠标移动可反白显示"
    },

    "胡话": {
        "prefix": ["@huhua","@jk"],
        "body": [
            "{{胡话|${1:输入被划掉的内容}}}$0"
        ],
        "description": "添加删除线并减淡字体"
    },


    "日语汉字": {
        "prefix": ["@lj"],
        "body": [
            "{{lj|${1:输入要转换的内容}}}$0"
        ],
        "description": "强制将汉字显示为日语字形"
    },

    "语言转换":{
        "prefix": ["@lang"],
        "body": [
            "{{lang|${1|zh,yue,en,ja,ko,ru|}|${2:输入要转换的内容}}}$0"
        ],
        "description": "标示语言类型,如果选项没有请手动修改"
    },

    "注音": {
        "prefix": ["@ruby"],
        "body": [
            "{{ruby|${1:输入文本}|${2:输入读音}|${3|zh,yue,en,ja,ko,ru|}|${4|zh,yue,en,ja,ko,ru|}}}$0"
        ],
        "description": "标注拼音,如果选项没有请手动修改"
    },

    "下划线":{
        "prefix": ["@underLine","@u"],
        "body": [
            "<u>${1:输入需要标注下划线的内容}</u>$0"
        ],
    },

    "删除线":{
        "prefix": ["@deleteLine","@del"],
        "body": [
            "<del>${1:输入需要标注删除线的内容}</del>$0"
        ],
    },

    "居中":{
        "prefix": ["@center"],
        "body": [
            "<center>",
            "${1:输入需要居中的内容}",
            "</center>$0"
        ],
    },

    "歌词":{
        "prefix": ["@poem"],
        "body": [
            "<poem>",
            "${0:输入歌词}",
            "</poem>"
        ],
        "description": "此处的内容只需要换行一次"
    },

    "红字":{
        "prefix": ["@red","@colorRed"],
        "body": [
            "{{color|red|${1:输入需要标红的内容}}}$0"
        ],
    },

    "名言":{
        "prefix": ["@cquote"],
        "body": [
            "{{Cquote|${1:输入引用的内容}|${2:输入作者}}}$0"
        ],
        "description": "以特殊的样式显示名言警句"
    },

    "折叠":{
        "prefix": ["@hide"],
        "body": [
            "{{Hide|${1:输入标题}|${2:输入被隐藏的内容}}}$0"
        ],
        "description": "将内容折叠起来"
    },

    "脚注":{
        "prefix": ["@ref"],
        "body": [
            "<ref>${1:在此处输入脚注内容}</ref>$0"
        ],
        "description": "在页面下方显示脚注"
    }
}