【问题标题】:VS 2013 Community - Creating code snippetsVS 2013 社区 - 创建代码片段
【发布时间】:2015-07-06 14:45:43
【问题描述】:
我一直在关注这个:https://msdn.microsoft.com/en-us/library/ms165394.aspx?f=255&MSPPError=-2147217396
我正在尝试编写一个代码 sn-p 以加快我的编码速度(#procrastination)
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Class layout for PlatformGameEngine</Title>
</Header>
<Snippet>
<Code Language="C++">
<![CDATA[
namespace PlatformGameEngine
{
class _
{
// Methods
public:
_();
~_();
private:
// Properties
public:
private:
}
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
1.为什么下面的sn-p代码不起作用?
选择的 sn-p 文件无效。
2.如何替换 _ 部分,以便能够在字段中切换并填写它们?
【问题讨论】:
标签:
c++
visual-studio-2013
code-snippets
【解决方案1】:
从 Visual Studio sn-p manager 中找到一个示例:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Snippets\1033\Visual C++
我可以从课堂示例中看到我缺少一些东西:
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Class layout for PlatformGameEngine</Title>
<Shortcut>gameengineclass</Shortcut>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>name</ID>
<ToolTip>Class name</ToolTip>
<Default>MyClass</Default>
</Literal>
</Declarations>
<Code Language="cpp">
<![CDATA[#pragma once
// Boiler plate includes
// Project specific includes
// Namespaces
namespace PlatformGameEngine
{
class $name$
{
// Methods
public:
$name$();
~$name$();
private:
// Properties
public:
private:
}
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
- 删除了 CDATA[...
之后的间距
- 在页眉中添加了快捷节点
- 添加了带有 ID 部分的声明以允许输入内容
注意:
- 您必须不断重新导入才能获得对单个 sn-p 所做的更改...但是如果您添加整个文件夹,则不必这样做。
- 您可以使用
ctrl+k,然后使用h,同时继续按住ctrl 以使用您的sn-p。只需开始输入您的快捷方式,它就会弹出
- 要删除代码 sn-ps,您必须删除整个文件夹并重新添加文件夹...#真的吗?
- 如果您的定义没有出现...例如:
$classname$::$classname,请尝试将<Default>MyClass</Default> 放入...这似乎迫使它工作
【解决方案2】:
除了@Jimmyt1988 的回答,对我来说,问题在于语言标签。以下方法均无效:
<Code Language="C++">
<Code Language="Visual C++">
<Code Language="VisualC++">
仅当我将其更改为时才有效:
<Code Language="cpp">
这是针对 Visual Studio 2015 的。