Сниппеты для VS

Потихоньку играюсь с VS2017/VS2019. Но набивать абсолютно одни и те же using меня слегка достало. Ок, гугел, что можно сделать? 2 минуты чтения - вуаля, все готово!
Да, я лентяй, да, я этим горжусь. Да, я хочу оставить себе шпаргалку, отстаньте. Да, шаблоны проектов будут позже, когда до них дозрею.
Чуть ли не первая же ссылка в поиске показывает, что и как надо сделать. Ок, приступаем.
В первую очередь создаем сниппет для импорта пространств имен:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>using Autodesk...</Title>
      <Author>kpblc</Author>
      <Description>Импорт основных пространств имен Autodesk без алиасов</Description>
      <Shortcut>UseAcad</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Colors;
using Autodesk.AutoCAD.ComponentModel;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.GraphicsInterface;
using Autodesk.AutoCAD.Internal;
using Autodesk.AutoCAD.LayerManager;
using Autodesk.AutoCAD.PlottingServices;
using Autodesk.AutoCAD.Publishing;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Windows;]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Ну и следом, не включая головной мозг - сниппеты для определения команд и lisp-функций:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Command</Title>
      <Author>kpblc</Author>
      <Description>Определение команды AutoCAD</Description>
      <Shortcut>Command</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[     [CommandMethod("$CommandName$")]
   public static void $FunctionName$()
   {
     return;
   }]]>
      </Code>
      <Declarations>
        <Literal>
          <ID>CommandName</ID>
          <ToolTip>Определите имя команды</ToolTip>
          <Default>_kpblcCmd</Default>
        </Literal>
        <Literal>
          <ID>FunctionName</ID>
          <ToolTip>Определите имя c#-функции</ToolTip>
          <Default>KpblcCmd</Default>
        </Literal>
      </Declarations>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>LispFunction</Title>
      <Author>kpblc</Author>
      <Description>Определение lisp-функции</Description>
      <Shortcut>Lisp</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[    [LispFunction("$LispName$")]
   public static void $FunctionName$(ResultBuffer rb)
   {
   }]]>
      </Code>
      <Declarations>
        <Literal>
          <ID>LispName</ID>
          <ToolTip>Определите имя lisp-функции</ToolTip>
          <Default>_kpblc</Default>
        </Literal>
        <Literal>
          <ID>FunctionName</ID>
          <ToolTip>Определите имя c#-функции</ToolTip>
          <Default>KpblcLisp</Default>
        </Literal>
      </Declarations>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Файлы соответственно можно скачать в архмве.
Если охота, можно создать аналогичные сниппеты для использования т.н. алиасов (т.е. вместо using Autodesk.AutoCAD.Colors воткнуть using AcCo = AUtodesk.AutoCAD.Colors и т.п.), но я пока этого делать не стал.
Теперь осталась совсем малость: заставить VS "увидеть" эти сокращения и начать их использовать. Импорт выполняем прямо так, как описано в ссылке, ну или вручную распаковываем архив в

1
%USERPROFILE%\Documents\<Версия VS>\Code Snippets\Visual C#\My Code Snippets

(сработало на VS2017 и VS2019, что будет дальше - не представляю).
И в общем-то, на этом все. Теперь достаточно в VS начать набирать useacad и потом два раза на Tab - ок, пространства имен импортированы. Вбиваем Lisp, два раза Tab - определение lisp-функции готово (только поменять некоторые моменты надо будет). Аналогично с командами.

Размещено в .NET, AutoCAD · Метки: , , ,



Поделитесь своим мнением


Я не робот.