Skip to content

Commit b028f85

Browse files
author
gregvanl
committed
Add Supported Visual Studio features
1 parent 9d972e1 commit b028f85

File tree

4 files changed

+131
-107
lines changed

4 files changed

+131
-107
lines changed

docs/ide/codespaces/codespaces-overview.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,6 @@ A codespace can be created with a user-specific collection of [custom dotfiles](
6565

6666
## See also
6767

68-
- [How to use Visual Studio with GitHub Codespaces](use-visual-studio-with-codespaces.md)
69-
- [How to customize GitHub Codespaces](customize-codespaces.md)
68+
* [How to use Visual Studio with a codespace](use-visual-studio-with-codespaces.md)
69+
* [How to customize a codespace](customize-codespaces.md)
70+
* [Supported Visual Studio features](supported-features-codespaces.md)
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
title: Supported Visual Studio features (Preview)
3+
description: Learn about the Visual Studio IDE features available when working with GitHub Codespaces.
4+
ms.topic: how-to
5+
ms.date: 09/21/2020
6+
author: gregvanl
7+
ms.author: gregvanl
8+
manager: jillfra
9+
ms.prod: visual-studio-windows
10+
ms.technology: vs-ide-general
11+
ms.workload:
12+
- multiple
13+
monikerRange: vs-2019
14+
---
15+
16+
# Supported Visual Studio features (Preview)
17+
18+
Visual Studio provides a rich development experience when connecting to a codespace. You get the Visual Studio inner-loop tools you're familiar with to edit, debug, test, and version your source code as well as productivity features like project templates, rich code navigation, and IntelliSense. In the current GitHub Codespaces beta, some Visual Studio features may not have full support or may be initially missing. The following sections outline what you can expect with Visual Studio and the GitHub Codespaces beta and what you can look forward to in the future. This is **not meant to be an exhaustive list**, but to explain Visual Studio's general capabilities when connected to codespace.
19+
20+
> [!NOTE]
21+
> If there is a feature you are missing while using codespaces with Visual Studio, please let us know by opening an issue on https://developercommunity.visualstudio.com/. This helps us prioritize the most wanted features.
22+
23+
> [!NOTE]
24+
> The features described below are for Visual Studio and not the two other GitHub Codespaces clients, Visual Studio Code and the in-browser editor.
25+
26+
### Edit and navigation
27+
28+
You should notice little difference editing source code in a codespace as you get smart language features like IntelliSense, code navigation, diagnostics, and suggestions.
29+
30+
* IntelliSense*
31+
* Code navigation*
32+
* Code formatting with Format Document
33+
* Syntax highlighting
34+
* Quick Info*
35+
* HTML, CSS, Razor editors* - Partial support.
36+
* JavaScript editor*- Partial support.
37+
38+
Not yet available:
39+
40+
* IntelliSense* - not all filters are available. Completion for unimported types and intellisense in watch window not yet available.
41+
* Code navigation* - Most commands supported, specifically Go To Base and Find in files with path specification not yet supported.
42+
* Quick Info* - colorization in quick info is not supported.
43+
* HTML, CSS, Razor editors* - Diagnostics, intellisense completion, quick info, smart indent. Currently no support for semantic colorization, navigation commands, etc.
44+
* JavaScript editor* - Script blocks (for example, JavaScript content in HTML files, CSHTML files, and similar) and semantic highlighting are not yet supported. Known issues with lightbulb features and linting.
45+
* CodeLens
46+
* Code snippets
47+
* IntelliCode
48+
49+
### Application types and configuration
50+
51+
Most application types and project configurations are supported, but you will need to edit your project code directly without the help of visual designers. For more configuration guidance, see [How to customize a codespace](customize-codespaces.md).
52+
53+
* Project and item templates
54+
* .NET Core and ASP.NET Core projects
55+
* C++ console apps - CMake and vcxproj supported
56+
* C++ apps that target Linux - Mostly supported for non-GUI. Ability to install and provision WSL, platform-specific intellisense, and build.
57+
* Project file editing - mostly supported. Missing some completion, syntax highlighting, and advanced editing features.
58+
* GitHub accounts - Can be used to create and connect to Codespaces, and access resources available to the account on GitHub.
59+
* Azure CLI - Does not share the signed-in Visual Studio identity or keychain accounts. Browser-based login is not supported but you can authenticate inside the integrated terminal using: `az login --use-device-code`.
60+
61+
Not yet available:
62+
63+
* UI designers - WinForms and WPF designers
64+
* Visual Basic and F# projects
65+
* .NET Framework targeted projects
66+
* Docker Compose projects
67+
* Project property pages
68+
* Authentication options in ASP.NET Core templates
69+
* Apps that require a GUI to install - Anything that can be installed with the terminal is supported (including the chocolatey installer), but the actual GUI won't be immediately available. Enabling full screen Live Share to access the GUIs is a current workaround. Administration consoles are not accessible. Apps that require a reboot to install aren't supported.
70+
* Managed identities for Azure resources in Visual Studio
71+
* Intranet resources (private network) - Currently, codespaces won't be able to connect to any resource that requires a VPN.
72+
* Extensions - No extensions are supported when using Codespaces with Visual Studio.
73+
74+
### Debugging
75+
76+
Essential inner loop debugging workflow is supported including setting breakpoints, basic stepping into code, inspecting variables, and the local, autos, and watch windows. Some additional windows, customizations, and visualizers are not supported.
77+
78+
* Breakpoints*
79+
* Basic stepping
80+
* Locals, autos, watch windows* - Partial support.
81+
* Symbol server, source server, and importing/exporting data tips are all partially supported.
82+
83+
Not yet available:
84+
85+
* Breakpoints* - Breakpoint labels, Data breakpoints, and Set breakpoint in Disassembly window is in progress. Importing and exporting breakpoints is partially supported.
86+
* Locals, autos, watch windows*- some functionality such as statement completion in search box and search box navigation.
87+
* UI customizations - Pinnable properties and hide template parameters not supported.
88+
* Visualizers - C++ natvis partially supported. Dissassembly window, XAML Visual diagnostics, Custom .NET Visualizers, and Dataset Visualizers are not supported.
89+
* Additional debugger windows - Processes windows partially supported. Parallel Stacks window - Tasks View, Diagnostics Hub, and Find source/symbol dialog are not supported.
90+
* Some debugger workflows - Attach to process, Just in Time (JIT) debugger, Dump debugging, and IntelliTrace are not supported. C++ Just My Code stepping is partially supported.
91+
* Edit and Continue - for both managed and native code is not supported.
92+
* Threading features - Freeze/thaw threads, Rename thread, and show threads in source are not supported.
93+
* Additional stepping features - Automatic Step over properties and operators (.NET Core) and Step into Specific are not supported.
94+
95+
### Features
96+
97+
Since you are working with the Visual Studio client connected to a remote environment, you get the same accessibility features as when working locally.
98+
99+
* Source Control - Full Git support through the new [Git window](https://devblogs.microsoft.com/visualstudio/improved-git-experience-in-visual-studio-2019/).
100+
* Accessibility - There is one known issue with assistive technology not being able to access the appcasting of a debugged app. Besides this, we don't believe there are any other compatibility issues that don't already exist in the local Visual Studio experience. Please let us know if you detect bugs by filing an issue on [developer community](https://developercommunity.visualstudio.com/).
101+
* Publishing - Publish to Azure through GitHub Actions is supported.
102+
* Connected services - App Insights, KeyVault, Storage, SQL, Redis, Cosmos, openAPI, and gRPC are partially supported.
103+
* Test Explorer* - Mostly supported.
104+
105+
Not yet available:
106+
107+
* Test Explorer* - Some features such as default architecture selection, run tests in parallel, playlists, etc. Known issues with debugging a unit test, run settings, and some additional enterprise features. Profiling unit tests is not supported.
108+
* NuGet Package Manager UI - NuGet command line is supported.
109+
* Enterprise testing features - Live Unit Testing, Microsoft Fakes, Code coverage, and IntelliTest not supported.
110+
* Advanced publishing scenarios - Selective publishing, FTP publishing, preview changes, quick publish tool bar, etc.
111+
112+
## See also
113+
114+
* [What is GitHub Codespaces?](codespaces-overview.md)
115+
* [How to use Visual Studio with a codespace](use-visual-studio-with-codespaces.md)
116+
* [How to customize a codespace](customize-codespaces.md)

docs/ide/codespaces/use-visual-studio-with-codespaces.md

Lines changed: 10 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ If you don't already have a GitHub codespace, you can create one from Visual Stu
5353

5454
4. Start using Visual Studio, just as you would working locally. Things to try:
5555

56-
- Browse source code.
57-
- Select a solution file, and build the solution (**Ctrl+Shift+B**).
58-
- Set a breakpoint in a source file and press **F5** to launch the application in the debugger.
59-
- Make changes and commit them to your repository.
56+
* Browse source code.
57+
* Select a solution file, and build the solution (**Ctrl+Shift+B**).
58+
* Set a breakpoint in a source file and press **F5** to launch the application in the debugger.
59+
* Make changes and commit them to your repository.
6060

6161
> [!NOTE]
6262
> At this time, you can not create GitHub Codespaces for Visual Studio through the GitHub [Codespaces portal](https://github.com/codespaces). You can only create them using Visual Studio.
@@ -89,112 +89,17 @@ After you've created your codespace, you can open your codespace directly from V
8989

9090
5. Start using Visual Studio, just as you would working locally. Things to try:
9191

92-
- Browse source code.
93-
- Select a solution file, and build the solution (**Ctrl+Shift+B**).
94-
- Set a breakpoint in a source file and press **F5** to launch the application in the debugger.
95-
- Make changes and commit them to your repository.
92+
* Browse source code.
93+
* Select a solution file, and build the solution (**Ctrl+Shift+B**).
94+
* Set a breakpoint in a source file and press **F5** to launch the application in the debugger.
95+
* Make changes and commit them to your repository.
9696

9797
<!-- TBD ## Suspend a codespace -->
9898

9999
<!-- TBD ## Disconnect from a codespace -->
100100

101-
## Visual Studio features
102-
103-
Visual Studio provides a rich development experience when connecting to a codespace. You get the Visual Studio inner-loop tools you're familiar with to edit, debug, test, and version your source code as well as productivity features like project templates, rich code navigation, and IntelliSense. In the current GitHub Codespaces beta, some Visual Studio features may not have full support or may be initially missing. The following sections outline what you can expect with Visual Studio and the GitHub Codespaces beta and what you can look forward to in the future. This is **not meant to be an exhaustive list**, but to explain Visual Studio's general capabilities when connected to codespace.
104-
105-
> [!NOTE]
106-
> If there is a feature you are missing while using codespaces with Visual Studio, please let us know by opening an issue on https://developercommunity.visualstudio.com/. This helps us prioritize the most wanted features.
107-
108-
> [!NOTE]
109-
> The features described below are for Visual Studio and not the two other GitHub Codespaces clients, Visual Studio Code and the in-browser editor.
110-
111-
### Edit and navigation
112-
113-
You should notice little difference editing source code in a codespace as you get smart language features like IntelliSense, code navigation, diagnostics, and suggestions.
114-
115-
* IntelliSense*
116-
* Code navigation*
117-
* Code formatting with Format Document
118-
* Syntax highlighting
119-
* Quick Info*
120-
* HTML, CSS, Razor editors* - Partial support.
121-
* JavaScript editor*- Partial support.
122-
123-
Not yet available:
124-
125-
* IntelliSense* - not all filters are available. Completion for unimported types and intellisense in watch window not yet available.
126-
* Code navigation* - Most commands supported, specifically Go To Base and Find in files with path specification not yet supported.
127-
* Quick Info* - colorization in quick info is not supported.
128-
* HTML, CSS, Razor editors* - Diagnostics, intellisense completion, quick info, smart indent. Currently no support for semantic colorization, navigation commands, etc.
129-
* JavaScript editor* - Script blocks (for example, JavaScript content in HTML files, CSHTML files, and similar) and semantic highlighting are not yet supported. Known issues with lightbulb features and linting.
130-
* CodeLens
131-
* Code snippets
132-
* IntelliCode
133-
134-
### Application types and configuration
135-
136-
Most application types and project configurations are supported, but you will need to edit your project code directly without the help of visual designers. For more configuration guidance, see [customizing codespaces for windows-based development](customize-codespaces.md).
137-
138-
* Project and item templates
139-
* .NET Core and ASP.NET Core projects
140-
* C++ console apps - CMake and vcxproj supported
141-
* C++ apps that target Linux - Mostly supported for non-GUI. Ability to install and provision WSL, platform-specific intellisense, and build.
142-
* Project file editing - mostly supported. Missing some completion, syntax highlighting, and advanced editing features.
143-
* GitHub accounts - Can be used to create and connect to Codespaces, and access resources available to the account on GitHub.
144-
* Azure CLI - Does not share the signed-in Visual Studio identity or keychain accounts. Browser-based login is not supported but you can authenticate inside the integrated terminal using: `az login --use-device-code`.
145-
146-
Not yet available:
147-
148-
* UI designers - WinForms and WPF designers
149-
* Visual Basic and F# projects
150-
* .NET Framework targeted projects
151-
* Docker Compose projects
152-
* Project property pages
153-
* Authentication options in ASP.NET Core templates
154-
* Apps that require a GUI to install - Anything that can be installed with the terminal is supported (including the chocolatey installer), but the actual GUI won't be immediately available. Enabling full screen Live Share to access the GUIs is a current workaround. Administration consoles are not accessible. Apps that require a reboot to install aren't supported.
155-
* Managed identities for Azure resources in Visual Studio
156-
* Intranet resources (private network) - Currently, codespaces won't be able to connect to any resource that requires a VPN.
157-
* Extensions - No extensions are supported when using Codespaces with Visual Studio.
158-
159-
### Debugging
160-
161-
Essential inner loop debugging workflow is supported including setting breakpoints, basic stepping into code, inspecting variables, and the local, autos, and watch windows. Some additional windows, customizations, and visualizers are not supported.
162-
163-
* Breakpoints*
164-
* Basic stepping
165-
* Locals, autos, watch windows* - Partial support.
166-
* Symbol server, source server, and importing/exporting data tips are all partially supported.
167-
168-
Not yet available:
169-
170-
* Breakpoints* - Breakpoint labels, Data breakpoints, and Set breakpoint in Disassembly window is in progress. Importing and exporting breakpoints is partially supported.
171-
* Locals, autos, watch windows*- some functionality such as statement completion in search box and search box navigation.
172-
* UI customizations - Pinnable properties and hide template parameters not supported.
173-
* Visualizers - C++ natvis partially supported. Dissassembly window, XAML Visual diagnostics, Custom .NET Visualizers, and Dataset Visualizers are not supported.
174-
* Additional debugger windows - Processes windows partially supported. Parallel Stacks window - Tasks View, Diagnostics Hub, and Find source/symbol dialog are not supported.
175-
* Some debugger workflows - Attach to process, Just in Time (JIT) debugger, Dump debugging, and IntelliTrace are not supported. C++ Just My Code stepping is partially supported.
176-
* Edit and Continue - for both managed and native code is not supported.
177-
* Threading features - Freeze/thaw threads, Rename thread, and show threads in source are not supported.
178-
* Additional stepping features - Automatic Step over properties and operators (.NET Core) and Step into Specific are not supported.
179-
180-
### Features
181-
182-
Since you are working with the Visual Studio client connected to a remote environment, you get the same accessibility features as when working locally.
183-
184-
* Source Control - Full Git support through the new [Git window](https://devblogs.microsoft.com/visualstudio/improved-git-experience-in-visual-studio-2019/).
185-
* Accessibility - There is one known issue with assistive technology not being able to access the appcasting of a debugged app. Besides this, we don't believe there are any other compatibility issues that don't already exist in the local Visual Studio experience. Please let us know if you detect bugs by filing an issue on [developer community](https://developercommunity.visualstudio.com/).
186-
* Publishing - Publish to Azure through GitHub Actions is supported.
187-
* Connected services - App Insights, KeyVault, Storage, SQL, Redis, Cosmos, openAPI, and gRPC are partially supported.
188-
* Test Explorer* - Mostly supported.
189-
190-
Not yet available:
191-
192-
* Test Explorer* - Some features such as default architecture selection, run tests in parallel, playlists, etc. Known issues with debugging a unit test, run settings, and some additional enterprise features. Profiling unit tests is not supported.
193-
* NuGet Package Manager UI - NuGet command line is supported.
194-
* Enterprise testing features - Live Unit Testing, Microsoft Fakes, Code coverage, and IntelliTest not supported.
195-
* Advanced publishing scenarios - Selective publishing, FTP publishing, preview changes, quick publish tool bar, etc.
196-
197101
## See also
198102

199103
* [What is GitHub Codespaces?](codespaces-overview.md)
200-
* [How to: Customize a codespace](customize-codespaces.md)
104+
* [How to customize a codespace](customize-codespaces.md)
105+
* [Supported Visual Studio features](supported-features-codespaces.md)

docs/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,8 @@
266266
href: ide/codespaces/use-visual-studio-with-codespaces.md
267267
- name: Customize a codespace
268268
href: ide/codespaces/customize-codespaces.md
269+
- name: Supported Visual Studio features
270+
href: ide/codespaces/supported-features-codespaces.md
269271
- name: Connect to a project or repo
270272
displayName: Azure DevOps VSTS GitHub
271273
href: ide/connect-team-project.md

0 commit comments

Comments
 (0)