/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/VisualStudio/CSharp/Impl/LanguageService/CSharpEditorFactory.cs
36 строк
2 KB
Cyrus Najmabadi
Use file scoped namespaces. (#77854)
27 мар 2025, 09:55
Не верифицирован
27 мар 2025, 09:55
98d41b8
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System; using System.Diagnostics.CodeAnalysis; using System.Runtime.InteropServices; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.Editor; using Microsoft.VisualStudio.ComponentModelHost; using Microsoft.VisualStudio.LanguageServices.Implementation; using Microsoft.VisualStudio.Shell.Interop; namespace Microsoft.VisualStudio.LanguageServices.CSharp.LanguageService; [ExcludeFromCodeCoverage] [Guid(Guids.CSharpEditorFactoryIdString)] internal sealed class CSharpEditorFactory(IComponentModel componentModel) : AbstractEditorFactory(componentModel) { protected override string ContentTypeName => ContentTypeNames.CSharpContentType; protected override string LanguageName => LanguageNames.CSharp; protected override Project GetProjectWithCorrectParseOptionsForProject(Project project, IVsHierarchy hierarchy) { if (project.ParseOptions is CSharpParseOptions parseOptions && hierarchy is IVsBuildPropertyStorage propertyStorage && ErrorHandler.Succeeded(propertyStorage.GetPropertyValue("LangVersion", null, (uint)_PersistStorageType.PST_PROJECT_FILE, out var langVersionString)) && LanguageVersionFacts.TryParse(langVersionString, out var langVersion)) { return project.WithParseOptions(parseOptions.WithLanguageVersion(langVersion)); } return project; } }