在VS 2017的某个时候(很可能是在对15.8.7版本进行更新之后),通常生成cw
的Console.WriteLine();
代码片段已经开始生成System.Console.WriteLine();
。
令人惊讶的是,这种行为并不是常量的--在与版本相同的旧项目中,它可以正常工作。
我试图删除.vs
文件夹,但没有帮助。
下面是来自‘C:\Program (x86)\Microsoft C#\cw.snippet的cw.snippet文件的内容
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>cw</Title>
<Shortcut>cw</Shortcut>
<Description>Code snippet for Console.WriteLine</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false">
<ID>SystemConsole</ID>
<Function>SimpleTypeName(global::System.Console)</Function>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[$SystemConsole$.WriteLine($end$);]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
是否有一种方法可以修复cw
片段,使其始终生成Console.WriteLine();
发布于 2021-01-20 02:29:00
对我来说,我最终只是编辑了片段本身。我确信每次更新时都需要这样做,而且我也不确定在创建用户定义的代码段之外是否有更好的永久修复。
我的快速和肮脏的解决办法是编辑文件..。
%USERPROFILE%.vscode\extensions\ms-dotnettools.csharp-1.23.8\snippets\csharp.json
然后查找下面的部分(在第53行附近找到我的部分).
"Console.WriteLine": {
"prefix": "cw",
"body": [
"System.Console.WriteLine($0);"
],
"description": "Console.WriteLine"
},
那就换衣服..。
"System.Console.WriteLine($0);"
为了..。
"Console.WriteLine($0);"
保存,然后重新启动VSCode并测试cw
片段。
发布于 2018-10-25 15:07:18
如果尚未在页面上添加系统的using语句,则可以告诉代码段。包括下面的(后)、<snippet>
(打开)标记和打开<declarations>
标记()之前的。
<Imports>
<Import>
<Namespace>System</Namespace>
</Import>
</Imports>
如果要添加更多的引用(在本例中不需要,但将来可能需要),则需要生成单独的标记对(如下所示)。
<Import>
<Namespace></Namespace>
</Import>
https://stackoverflow.com/questions/52989214
复制相似问题