Как настроить пространства имен VS Code по умолчанию для C#?

Как настроить пространства имен VS Code по умолчанию для C#?

Например. У меня есть следующая структура папок:

gameplay/input/controllers/foo.cs

Я создал foo.cs, щелкнув правой кнопкой мыши папку controllers и выбрав New C# Class. А вот как выглядит класс по умолчанию без каких-либо изменений с моей стороны:

namespace play.input.controllers
{
    public class foo
    {
        
    }
}

Хотя я ожидаю, что пространство имен в этом случае будет gameplay.input.controllers. Я в замешательстве, почему VS Code меняет gameplay на play? Как я могу это исправить?

ОБНОВЛЯТЬ

Я не могу найти RootNamespace в своем проекте:

Итак, предоставленный ответ не имеет для меня значения.

Пространство имен по умолчанию — это имя проекта. Когда вы создаете новый проект, VS по умолчанию использует папку с пользовательскими документами (C:\Users\XXXX\Documents\Visual Studio 20XX\Projects или последняя папка, используемая для создания проекта) и увеличивает тип проекта на единицу, например WindowsApplication1, до WindowsApplication2. Если вы измените имя проекта в графическом интерфейсе, пространство имен изменится.

jdweng 19.12.2020 11:44

В Unity мой проект называется pla. Как я могу узнать и изменить название своего проекта в VS Code?

some1 here 19.12.2020 11:53

Чтобы изменить имя проекта, вы можете использовать обозреватель решений и щелкнуть правой кнопкой мыши элементы в проводнике, чтобы переименовать объект. Пространства имен можно просто редактировать в VS, но в некоторых случаях вам может потребоваться изменить ссылки в других местах кода. Если вы получаете ошибку компилятора, просто нажмите на ошибку, а затем измените имя, в котором возникает ошибка.

jdweng 19.12.2020 12:29

Какие элементы я должен щелкнуть в обозревателе решений?

some1 here 20.12.2020 09:37

Первая строка — это имя проекта, а вторая — корневое пространство имен. Изменение имен приведет к множественным изменениям имени проекта (файл csproj) и пространства имен. Я бы сделал чистую сборку после изменений, чтобы убедиться, что все по-прежнему компилируется. Есть свойства, такие как начальное пространство имен, которые иногда не изменяются. Вы можете щелкнуть ошибку в списке ошибок, чтобы найти, где она возникает. Некоторые изменения требуют поиска в свойствах проекта, чтобы найти ошибку. Ошибки, которые я не могу найти, я закрываю проект и открываю файл csproj в блокноте.

jdweng 20.12.2020 10:24
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
5
1 972
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В Visual Studio вы можете установить пространство имен проекта по умолчанию в разделе «Настройки проекта» -> «Приложение» в разделе «Пространство имен по умолчанию».

В VS Code или вручную вы можете отредактировать файл проекта, чтобы включить тег RootNamespace следующим образом:

  <PropertyGroup>
    <TargetFrameworks>net5.0;netcoreapp2.1</TargetFrameworks>
    <EnableDefaultItems>false</EnableDefaultItems>
....
    <RootNamespace>MyRootNamespace</RootNamespace>
....
    
  </PropertyGroup>

Строка, указанная в качестве корневого пространства имен, используется для новых файлов в корневом каталоге проекта. Если вы создаете элементы во вложенных папках, имена вложенных папок по умолчанию будут включены в пространство имен.

Если вы хотите удалить имя приложения из пространства имен (play в вашем случае), вы можете определить пространство имен по умолчанию как пустое.

Где найти Project Preferences?

some1 here 20.12.2020 09:37

@some1here: щелкните правой кнопкой мыши проект в обозревателе решений и выберите «Свойства». Это последняя запись в контекстном меню. (извините за неточность, моя версия VS локализована)

PMF 20.12.2020 20:08

Ты про ВС? Мой вопрос был о VS Code.

some1 here 21.12.2020 17:29

@some1here: Хорошо, я не использую последний, но я полагаю, что он должен быть очень похож.

PMF 21.12.2020 18:10

Нет, это не то же самое.

some1 here 23.12.2020 18:46

Да, вопрос был о VS Code, он прямо упоминается в вопросе. Не уверен, почему это принятый ответ.

Ryan Mann 14.07.2022 19:40

@RyanMann Второе решение с использованием тега RootNamespace правильное. У меня сработало в vscode с C# Extensions. Вот почему ОП пометил его как принятый.

MrDave1999 04.03.2023 21:47

Другие вопросы по теме