protected override Workspace CreateWorkspaceImpl() { if (TestHost == TestHost.InProcess) { return(base.CreateWorkspaceImpl()); } var hostServices = s_editorFeaturesOOPComposition.GetHostServices(); var workspace = new AdhocWorkspace(hostServices); return(workspace); }
public override AdhocWorkspace CreateWorkspace() { if (TestHost == TestHost.InProcess) { return(base.CreateWorkspace()); } var hostServices = s_editorFeaturesOOPComposition.GetHostServices(); var workspace = new AdhocWorkspace(hostServices); lock (_workspaces) _workspaces.Add(workspace); return(workspace); }
public async Task FormatAsync() { var hostServices = s_composition.GetHostServices(); using var workspace = new AdhocWorkspace(hostServices); var globalOptions = ((IMefHostExportProvider)hostServices).GetExportedValue <IGlobalOptionService>(); globalOptions.SetGlobalOption(new OptionKey(RazorLineFormattingOptionsStorage.UseTabs), true); globalOptions.SetGlobalOption(new OptionKey(RazorLineFormattingOptionsStorage.TabSize), 10); var project = workspace.AddProject("Test", LanguageNames.CSharp); var source = @" class C { void F () {} } "; var documentInfo = DocumentInfo.Create( DocumentId.CreateNewId(project.Id), name: "file.razor.g.cs", folders: Array.Empty <string>(), sourceCodeKind: SourceCodeKind.Regular, loader: TextLoader.From(TextAndVersion.Create(SourceText.From(source), VersionStamp.Create(), "file.razor.g.cs")), filePath: "file.razor.g.cs", isGenerated: false, designTimeOnly: true, documentServiceProvider: new TestRazorDocumentServiceProvider()); var document = workspace.AddDocument(documentInfo); #pragma warning disable RS0030 // Do not used banned APIs var formattedDocument = await Formatter.FormatAsync(document, spans : null, options : null, CancellationToken.None); #pragma warning restore RS0030 // Do not used banned APIs var formattedText = await formattedDocument.GetTextAsync(); // document options override solution options: AssertEx.Equal(@" class C { " + "\t" + @"void F() { } } ", formattedText.ToString()); }