Skip to content

Commit 768118d

Browse files
authored
Merge pull request #1684 from MicrosoftDocs/master
3/27 AM Publish
2 parents 65e7245 + 82115b1 commit 768118d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+685
-58
lines changed

docs/TOC.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# [Visual Studio Documentation](ide/index.md)
22
# [Overview](ide/visual-studio-ide.md)
3-
## [What's New](ide/whats-new-in-visual-studio.md)
43
# Installation
54
## [Install Visual Studio](install/install-visual-studio.md)
65
## [Sign in to Visual Studio](ide/signing-in-to-visual-studio.md)
@@ -449,6 +448,17 @@
449448
### [Install Dotfuscator CE](ide/dotfuscator/install.md)
450449
### [Upgrade Dotfuscator CE](ide/dotfuscator/upgrades.md)
451450
# Resources
451+
## [What's New](ide/whats-new-in-visual-studio.md)
452+
## Release notes & system requirements
453+
### [Current release notes](/visualstudio/releasenotes/vs2017-relnotes?context=visualstudio/default)
454+
### [Preview release notes](/visualstudio/releasenotes/vs2017-preview-relnotes?context=visualstudio/default)
455+
### [Release notes history](/visualstudio/releasenotes/vs2017-relnotes-history?context=visualstudio/default)
456+
### [Release rhythm](/visualstudio/productinfo/vs2017-release-rhythm?context=visualstudio/default)
457+
### [System requirements](/visualstudio/productinfo/vs2017-system-requirements-vs?context=visualstudio/default)
458+
### [Platform compatibility](/visualstudio/productinfo/vs2017-compatibility-vs?context=visualstudio/default)
459+
### [Licensing](https://www.visualstudio.com/license-terms/)
460+
### [Distributable code](/visualstudio/productinfo/2017-redistribution-vs?context=visualstudio/default)
461+
### [Support lifecycle and servicing](/visualstudio/productinfo/vs-servicing-vs?context=visualstudio/default)
452462
## [How to Report a Problem with Visual Studio](ide/how-to-report-a-problem-with-visual-studio-2017.md)
453463
## [Resources for Troubleshooting IDE Errors](ide/reference/resources-for-troubleshooting-integrated-development-environment-errors.md)
454464
## [Talk to Us](ide/talk-to-us.md)

docs/cross-platform/change-log-visual-studio-tools-for-unity.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Change Log (Visual Studio Tools for Unity) | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "11/04/2016"
4+
ms.date: "03/23/2018"
55
ms.reviewer: ""
66
ms.suite: ""
77
ms.technology: vs-unity-tools
@@ -17,6 +17,25 @@ ms.workload:
1717
# Change Log (Visual Studio Tools for Unity)
1818
Visual Studio Tools for Unity change log.
1919

20+
## 3.6.0.5
21+
Released 2018-03-13
22+
23+
### New Features
24+
25+
- **Project Generation:**
26+
27+
- Added support for the new project generator in Unity 2018.1
28+
29+
### Bug fixes
30+
31+
- **Integration:**
32+
33+
- Fixed handling corrupted states with custom projects.
34+
35+
- **Debugger:**
36+
37+
- Fixed setting the next statement.
38+
2039
## 3.6.0.4
2140
Released 2018-03-05
2241

41.3 KB
Loading
69.5 KB
Loading
51.2 KB
Loading
80.5 KB
Loading
-10.9 KB
Binary file not shown.
-12.6 KB
Binary file not shown.
28.8 KB
Loading
-9.58 KB
Binary file not shown.
12.8 KB
Loading
20.9 KB
Loading
18.6 KB
Loading
44.7 KB
Loading
4.33 KB
Loading
26.5 KB
Loading
49.2 KB
Loading
-10.6 KB
Binary file not shown.
29 KB
Loading
-19.4 KB
Binary file not shown.
26 KB
Loading
23.3 KB
Loading
24.2 KB
Loading
15.3 KB
Loading
-11.8 KB
Binary file not shown.
38.8 KB
Loading
38.5 KB
Loading
-3.45 KB
Loading
-10.9 KB
Binary file not shown.
-8.31 KB
Binary file not shown.

docs/debugger/walkthrough-debugging-a-parallel-application.md

Lines changed: 32 additions & 40 deletions
Large diffs are not rendered by default.

docs/default.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
### YamlMime:ContextObject
2+
uhfHeaderId: MSDocsHeader-VisualStudio
3+
searchScope:
4+
- VS IDE
25
breadcrumb_path: ./_breadcrumb/toc.yml
3-
toc_rel: ./toc.md
6+
toc_rel: ./toc.md

docs/extensibility/TOC.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
# [How to: Roundtrip Extensions for Visual Studio](how-to-roundtrip-VSIXs.md)
1313
# [Language Server Protocol](language-server-protocol.md)
1414
##[Adding a Language Server Protocol extension](adding-an-lsp-extension.md)
15+
#[Open Folder](open-folder.md)
16+
##[Workspaces](workspaces.md)
17+
##[File contexts](workspace-file-contexts.md)
18+
##[Indexing](workspace-indexing.md)
19+
##[Language services](workspace-language-services.md)
20+
##[Build](workspace-build.md)
1521
# [Extending Menus and Commands](extending-menus-and-commands.md)
1622
## [Creating an Extension with a Menu Command](creating-an-extension-with-a-menu-command.md)
1723
## [Adding a Menu to the Visual Studio Menu Bar](adding-a-menu-to-the-visual-studio-menu-bar.md)

docs/extensibility/open-folder.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: "Visual Studio Open Folder extensibility overview | Microsoft Docs"
3+
ms.custom: ""
4+
ms.date: "02/21/2018"
5+
ms.reviewer: ""
6+
ms.suite: ""
7+
ms.technology:
8+
- "vs-ide-sdk"
9+
ms.tgt_pltfrm: ""
10+
ms.topic: "article"
11+
ms.assetid: 94c3f8bf-1de3-40ea-aded-7f40c4b314c7
12+
author: "vukelich"
13+
ms.author: "svukel"
14+
manager: "viveis"
15+
ms.workload:
16+
- "vssdk"
17+
---
18+
# Open Folder extensibility
19+
20+
The [Open Folder](../ide/develop-code-in-visual-studio-without-projects-or-solutions.md) feature allows users to open any codebase in Visual Studio without the need for project or solution files. Open Folder provides the features users expect from Visual Studio such as:
21+
22+
* Solution Explorer integration and search
23+
* Editor colorization
24+
* Go To navigation
25+
* Find in Files search
26+
27+
When used with Workloads such as for .NET and C++ development, users also get:
28+
29+
* Rich Intellisense
30+
* Language-specific functionality
31+
32+
With Open Folder, extension authors can create rich features for any language. There are APIs to support building, debugging, and symbol search for any file in a user's codebase. Current extenders can update their existing Visual Studio features to understand code without the backing of projects or a solution.
33+
34+
## An API without project systems
35+
36+
Historically, Visual Studio only understood files in a solution and its projects using project systems. A project system is responsible for the functionality and user interactions of a loaded project. It understands what files its project contains, the visual representation of the project contents, dependencies on other projects, and modification of the underlying project file. It's through these hierarchies and capabilities that other components do work on behalf of the user. Not all codebases are well represented in a project and solution structure. Scripting languages and open-source code written in C++ for Linux are good examples. With Open Folder, Visual Studio gives users a new way of interacting with their source code.
37+
38+
The Open Folder APIs are under the `Microsoft.VisualStudio.Workspace.*` namespace and are available for extenders to produce and consume data or actions around files within Open Folder. Extensions can use these APIs to provide functionality for many areas, including:
39+
40+
- [Workspaces](workspaces.md) - The starting point of Open Folder extensibility is the workspace and its APIs.
41+
- [File contexts and actions](workspace-file-contexts.md) - File specific code intelligence provided through file contexts.
42+
- [Indexing](workspace-indexing.md) - Collect and persist data about Open Folder workspaces.
43+
- [Language services](workspace-language-services.md) - Integrate language services into Open Folder workspaces.
44+
- [Build](workspace-build.md) - Build support for Open Folder workspaces.
45+
46+
Features that use the following types will need to adopt new APIs to support Open Folder:
47+
48+
- `IVsHierarchy`
49+
- `IVsProject`
50+
- `DTE`
51+
52+
## Feedback, comments, issues
53+
54+
Open Folder and the `Microsoft.VisualStudio.Workspace.*` APIs are under active development. If you see unexpected behavior, then see the known issues for the release of interest. The Developer Community is the recommended place to vote and create any issues. For each feedback, we highly recommend a detailed description of your issue. Include the Visual Studio version you're developing for, the APIs you're using (both what you've implemented and what you're interacting with), the expected outcome, and the actual outcome. If possible, include a dump of the devenv.exe process. Use GitHub's issue tracking for giving feedback on this and related documentation.
55+
56+
## Next steps
57+
58+
* [Workspaces](workspaces.md) - Learn about the Open Folder workspace API.

docs/extensibility/registering-a-tool-window.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@ You can register your tool windows using <xref:Microsoft.VisualStudio.Shell.Prov
2626

2727
```csharp
2828

29-
[ProvideToolWindow(typeof(PersistedWindowPane), Style = MsVsShell.VsDockStyle.Tabbed, Window = "3ae79031-e1bc-11d0-8f78-00a0c9110057")] [ProvideToolWindow(typeof(DynamicWindowPane), PositionX=250, PositionY=250, Width=160, Height=180, Transient=true)] [ProvideToolWindowVisibility(typeof(DynamicWindowPane), /*UICONTEXT_SolutionExists*/"f1536ef8-92ec-443c-9ed7-fdadf150da82")]
29+
[ProvideToolWindow(typeof(PersistedWindowPane), Style = MsVsShell.VsDockStyle.Tabbed, Window = "3ae79031-e1bc-11d0-8f78-00a0c9110057")]
30+
[ProvideToolWindow(typeof(DynamicWindowPane), PositionX=250, PositionY=250, Width=160, Height=180, Transient=true)]
31+
[ProvideToolWindowVisibility(typeof(DynamicWindowPane), /*UICONTEXT_SolutionExists*/"f1536ef8-92ec-443c-9ed7-fdadf150da82")]
3032
[ProvideMenuResource(1000, 1)]
3133
[PackageRegistration(UseManagedResourcesOnly = true)]
3234
[Guid("01069CDD-95CE-4620-AC21-DDFF6C57F012")]
3335
public class PackageToolWindow : Package
3436
{
3537
```
3638

37-
In the code above, the <xref:Microsoft.VisualStudio.Shell.ProvideToolWindowAttribute> registers the PersistedWindowPane and DynamicWindowPane tool windows with Visual Studio. The persisted tool window is docked and tabbed with **Solution Explorer**, and the dynamic window is given a default starting position and size. The dynamic window is made transient, which indicates that it is not created on startup. This writes a DontForceCreate value in the ToolWindows key in the system registry. For more information, see [Tool Window Display Configuration](../extensibility/tool-window-display-configuration.md).
39+
In the code above, the <xref:Microsoft.VisualStudio.Shell.ProvideToolWindowAttribute> registers the PersistedWindowPane and DynamicWindowPane tool windows with Visual Studio. The persisted tool window is docked and tabbed with **Solution Explorer**, and the dynamic window is given a default starting position and size. The dynamic window is made transient, which indicates that it is not created on startup. This writes a DontForceCreate value in the ToolWindows key in the system registry. For more information, see [Tool Window Display Configuration](../extensibility/tool-window-display-configuration.md).

docs/extensibility/workspace-build.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
title: "Workspace build in Visual Studio | Microsoft Docs"
3+
ms.custom: ""
4+
ms.date: "02/21/2018"
5+
ms.reviewer: ""
6+
ms.suite: ""
7+
ms.technology:
8+
- "vs-ide-sdk"
9+
ms.tgt_pltfrm: ""
10+
ms.topic: "article"
11+
ms.assetid: 813f7a5e-f298-4469-9f4c-a5bddf5a6e14
12+
author: "vukelich"
13+
ms.author: "svukel"
14+
manager: "viveis"
15+
ms.workload:
16+
- "vssdk"
17+
---
18+
# Workspace build
19+
20+
Build support in [Open Folder](../ide/develop-code-in-visual-studio-without-projects-or-solutions.md) scenarios requires an extender to supply [indexed](workspace-indexing.md) and [file context](workspace-file-contexts.md) data for the [workspace](workspaces.md), as well as the build action to run.
21+
22+
Below is an outline of what your extension will need.
23+
24+
## Build file context
25+
26+
- Provider factory
27+
- `ExportFileContextProviderAttribute` attribute with `supportedContextTypeGuids` as all applicable `string` constants from `BuildContextTypes`
28+
- Implements `IWorkspaceProviderFactory<IFileContextProvider>`
29+
- File context provider
30+
- Return a `FileContext` for each build operation and configuration supported
31+
- `contextType` from <xref:Microsoft.VisualStudio.Workspace.Build.BuildContextTypes>
32+
- `context` implements <xref:Microsoft.VisualStudio.Workspace.Build.IBuildConfigurationContext> with the `Configuration` property as the build configuration (for example `"Debug|x86"`, `"ret"`, or `null` if not applicable). Alternatively, use an instance of <xref:Microsoft.VisualStudio.Workspace.Build.BuildConfigurationContext>. The configuration value **must** match the configuration from the indexed file data value.
33+
34+
## Indexed build file data value
35+
36+
- Provider Factory
37+
- `ExportFileScannerAttribute` attribute with `IReadOnlyCollection<FileDataValue>` as a supported type
38+
- Implements `IWorkspaceProviderFactory<IFileScanner>`
39+
- File scanner on `ScanContentAsync<T>`
40+
- Returns data when `FileScannerTypeConstants.FileDataValuesType` is the type argument
41+
- Returns a file data value for each configuration constructed with:
42+
- `type` as `BuildConfigurationContext.ContextTypeGuid`
43+
- `context` as your build configuration (for example `"Debug|x86"`, `"ret"`, or `null` if not applicable). This value **must** match the configuration from the file context.
44+
45+
## Build file context action
46+
47+
- Provider factory
48+
- `ExportFileContextActionProvider` attribute with `supportedContextTypeGuids` as all applicable `string` constants from `BuildContextTypes`
49+
- Implements `IWorkspaceProviderFactory<IFileContextActionProvider>`
50+
- Action provider on `IFileContextActionProvider.GetActionsAsync`
51+
- Return an `IFileContextAction` that matches the given `FileContext.ContextType` value
52+
- File context action
53+
- Implements `IFileContextAction` and <xref:Microsoft.VisualStudio.Workspace.Extensions.VS.IVsCommandItem>
54+
- `CommandGroup` property returns `16537f6e-cb14-44da-b087-d1387ce3bf57`
55+
- `CommandId` is `0x1000` for build, `0x1010` for rebuild, or `0x1020` for clean
56+
57+
>[!NOTE]
58+
>Since the `FileDataValue` needs to be indexed, there will be some amount of time between opening the workspace and the point at which the file is scanned for full build functionality. The delay will be seen on the first opening of a folder because there is no previously cached index.
59+
60+
## Reporting messages from a build
61+
62+
The build can surface information, warning, and error messages to users one of two ways. The simple way is to use the <xref:Microsoft.VisualStudio.Workspace.Build.IBuildMessageService> and provide a <xref:Microsoft.VisualStudio.Workspace.Build.BuildMessage>, like so:
63+
64+
```csharp
65+
using Microsoft.VisualStudio.Workspace;
66+
using Microsoft.VisualStudio.Workspace.Build;
67+
68+
private static void OutputBuildMessage(IWorkspace workspace)
69+
{
70+
IBuildMessageService buildMessageService = workspace.GetBuildMessageService();
71+
72+
if (buildMessageService != null)
73+
{
74+
// Example error build message. See the documentation for BuildMessage for more information.
75+
var message = new BuildMessage()
76+
{
77+
Type = BuildMessage.TaskType.Error,
78+
Code = "MY1001",
79+
TaskText = "This is a sample error",
80+
ProjectFile = "buildfile.bld",
81+
File = "sourcefile.src"
82+
LogMessage = $"This is sample text that will only go to the Build output window pane.\n"
83+
84+
// And any other properties to set
85+
};
86+
87+
buildMessageService.ReportBuildMessages(new BuildMessage[] { message });
88+
}
89+
}
90+
```
91+
92+
`BuildMessage.Type` and `BuildMessage.LogMessage` control the behavior of where information is presented to the user. Any `BuildMessage.TaskType` value other than `None` will produce an **Error List** entry with the given details. `LogMessage` will always be output in the **Build** pane of the **Output** tool window.
93+
94+
Alternatively, extensions can directly interact with the **Error List** or **Build** pane. A bug exists in versions prior to Visual Studio 2017 Version 15.7 where the `pszProjectUniqueName` argument of <xref:Microsoft.VisualStudio.Shell.Interop.IVsOutputWindowPane2.OutputTaskItemStringEx2*> is ignored.
95+
96+
>[!WARNING]
97+
>Callers of `IFileContextAction.ExecuteAsync` can provide arbitrary underlying implementations for the `IProgress<IFileContextActionProgressUpdate>` argument. Never invoke `IProgress<IFileContextActionProgressUpdate>.Report(IFileContextActionProgressUpdate)` directly. There are currently no general guidelines for using this argument, but these guidelines are subject to change.
98+
99+
## Build related APIs
100+
101+
- <xref:Microsoft.VisualStudio.Workspace.Build.IBuildConfigurationContext> provides build configuration details.
102+
- <xref:Microsoft.VisualStudio.Workspace.Build.IBuildMessageService> shows <xref:Microsoft.VisualStudio.Workspace.Build.BuildMessage>s to users.
103+
104+
## tasks.vs.json and launch.vs.json
105+
106+
For information on authoring a tasks.vs.json or launch.vs.json file, see [Customize build and debug tasks](../ide/customize-build-and-debug-tasks-in-visual-studio.md).
107+
108+
## Next steps
109+
110+
* [Language Server Protocol](language-server-protocol.md) - Learn how to integrate language servers into Visual Studio.

0 commit comments

Comments
 (0)