标签: code-snippets

如何定义片段占位符的默认值?

创建片段时,我想知道如果没有分配值,是否可以为占位符定义默认值。

例如,有这个 php 片段:

{
  "get_list": {
        "prefix": "get_list",
        "body": "$${1:beanList} = $${2:bean}->get_list('${3:order_by}', \"${4:where}\", ${5:row_offset}, ${6:limit}, ${7:max}, ${8:show_deleted});",
        "description": "Get a paginate bean list"
    },
}
Run Code Online (Sandbox Code Playgroud)

其中制表符 5 到 8 的占位符具有以下默认值:

$row_offset = 0
$limit= -1
$max= -1
$show_deleted = 0
Run Code Online (Sandbox Code Playgroud)

我尝试通过以下方式进行选择,但没有成功:

{
  "get_list": {
        "prefix": "get_list",
        "body": "$${1:beanList} = $${2:bean}->get_list('${3:order_by}', \"${4:where}\", ${5:row_offset|0|}, ${6:limit}, ${7:max}, ${8:show_deleted});",
        "description": "Get a paginate bean list"
    },
}
Run Code Online (Sandbox Code Playgroud)

请看一下定义row_offset。当片段呈现时,我得到以下内容

$beanList = $bean->get_list('order_by', "where", row_offset|0|, limit, max, show_deleted);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我希望发生的情况是我省略了分配的占位符值0

谢谢你的帮助。

code-snippets visual-studio-code vscode-snippets

2
推荐指数
1
解决办法
1905
查看次数

VSCode 代码片段中的转换和正则表达式 - 文档

我需要转换列表,例如小写、大写、大写。这样的清单在哪里?很好的文档。

code-snippets visual-studio-code vscode-snippets

2
推荐指数
1
解决办法
2419
查看次数

将路径转换为 ​​VS Code 代码片段中的命名空间

我正在尝试创建一个 VS 代码片段,该代码片段根据项目中的当前文件夹构建命名空间。

变量提供的当前路径TM_DIRECTORY可能是这样的。

/Users/bernhardrichter/GitHub/heatkeeper2000/src/HeatKeeper.Server/Mapping

我最终想要的结果是namespace HeatKeeper.Server.Mapping基于我的根源文件夹src

所以我需要去掉之前的所有内容,包括在内,src这样我们就只剩下HeatKeeper.Server/Mapping. 然后我需要将 替换(转换)/为,.以便最终结果为HeatKeeper.Server.Mapping

是否可以通过一次转换来完成此操作?如果没有的话是否可以进行多次变换?

这就是我到目前为止所拥有的

"namespace ${TM_DIRECTORY/(.*src.)(.*).*$/$2/}"

这输出namespace HeatKeeper.Server/Mapping几乎就是我想要的。我只需要全部替换/.

问题是我不知道把这个变换放在哪里。

变换看起来像这样。

"${TM_DIRECTORY/[\\/]/./g}"

这给了我

.Users.bernhardrichter.GitHub.heatkeeper2000.src.HeatKeeper.Server.Mapping

我只是不知道如何将这两者结合起来?

regex code-snippets visual-studio-code

2
推荐指数
1
解决办法
1191
查看次数

如何使用正则表达式在 Visual Studio Code 的代码片段中“大写并替换”?

我想在 Visual Studio Code 1.33.1 上创建一个片段,使用文件名创建一个 C++ 类。
首先,我要设置“包含保护”,重点是使用文件名,替换每个“。” 通过 '_' 并将其全部设置为大写(规范):
#ifndef FILE_CLASS_HPP //filename: File.class.hpp

VSC 文档为文件名提供了一些变量,以及一些用于更改为全部大写并用另一个字符替换字符的正则表达式。
要点是:我从来没有成功地做到这两件事,因为我对正则表达式一无所知。

我尝试手动加入正则表达式,但它从未起作用:
#ifndef ${TM_FILENAME/(.*)/${1:/upcase}/[\\.-]/_/g}

预期结果:
#ifndef FILE_CLASS_HPP
实际结果:
#ifndef ${TM_FILENAME/(.*)//upcase/[\.-]/_/g}

regex code-snippets visual-studio-code

2
推荐指数
1
解决办法
3486
查看次数

内置代码段在 VS Code for React 中不起作用

我正在使用 VS Code 编写 React 页面。

突然间,一些片段rfce开始不起作用,即使它从来没有给我带来问题。我不知道怎么了。

以前的图片

在此处输入图片说明

现在的图片

在此处输入图片说明

我最近所做的只是更新react-router-dom到版本 5.2.0 和npm install它。

built-in code-snippets reactjs visual-studio-code

2
推荐指数
2
解决办法
777
查看次数

Woocommerce 按类别隐藏价格 + is_product_category()、is_shop()

你能帮我解决下面的代码吗?我需要隐藏特定类别的价格,但在商店和类别页面上,而不是在产品详细信息或管理上。

我需要添加is_product_category()is_shop()编码,但不知道具体在哪里。

该片段由jeroensormani.com提供

add_filter( 'woocommerce_get_price_html', function( $price, $product ) {
    if ( is_admin() ) return $price;

    // Hide for these category slugs / IDs
    $hide_for_categories = array( 'singles', 'albums' );

    // Don't show price when its in one of the categories
    if ( has_term( $hide_for_categories, 'product_cat', $product->get_id() ) ) {
        return '';
    }

    return $price; // Return original price
}, 10, 2 );

add_filter( 'woocommerce_cart_item_price', '__return_false' );
add_filter( 'woocommerce_cart_item_subtotal', '__return_false' );
Run Code Online (Sandbox Code Playgroud)

wordpress code-snippets woocommerce

2
推荐指数
1
解决办法
760
查看次数

如何在 SQLite 中使用带有 FTS5 虚拟表的 snippet() 函数?

FTS5 的 SQLite 文档中,声明必须将 5 个参数传递给片段函数:

snippet() 函数与highlight() 类似,不同之处在于它不是返回整个列值,而是自动选择并提取一小段文档文本来处理和返回。snippet() 函数必须在表名参数之后传递五个参数:

  1. 一个整数,指示要从中选择返回文本的 FTS 表列的索引。列从零开始从左到右编号。负值表示应自动选择该列。
  2. 要在返回的文本中匹配的每个短语之前插入的文本。
  3. 要在返回文本中的每个短语匹配之后插入的文本。
  4. 添加到所选文本的开头或结尾的文本,以指示返回的文本分别不会出现在其列的开头或结尾。
  5. 返回文本中的最大标记数。该值必须大于零且等于或小于 64。

我已经尝试过这个但它不起作用:

snippet(1, '<b>', '</b>', '...', 8)
Run Code Online (Sandbox Code Playgroud)

如何在 SQLite 中将 snippet() 函数与 FTS5 虚拟表一起使用?

sqlite full-text-search code-snippets fts5

2
推荐指数
1
解决办法
728
查看次数

如何在 vscode 中创建四开片段?

我正在努力让代码片段在带有四开文件的 vscode 中工作。我已经遵循了所有步骤,但我对此感到困惑。

  1. 我已在文件中创建了该片段quarto.json。我的片段如下所示:
{

    "Create NOTES section and place cursor inside": {
        "prefix": "nn",
        "body": [
            "<!-- BEGIN NOTES -->\n\n$1\n\n<!-- END NOTES -->"
        ],
        "description": "Create Notes section and place cursor inside"
    }

}
Run Code Online (Sandbox Code Playgroud)
  1. 我已检查自动建议选项是否已启用。我的settings.json文件有以下内容:
    "[quarto]": {
        "editor.quickSuggestions": {
          "other": true,
          "comments": true,
          "strings": true
        }
    }
Run Code Online (Sandbox Code Playgroud)

但是,在四开文件中,当我按 时,不会出现任何建议nn

注意,Quarto 文件的扩展名不是.qmd.Quarto但 vscode 将该文件识别为文件quarto,因为 (i) 这出现在窗口的页脚中.qmd,并且 (ii)quarto.json当我配置用户片段时会自动出现一个文件。

code-snippets visual-studio-code quarto

2
推荐指数
1
解决办法
475
查看次数

Clojure中(3)和3之间的差异

我是新手.是什么区别(?3?),只是3?如果我这样做,?(3)我得到这个例外:

java.lang.ClassCastException:java.lang.Long无法强制转换为clojure.lang.IFn.

clojure code-snippets

1
推荐指数
3
解决办法
192
查看次数

如何在sublime中创建一个片段

<tabTrigger>hisnip</tabTrigger>
<description>Test Snippet</description>
<scope>js, php</scope>
<!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
<!-- <tabTrigger>hello</tabTrigger> -->
<!-- Optional: Set a scope to limit where the snippet will trigger -->
<!-- <scope>source.python</scope> -->
Run Code Online (Sandbox Code Playgroud)

如何将此文件mySnippet.sublime-snippet导入到sublime设置中,这样我就可以在不添加JS和PHP代码段默认文件的情况下始终访问此代码段.这是在sublime中创建片段的方法吗?我想要一个带有我的自定义代码片段的片段文件,并且可能优先于默认值.但似乎sublime没有用户代码段和默认代码段json.

autocomplete code-snippets sublimetext

1
推荐指数
1
解决办法
805
查看次数