问题:我正在寻找创建复杂代码段的方法。在我们公司,我们有更大的功能,几乎看起来像样板,我觉得可以更容易。
理想的解决方案:我想创建一些内容,类似于代码片段的工作方式,但适合更复杂的代码生成。例如,请参阅以下代码,这是我们生成的代码的典型代码:
private readonly DependencyOne dependencyOne;
private readonly DependencyTwo dependencyTwo;
public ClassName(DependencyOne dependencyOne, DependencyTwo dependencyTwo)
{
this.dependencyOne = dependencyOne;
this.dependencyTwo = dependencyTwo;
}
基本上我只想输入两个类名,然后从中生成构造函数和两个相关字段。如果可能的话,我想在代码中的正确位置添加这些字段,就像IntelliSense的快速修复如何在代码中自动找到放置字段的正确位置一样。
我之所以无法在构造函数之上生成它,是因为有些方法会生成,这些方法不是构造函数,因此不会驻留在代码的顶部
我如何实现这个理想的解决方案?
答案 0 :(得分:0)
Visual Studio Code 1.24解决方案:
在Visual Studio代码中,您可以通过创建片段JSON文件来指定所需的片段。请参阅this doc以了解如何在VS Code中创建新的代码段。
在language.json中编写以下内容,language将是您要为其创建代码段的任何语言:
"Constructor - A unique name" : {
"prefix" : "constructor",
"body": [
"private readonly ${DependencyOne} ${dependencyOne};",
"private readonly ${DependencyTwo} ${dependencyTwo};",
"",
"public ClassName(${DependencyOne} ${dependencyOne}, ${DependencyTwo} ${dependencyTwo})",
"{",
" this.${dependencyOne} = ${dependencyOne};",
" this.${dependencyTwo} = ${dependencyTwo};",
"}",
],
"description": "description of what it does"
}
按照doc中的步骤并编写json之后,您可以通过键入constructor
来使用该代码段,如代码段的“前缀”所述。
答案 1 :(得分:0)
在v1.25版中,以下工作有效:
"Constructor and variables" : {
"prefix" : "ctor",
"body": [
"private readonly ${1/(.*)/${1:/capitalize}/} ${1:var1};",
"private readonly ${2/(.*)/${1:/capitalize}/} ${2:var2};",
"",
"public ClassName(${1/(.*)/${1:/capitalize}/} $1, ${2/(.*)/${1:/capitalize}/} $2)",
"{",
" this.$1 = $1;",
" this.$2 = $2;",
"}",
],
"description": "your description"
},
为此,您将只键入两个名称-我已经输入了它,因此您键入了未大写字母版本,该代码段将自动大写类名。颠倒这些很容易,但是会有更多的代码。输入第二个类名/变量后,单击 tab ,您的代码将正确大写。您可以将“ var1
/ var2
”替换为您想要的任何内容。