7

I have a code snippet that creates a C# class for me. It puts the regions in all the right places and sets it up just the way I like it.

When I create a class by adding a new item it automatically creates the namespace based on my project and folder structure.

Is there a way I could do the same action with my custom snippet?

Is there a way I can change the default class to look like the class format I want?

1
  • Given the new developments it would be appropriate to change the accepted answer for future readers like myself. Commented Aug 26, 2019 at 17:52

2 Answers 2

10

This is possible now (2018), at least part of your's wishes, with adding this:

<Snippet>
  ...

  <Imports>
    <Import>
      <Namespace>SomeNamespace</Namespace>
    </Import>
    <Import>
      <Namespace>AnotherNamespace</Namespace>
    </Import>
  </Imports>
</Snippet>

For more info: https://github.com/dotnet/roslyn/issues/4457

Sign up to request clarification or add additional context in comments.

1 Comment

Worth noting it is to be included inside your <Snippet> node. Add an <Import> node for each namespace you need.
4

I do not think that this is possible with VS Snippets, there are only a few available functions, and they are listed at MSDN. You could, though, create a new Item Template and use the parameter $rootnamespace$, which will be replaced with the root namespace of the current project. Item templates are a really useful part of Visual Studio, and MSDN has extensive documentation on it and Visual Studio Magazine had a nice walkthrough about them.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.