8000 update sample links by BillWagner · Pull Request #1 · dotnet/dotnet-api-docs · GitHub
[go: up one dir, main page]

Skip to content

update sample links #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 4,542 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
4542 commits
Select commit Hold shift + click to select a range
b16c476
fix redirect url (#4447)
mairaw Feb 21, 2018
2431604
Added examples with string.Concat and string.Join (#4443)
pkulikov Feb 21, 2018
c59daf6
Remove unused variable creating confusion. (#4446)
VHellin Feb 21, 2018
3c2c37a
add level to async topics (#4448)
mairaw Feb 21, 2018
bd4c579
Fix grammar in docs: communication-in-microservice-architecture.md (#…
jjhampton Feb 21, 2018
275720c
add two options explanation (#4449)
mairaw Feb 21, 2018
a072adc
Maximum size of file to be compressed (#3615)
jformacek Feb 21, 2018
ca5109b
Remove unused variable (#4436)
VHellin Feb 21, 2018
771e444
Addressed customer feedback about ControlBox property (#4444)
Feb 21, 2018
0b8cef7
Fixed example Snippet and clarified it. (#4434)
sas41 Feb 21, 2018
257cd17
Update interpolated-strings.md (#4452)
vinodhnamala Feb 21, 2018
0b36c40
update link (#4451)
mairaw Feb 21, 2018
90fca1c
Replaced fwlinks in csharp\programming-guide\concepts\async folder (#…
pkulikov Feb 21, 2018
afbc68c
Revised for API Browser, .NET implementations (#4337)
Feb 21, 2018
49a21f6
fix broken links and review topic (#4432)
mairaw Feb 21, 2018
89ead2b
replace wrong example (#4445)
mairaw Feb 22, 2018
50590ed
fix broken links (#4430)
mairaw Feb 22, 2018
1dd31e5
Fixed typo (#4458)
pkulikov Feb 22, 2018
9f0bd68
fix broken links (#4422)
mairaw Feb 22, 2018
f52d467
Deleted unnecessary space (#4460)
Feb 22, 2018
f2576a1
Replaced fwlinks in csharp\programming-guide folder (#4459)
pkulikov Feb 22, 2018
ddd3551
Updated to include a link to ECMA 335 (#4465)
WardDurossette Feb 22, 2018
f57e418
fix broken links (#4454)
mairaw Feb 23, 2018
f0e6053
Update namespaces.md (#4464)
cartermp Feb 23, 2018
f5887ce
Update modules.md (#4463)
cartermp Feb 23, 2018
637f8a8
Use centimeters instead of inches (#4472)
svick Feb 23, 2018
3215bfe
code sample, mixed indenting spaces/tabs (#4470)
Styxxy Feb 23, 2018
9b38c5e
Improved text in concatenate-multiple-strings (#4457)
pkulikov Feb 23, 2018
b960089
fix indenting code sample vb lang features (#4471)
Styxxy Feb 23, 2018
acd8fdf
Update type_getinterface.cs (#4475)
andylizf Feb 23, 2018
b6fdaed
Update example1.cs (#4477)
andylizf Feb 23, 2018
376ec7d
Corrected mention of a DateTime property returning null (#4453)
Feb 23, 2018
27e9327
Update docs about Regular Expressions (#4478)
imba-tjd Feb 23, 2018
8b61d86
Fixed broken links (#4473)
Feb 23, 2018
7bc0b8b
Fixed Typo (#4482)
Jesse-Hufstetler Feb 23, 2018
9ca9239
Fixed broken link (#4479)
Feb 24, 2018
2b23c73
Fixes #4350 - Clarify System.Uri constructor overload should have tra…
agxp Feb 24, 2018
8f0f57b
Made code snippets consistent (#4467)
pkulikov Feb 24, 2018
b64205a
Fixed binary literal prefix (#4486)
svick Feb 26, 2018
f5151fb
main function access modifer fixed (#4488)
kaganuk Feb 26, 2018
5286ead
Create get started with syntax analysis (#4289)
BillWagner Feb 26, 2018
b353454
Get started with semantic analysis (#4331)
BillWagner Feb 27, 2018
536f684
Fixed typos and style in string interpolation sections (#4491)
pkulikov Feb 27, 2018
def7e21
Removed mdoc.md from documentation set (#4498)
Feb 27, 2018
6d4bc17
Document Roslyn Diagnostics Security Analyzer (#4100)
BillWagner Feb 27, 2018
093f4b4
named numeric backreferences (#4278)
Feb 27, 2018
e25a57f
Don't use an IEnumerator (#4501)
vbjay Feb 27, 2018
576c6ac
Update ref.md (#4497)
Feb 27, 2018
e80cf4f
Revised "asynchronous programming with async and await (C#)" page (#4…
pkulikov Feb 27, 2018
c9cd9da
update visualstudio.com links (#4503)
mairaw Feb 27, 2018
5971455
change http links to https in F# (#4506)
mairaw Feb 27, 2018
d885b30
replaced image + checked lists + formatting (#4499)
mairaw Feb 27, 2018
2aa4ec5
Improve how-to Search strings content (#4427)
BillWagner Feb 27, 2018
d9141f5
Update migration guides (#4288)
chlowell Feb 27, 2018
5e854ba
Removed broken and outdated link (#4496)
JRAlexander Feb 28, 2018
bc16f6a
change owners (#4511)
mairaw Feb 28, 2018
fb9176c
Replaced fwlinks in standard/io and /security folders (#4516)
pkulikov Feb 28, 2018
5d95422
Fixed link text (#4515)
pkulikov Feb 28, 2018
642aa39
Added ternary operator name to the ternary operator docs (#4435)
Scott-Lyons Mar 1, 2018
2727ef4
Update documentation on authoring type providers (#4518)
dsyme Mar 1, 2018
26dac96
additional CRT dependencies info + formatting (#4523)
mairaw Mar 1, 2018
793d6d8
System.Numerics: mention that vectors are rows (#4507)
pkulikov Mar 1, 2018
f621ec9
major update of WPF community feedback topic (#4524)
mairaw Mar 1, 2018
e139b3a
Correction in the class name (#4527)
leocabrallce Mar 1, 2018
9b8c3fd
replace note about restore (#4535)
mairaw Mar 2, 2018
330129b
Fixed Quaternion.CreateFromAxisAngle description (#4531)
pkulikov Mar 2, 2018
796f638
Updated links to SQL Server security content. (#4530)
douglaslMS Mar 2, 2018
8067e7d
Replaced some fwlinks in standard folder (#4529)
pkulikov Mar 2, 2018
fc42ffd
added dev_langs and language identifier (#4395)
mairaw Mar 2, 2018
67998ca
Noted unsupported data type per issue 4474. (#4533)
douglaslMS Mar 2, 2018
098f7f3
Fix references in ValueTask documentation (#4528)
svick Mar 2, 2018
8f1e5ca
Update packaging guidelines (#4538)
tmds Mar 2, 2018
187ac64
Fix false/true error (#4480)
alexvy86 Mar 2, 2018
f66fe50
Fix absolute URLs (#4520)
mairaw Mar 2, 2018
26b1f31
The regular expression meant to use 0 or 1 occurences (?), but accide…
user135711 Mar 5, 2018
005f5fa
Fixed Regex after replacement in vb program output (#4551)
user135711 Mar 5, 2018
73abb1f
Fixed Regex after replacement in C# program output (#4552)
user135711 Mar 5, 2018
0c8c82e
Fixes #4461 (#4555)
mikkelbu Mar 5, 2018
8b5bb2d
Update getting-started-with-ink.md (#4556)
factormystic Mar 5, 2018
dc0bacc
adding ms.prod and minor fixes (#4549)
mairaw Mar 5, 2018
814a58e
add 2.1 Preview 1 prereq for Windows (#4546)
mairaw Mar 5, 2018
d5d2eb0
fixed typo in regex table (#4558)
user135711 Mar 5, 2018
44f4387
Update conditional-expressions-if-then-else.md (#4553)
cmannix Mar 5, 2018
b97ac8e
edit to clarify terminology between class/method/function (#4557)
nam20485 Mar 5, 2018
b265ccc
L13318: Extra bracket in link structure (#4570)
carolinacmoravia Mar 7, 2018
f9a547c
"succeeded of failed" should be "succeeded or failed" (#4569)
tnbuig Mar 7, 2018
b96d33b
SuccessOrFailure - "And" should be "Or" Please see attached links (#…
tnbuig Mar 7, 2018
c189f9b
Fix presentation of XAML and code (#4562)
mikkelbu Mar 7, 2018
a7638b3
Fixes and improvements to Syntax analysis Get started (#4566)
svick Mar 7, 2018
4770959
Fixes and improvements to Semantic analysis Get started (#4575)
svick Mar 8, 2018
abec501
Order the definitions to match the order of terms (#4576)
codybartfast Mar 8, 2018
e78e274
Fix invalid Windows file system paths (#4559)
scottaddie Mar 8, 2018
0feae32
Fixing capitalization of Visual Basic (#4578)
Mar 8, 2018
daac43f
Fixed broken links in interop docs (#4573)
Mar 8, 2018
dee9b94
Fixing broken link to MVA course (#4580)
Mar 8, 2018
3b8a648
Minor refactoring (#4582)
Danghor Mar 8, 2018
ae32873
Fixed link (#4583)
ToiWright Mar 8, 2018
9de0734
Update "How to: Modify string" (#4519)
BillWagner Mar 9, 2018
fdf14d4
Fix escape characters in HttpListener Remarks section (#4495)
scottaddie Mar 9, 2018
c31ae96
Minor refactoring (#4584)
Danghor Mar 9, 2018
75f514d
fix title (#4590)
mairaw Mar 9, 2018
581198e
fix broken links (#4588)
mairaw Mar 9, 2018
94a38f6
Add the closing token for an XML include (#4593)
BillWagner Mar 9, 2018
be9ead1
Correct description of ROOT parameter (#4595)
ChrisMaddock Mar 9, 2018
77b7e05
Update tuples.md "Interoperation with C# Tuples" content (#4581)
sweenist Mar 9, 2018
a76926b
Replaced link to UserVoice (#4594)
Mar 10, 2018
fbccf09
Fix typo (#4599)
chris-knoll Mar 10, 2018
2f2878e
Experiment: CodeOwners (#4597)
BillWagner Mar 10, 2018
07ceb70
Fixing anchor link to the "private protected access modifier" section…
BenedekFarkas Mar 10, 2018
1a36136
fixes to the CODEOWNERS (#4602)
BillWagner Mar 10, 2018
5a4baf9
modify-string-contents.md: added interactive note (#4607)
pkulikov Mar 12, 2018
f3681dc
Fix markdown table (#4603)
matthid Mar 12, 2018
dbffc57
Update infrastructure-persistence-layer-implemenation-entity-framewor…
vladmihalcea Mar 12, 2018
963459f
csharp-interactive-note.md: style update (#4606)
pkulikov Mar 12, 2018
139045b
parallel-diagnostic-tools.md: removed Visual Studio version (#4608)
pkulikov Mar 12, 2018
921ef9b
adding missing language identifiers (#4611)
sputier Mar 12, 2018
eda503e
adding missing language identifiers (#4612)
sputier Mar 12, 2018
c6c1686
adding missing language identifiers (#4613)
sputier Mar 12, 2018
5cf6214
adding missing language identifiers (#4614)
sputier Mar 12, 2018
ea7279c
adding missing language identifiers (#4615)
sputier Mar 12, 2018
5468767
adding missing language identifiers (#4616)
sputier Mar 12, 2018
680d163
adding missing language identifiers (#4617)
sputier Mar 12, 2018
da5f991
adding missing language identifiers (#4618)
sputier Mar 12, 2018
e733647
adding missing language identifiers (#4619)
sputier Mar 12, 2018
5c8db42
adding missing language identifiers (#4620)
sputier Mar 12, 2018
4d15366
adding missing language identifiers (#4621)
sputier Mar 12, 2018
9385c16
adding missing language identifiers (#4622)
sputier Mar 12, 2018
5d9cdf1
adding missing language identifiers (#4623)
sputier Mar 12, 2018
3835a25
Fixed some attribute names (#4629)
mpsoftdev Mar 12, 2018
5802efc
Fix "whitespace" words - docs/standard (#4605)
lucasnobredev Mar 13, 2018
3162117
System.Reflection docs for ProcessorArchitecture is misleading (#4539)
smcl Mar 13, 2018
3183cab
Changed 'integer' to 'integral value' for consistency (#4586)
Mar 13, 2018
01fc707
:eyeglasses: sweep docset for areas where `in` wasn't mentioned but s…
BillWagner Mar 13, 2018
e0438fd
added missing options (#3390)
mairaw Mar 13, 2018
fb4ce95
Add warning regarding server host configuration (#4634)
scottaddie Mar 13, 2018
c3fa0ef
Fix some xrefs (#4624)
svick Mar 13, 2018
92f0343
Update compiler-api-model.md (#4636)
ORuban Mar 13, 2018
ed0ae36
Corrected description of verbatim attribute usage (#4635)
pkulikov Mar 13, 2018
92b292b
removed sentence about migrating content (#4532)
mairaw Mar 14, 2018
ff9731b
Update the F# Guide page and some ms.date links (#4521)
cartermp Mar 14, 2018
4cf500a
Improvements to Creating a Type Provider (#4592)
svick Mar 14, 2018
ba27725
Revision of DateTime.Parse overloads (#4455)
Mar 14, 2018
9e6ad48
keywords/string.md: link verbatim identifier page (#4639)
pkulikov Mar 14, 2018
de5c1f9
C13890: Show code for link in target versions (#4641)
carolinacmoravia Mar 14, 2018
ac9b174
C13891: Show code for link in target versions (#4642)
carolinacmoravia Mar 14, 2018
874f4dd
Fix incorrect en dashes (#4644)
svick Mar 14, 2018
0b5d4d5
replace BNF grammar with ANTL grammar (#4643)
BillWagner Mar 14, 2018
11d1007
Added output comment to verbatim string code snippet (#4646)
pkulikov Mar 14, 2018
4fd7ea8
added missing entry (#4648)
mairaw Mar 14, 2018
add0c6c
simplify template (#4645)
mairaw Mar 14, 2018
48b6058
Fixed broken links to archived interop topics (#4647)
Mar 14, 2018
c5e0719
Changed HSB to HSL color model (#4652)
Mar 14, 2018
9abbcac
Fix connect bug DevDiv # 93543 (#4653)
ghogen Mar 14, 2018
260fd53
fix broken link (#4655)
mairaw Mar 14, 2018
0e5635a
Add displayProperty attribute to address customer complaint in SqlPar…
ghogen Mar 15, 2018
689f75f
including the template in the treeview (#4662)
ManGupt Mar 15, 2018
1d44364
Replace IIF with IF (#4665)
jrmoreno1 Mar 15, 2018
1ad2ec6
Added GetHashCode() implementation to ValueObject (#4185)
Quraian Mar 15, 2018
f7f7ca9
Provided correct enum members, method overloads (#4484)
Mar 15, 2018
a5f18a4
Added exception information to SingleOrDefault (#4650)
Mar 15, 2018
34e1775
Added information on string length >= desired string length (#4651)
Mar 15, 2018
ecf8d01
TLS best practices (#4658)
Mar 15, 2018
1a8747d
IIF to IF on Tuples page (#4669)
jrmoreno1 Mar 15, 2018
e358e29
fix: derrived --> derived typo (#4673)
daniel-deutsch-zocdoc Mar 15, 2018
28c5a51
Modified contributors guide to reflect contributors' project (#4666)
Mar 15, 2018
196562d
Add link to github issue to TLS doc (#4676)
Mar 15, 2018
0ae801f
fix link (#4672)
mairaw Mar 15, 2018
4d9f706
fix typo (#4678)
sputier Mar 16, 2018
56f4ea7
Remove extra backslash (#4680)
scottaddie Mar 16, 2018
51269b3
Fix markdown link (#4679)
mderriey Mar 16, 2018
c5abead
update signalr info for 2.1 preview (#4681)
mairaw Mar 16, 2018
599db52
Fix typo (#4683)
mairaw Mar 16, 2018
7e68039
add PDF to preview serverless e-book (#4685)
mairaw Mar 16, 2018
eb96925
Removed spaces in code (#4671)
justinths Mar 16, 2018
1a35f52
Fixed typo in --x operator description (#4691)
pkulikov Mar 16, 2018
8582c70
Add syntax highlighting to inline code in stackalloc (#4690)
SwooshyCueb Mar 16, 2018
d8be0f0
Add UWP as platform that supports .NET Standard (#3813)
philippgille Mar 16, 2018
243a9c5
< and > wrong (#4664)
wstaelens Mar 16, 2018
9d769a1
Update net-standard.md (#4694)
timotei Mar 17, 2018
c80b399
Correct time complexity of List<T>.InsertRange (#4693)
svick Mar 17, 2018
25bb9ef
Operator new doesn't create structs on the stack (#4667)
svick Mar 17, 2018
7d19bbe
Fix F# sample (#4697)
cartermp Mar 19, 2018
dae12a5
Update best-practices-for-system-net-classes.md to include TLS best p…
Mar 20, 2018
10e8c07
Update microservice-application-layer-web-api-design.md (#4708)
vijumn Mar 20, 2018
8aaf6cc
Update docker-app-development-workflow.md (#4711)
chrissainty Mar 20, 2018
5fd1e73
Add default value to XmlWriterSettings.DoNotEscapeUriAttributes and f…
SwooshyCueb Mar 20, 2018
464e89a
Update index.md (#4699)
Mar 20, 2018
7fe06d6
Change check NotInheritedAttribute (#4668)
AlexandrTsvetkov Mar 20, 2018
885ca9e
Fixed minor typo on sql statement. (#4695)
Jaxelr Mar 20, 2018
c87a1ee
fix innacurate descriptions (#4701)
mairaw Mar 20, 2018
3afc765
Add missing space (#4714)
ChrisMaddock Mar 20, 2018
1b86cf0
add ms.topic metadata value (#4717)
mairaw Mar 20, 2018
e2046f6
Update RunWorkerCompletedEventArgs.xml (#4548)
SimpleSamples Mar 20, 2018
6510cd2
Change VB compiler switch from \ to - (#4632)
Mar 20, 2018
a68e92c
Fix MemoryCache syntax example (#4724)
KarelCoudijzer Mar 21, 2018
dbed1a6
Added missing Introduction to C# spec TOC (#4725)
svick Mar 21, 2018
fa101b3
C13806: Potential extra character (#4715)
carolinacmoravia Mar 21, 2018
5ba9ae2
fix option name (#3624)
mairaw Mar 21, 2018
bb29cf2
Added include file for compiler options (#4726)
Mar 21, 2018
28cc5d1
SmtpClient doc correction for .net core. Fixes #4705 (#4706)
maryamariyan Mar 21, 2018
081e916
CI Update (#4689)
dend Mar 21, 2018
2ff4fce
fix link formatting (#4723)
mairaw Mar 21, 2018
54fcdc2
fix underscore formatting (#4720)
mairaw Mar 21, 2018
690b804
Fixed minor spelling error WFC -> WCF (#4734)
alfredmyers Mar 22, 2018
a18f4d8
Fixes minor typo `WFC` to `WCF` (#4735)
joncloud Mar 22, 2018
5741864
Update object-oriented-programming.md (#4737)
UmorenoRamon Mar 22, 2018
3c17cc1
Updates to Articles Concerning Ref Locals, In Parameters, and Readonl…
anonymousgituser Mar 22, 2018
55b365d
Fixed minor typo (#4741)
alfredmyers Mar 22, 2018
059d81a
Update String.xml (#4739)
mghini Mar 22, 2018
3f0fbd7
fix broken link + formatting (#4719)
mairaw Mar 22, 2018
9389308
update dotnet -i (#4703)
mairaw Mar 22, 2018
50e66ea
remove dead link (#4713)
jameswelle Mar 22, 2018
d415fe1
Added two Visual Basic command-line switches (#4733)
Mar 22, 2018
a3710af
Updated Azure Cosmos DB branding and links (#4746)
mimig1 Mar 23, 2018
d8a04a0
Clarify enumerable cast (#4730)
BillWagner Mar 23, 2018
8237181
Remove private setters to make class immutable (#4752)
Alexbits Mar 23, 2018
3121d78
language-reference/operators/index.md: extracted note (#4751)
pkulikov Mar 23, 2018
139ba7d
Update implement-value-objects.md (#4742)
Alexbits Mar 23, 2018
a58115d
Public ctor for Example in reference-semantics-with-value-types (#4750)
anonymousgituser Mar 23, 2018
a11be50
Update for new tiebreaker rules (#4677)
BillWagner Mar 23, 2018
596dc63
Add link to F# Xamarin guide (#4758)
dsyme Mar 23, 2018
3e93a1f
Corrected Azure Cosmos DB branding. (#4747)
mimig1 Mar 23, 2018
aa7e262
Replaced program.cs and program.vb (#4761)
Mar 23, 2018
e570c33
Change "deregister" to "unregister" in CancellationToken docs (#4762)
stephentoub Mar 23, 2018
40ba296
Update domain-events-design-implementation.md (#4755)
Alexbits Mar 24, 2018
35d9923
deregister -> unregister (#4763)
mairaw Mar 24, 2018
8135c39
advance --> advanced (#4767)
scottaddie Mar 24, 2018
dcad4f4
remove locale from the link (#4764)
mairaw Mar 24, 2018
7334239
C# spec intro: link to C# spec introduction (#4771)
pkulikov Mar 26, 2018
bbb31fa
Add missing spaces (#4776)
ChrisMaddock Mar 26, 2018
0dbd555
Expose Add(T input) method and use it from example (#4777)
JesperBaltzersen Mar 26, 2018
2ea499d
Fixed typo (#4770)
pkulikov Mar 26, 2018
9f5e5c8
Fixed punctuation (#4769)
takerukoushirou Mar 26, 2018
300e26b
Update howto compare strings (#4596)
BillWagner Mar 26, 2018
af45210
Update how-the-runtime-locates-assemblies.md (#4759)
daveaglick Mar 26, 2018
53c1ac3
clarify description of dotnet test (#4780)
BillWagner Mar 26, 2018
2fa55f6
adding System.Security.Cryptography.CertificateRequest apis (#3397)
mairaw Mar 26, 2018
8009854
C# string interpolation: revised feature description (#4749)
pkulikov Mar 26, 2018
76d6c9a
Corrected bad link for DateTime.Parse downloads (#4760)
Mar 26, 2018
2488769
Update default.aspx (#4779)
the-wazz Mar 26, 2018
f166da5
C13886: Show code due to "@" (#4781)
carolinacmoravia Mar 26, 2018
ce38d0b
changing capitalization of include files (#4783)
mairaw Mar 26, 2018
08d4f40
operators/index.md - style fixes (#4782)
pkulikov Mar 26, 2018
78c2541
Updated vb sample (#4787)
mairaw Mar 27, 2018
ce425b1
A tour of the .NET Compiler SDK visualizer (#4579)
BillWagner Mar 27, 2018
6961c24
Update table-storage.md for Cosmos DB Table API (#4745)
MarkMcGeeAtAquent Mar 27, 2018
06994c8
Added include, slightly simplified developer installation guide (#4748)
Mar 27, 2018
9ef80a9
sync apis to latest from dotnet-docs
jsntcy Mar 27, 2018
c268f1a
Fix syntax error
fenxu Mar 28, 2018
957643f
update sample links
BillWagner Mar 29, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
A tour of the .NET Compiler SDK visualizer (#4579)
* checkin source from wiwki

This commit addes the following:
1. Import syntax visualizer doc from roslyn-wiki: https://github.com/dotnet/roslyn/wiki/Syntax%20Visualizer
2. Add images.
3. provide include for installation instructions.
4. update index and TOC.

* review and update

The existing text was written when the SDK was in preview mode. All screenshots have been updated. The text was updated for product names, formatted, and reviewed.

* proofread and update

* respond to feedback.

* respond to feedback

* fix install notes

* respond to feedback.
  • Loading branch information
BillWagner authored Mar 27, 2018
commit ce425b1f31472d5b2a9f761cb9c08f77507c90e4
7 changes: 4 additions & 3 deletions docs/csharp/roslyn-sdk/get-started/semantic-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ This tutorial assumes you're familiar with the Syntax API. The [get started with

In this tutorial, you explore the **Symbol** and **Binding APIs**. These APIs provide information about the _semantic meaning_ of a program. They enable you to ask and answer questions about the types represented by any symbol in your program.

You'll need to install the **.NET Compiler Platform SDK**:

[!INCLUDE[interactive-note](~/includes/roslyn-installation.md)]

## Understanding Compilations and Symbols

As you work more with the .NET Compiler SDK, you become familiar with the distinctions between Syntax API and the Semantic API. The **Syntax API** allows you to look at the _structure_ of a program. However, often you want richer information about the semantics or _meaning_ of a program. While a loose code file or snippet of VB or C# code can be syntactically analyzed in isolation, it's not meaningful to ask questions such as "what's the type of this variable" in a vacuum. The meaning of a type name may be dependent on assembly references, namespace imports, or other code files. Those questions are answered using the **Semantic API**, specifically the <xref:Microsoft.CodeAnalysis.Compilation?displayProperty=nameWithType> class.
Expand All @@ -28,9 +32,6 @@ Like <xref:Microsoft.CodeAnalysis.SyntaxTree?displayProperty=nameWithType>, <xre

In this tutorial, you look at the "Hello World" program again. This time, you query the symbols in the program to understand what types those symbols represent. You query for the types in a namespace, and learn to find the methods available on a type.

> [!IMPORTANT]
> The following samples require the **.NET Compiler SDK** installed as part of Visual Studio 2017. You can find the .NET Compiler SDK as the last optional component listed under the **Visual Studio extension development** workload. The templates aren't installed without this component.

You can see the finished code for this sample in [our GitHub repository](https://github.com/dotnet/docs/tree/master/samples/csharp/roslyn-sdk/SemanticQuickStart).

> [!NOTE]
Expand Down
7 changes: 4 additions & 3 deletions docs/csharp/roslyn-sdk/get-started/syntax-analysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ The Syntax API creates a tree structure with the root representing the compilati

That brief description provides an overview of the kind of information accessible using the Syntax API. The Syntax API is nothing more than a formal API that describes the familiar code constructs you know from C#. The full capabilities include information about how the code is formatted including line breaks, whitespace, and indenting. Using this information, you can fully represent the code as written and read by human programmers or the compiler. Using this structure enables you to interact with the source code on a deeply meaningful level. It's no longer text strings, but data that represents the structure of a C# program.

To get started, you'll need to install the **.NET Compiler Platform SDK**:

[!INCLUDE[interactive-note](~/includes/roslyn-installation.md)]

## Understanding syntax trees

You use the Syntax API for any analysis of the structure of C# code. The **Syntax API** exposes the parsers, the syntax trees, and utilities for analyzing and constructing syntax trees. It's how you search code for specific syntax elements or read the code for a program.
Expand All @@ -64,9 +68,6 @@ While you can find anything in a code file using the Syntax APIs, most scenarios

You can examine the nodes in a syntax tree in two ways. You can traverse the tree to examine each node, or you can query for specific elements or nodes.

> [!IMPORTANT]
> The following samples require the **.NET Compiler Platform SDK** installed as part of Visual Studio 2017. You can find the .NET Compiler SDK as the last optional component listed under the **Visual Studio extension development** workload. The templates aren't installed without this component.

### Manual traversal

You can see the finished code for this sample in [our GitHub repository](https://github.com/dotnet/docs/tree/master/samples/csharp/roslyn-sdk/SyntaxQuickStart).
Expand Down
5 changes: 5 additions & 0 deletions docs/csharp/roslyn-sdk/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,15 @@ found in the quickstarts, samples and tutorials sections.

You can learn more about the concepts in the .NET Compiler Platform SDK in these four topics:

- [Explore code with the syntax visualizer](syntax-visualizer.md)
- [Understand the compiler API model](compiler-api-model.md)
- [Work with syntax](work-with-syntax.md)
- [Work with semantics](work-with-semantics.md)
- [Work with a workspace](work-with-workspace.md)

To get started, you'll need to install the **.NET Compiler Platform SDK**:

[!INCLUDE[interactive-note](~/includes/roslyn-installation.md)]

<!--

Expand Down
Binary file added docs/csharp/roslyn-sdk/media/alias-symbol.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/csharp/roslyn-sdk/media/constant-value.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/csharp/roslyn-sdk/media/docking-layout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/csharp/roslyn-sdk/media/method-symbol.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/csharp/roslyn-sdk/media/visualize-csharp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
130 changes: 130 additions & 0 deletions docs/csharp/roslyn-sdk/syntax-visualizer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
---
title: Explore code with the Roslyn syntax visualizer in Visual Studio
description: The syntax visualizer provides a visual tool to explore the models the .NET Compiler Platform SDK generates for code.
author: billwagner
ms.author: wiwagn
ms.date: 03/07/2018
ms.topic: conceptual
ms.prod: .net
ms.devlang: devlang-csharp
ms.custom: mvc
---
# Explore code with the Roslyn syntax visualizer in Visual Studio

This article provides an overview of the Syntax Visualizer tool that ships as part of the .NET Compiler Platform ("Roslyn") SDK. The Syntax Visualizer is a tool window that helps you inspect and explore syntax trees. It's an essential tool to understand the models for code you want to analyze. It's also a debugging aid when you develop your own applications using the .NET Compiler Platform (“Roslyn”) SDK. Open this tool as you create your first analyzers. The visualizer helps you understand the models used by the APIs. You can also use tools like [SharpLab](https://sharplab.io) or [LINQPad](https://www.linqpad.net/) to inspect code and understand syntax trees.

[!INCLUDE[interactive-note](~/includes/roslyn-installation.md)]

Familiarize yourself with the concepts used in the .NET Compiler Platform SDK by reading the [overview](compiler-api-model.md) article. It provides an introduction to syntax trees, nodes, tokens, and trivia.

## Syntax Visualizer

The **Syntax Visualizer** enables inspection of the syntax tree for the C# or VB code file in the current active editor window inside the Visual Studio IDE. The visualizer can be launched by clicking on **View** > **Other Windows** > **Syntax Visualizer**. You can also use the **Quick Launch** toolbar in the upper right corner. Type "syntax", and the command to open the **Syntax Visualizer** should appear.

This command opens the Syntax Visualizer as a floating tool window. If you don't have a code editor window open, the display is blank, as shown in the following figure.

![The Syntax Visualizer tool window](media/syntax-visualizer.png)

Dock this tool window at a convenient location inside Visual Studio, such as the left side. The Visualizer shows information about the current code file.

Create a new project using the **File** > **New Project** command. You can create either a VB or C# project. When Visual Studio opens the main code file for this project, the visualizer displays the syntax tree for it. You can open any existing C# / VB file in this Visual Studio instance, and the visualizer displays that file's syntax tree. If you have multiple code files open inside Visual Studio, the visualizer displays the syntax tree for the currently active code file, (the code file that has keyboard focus.)

# [C#](#tab/csharp)
![Visualizing a C# syntax tree](media/visualize-csharp.png)
# [Visual Basic](#tab/visual-basic)
![Visualizing a VB syntax tree](media/visualize-visual-basic.png)
---

As shown in the preceding images, the visualizer tool window displays the syntax tree at the top and a property grid at the bottom. The property grid displays the properties of the item that is currently selected in the tree, including the .NET *Type* and the *Kind* (SyntaxKind) of the item.

Syntax trees comprise three types of items – *nodes*, *tokens*, and *trivia*. You can read more about these types in the [Work with syntax](work-with-syntax.md) article. Items of each type are represented using a different color. Click on the ‘Legend’ button for an overview of the colors used.

Each item in the tree also displays its own **span**. The **span** is the indices (the starting and ending position) of that node in the text file. In the preceding C# example, the selected “UsingKeyword [0..5)” token has a **Span** that is five characters wide, [0..5). The "[..)" notation means that the starting index is part of the span, but the ending index is not.

There are two ways to navigate the tree:
* Expand or click on items in the tree. The visualizer automatically selects the text corresponding to this item’s span in the code editor.
* Click or select text in the code editor. In the preceding VB example, if you select the line containing "Module Module1" in the code editor, the visualizer automatically navigates to the corresponding ModuleStatement node in the tree.

The visualizer highlights the item in the tree whose span best matches the span of the text selected in the editor.

The visualizer refreshes the tree to match modifications in the active code file. Add a call to `Console.WriteLine()` inside `Main()`. As you type, the visualizer refreshes the tree.

Pause typing once you have typed `Console.`. The tree has some items colored in pink. 8000 At this point, there are errors (also referred to as ‘Diagnostics’) in the typed code. These errors are attached to nodes, tokens, and trivia in the syntax tree. The visualizer shows you which items have errors attached to them highlighting the background in pink. You can inspect the errors on any item colored pink by hovering over the item. The visualizer only displays syntactic errors (those errors related to the syntax of the typed code); it doesn't display any semantic errors.

## Syntax Graphs

Right click on any item in the tree and click on **View Directed Syntax Graph**.

The visualizer displays a graphical representation of the subtree rooted at the selected item. Try these steps for the **MethodDeclaration** node corresponding to the `Main()` method in the C# example. The visualizer displays a syntax graph that looks as follows:

![Viewing a C# syntax graph](media/csharp-syntax-graph.png)

Try the same for the **SubBlock** node corresponding to the `Main()` method in the preceding VB example. The visualizer displays a syntax graph that looks as follows:

![Viewing a VB syntax graph](media/visual-basic-syntax-graph.png)

The syntax graph viewer has an option to display a legend its coloring scheme. You can also hover over individual items in the syntax graph with the mouse to view the properties corresponding to that item.

You can view syntax graphs for different items in the tree repeatedly and the graphs will always be displayed in the same window inside Visual Studio. You can dock this window at a convenient location inside Visual Studio so that you don’t have to switch between tabs to view a new syntax graph. The bottom, below code editor windows, is often convenient.

Here is the docking layout to use with the visualizer tool window and the syntax graph window:

![One docking layout for the visualizer and syntax graph window](media/docking-layout.png)

Another option is to put the syntax graph window on a second monitor, in a dual monitor setup.

# Inspecting semantics

The Syntax Visualizer enables rudimentary inspection of symbols and semantic information. Type `double x = 1 + 1;` inside Main() in the C# example. Then, select the expression `1 + 1` in the code editor window. The visualizer highlights the **AddExpression** node in the visualizer. Right click on this **AddExpression** and click on **View Symbol (if any)**. Notice that most of the menu items have the "if any" qualifier. The Syntax Visualizer inspects properties of a Node, including properties that may not be present for all nodes.

The property grid in the visualizer updates as shown in the following figure: The symbol for the expression is a **SynthesizedIntrinsicOperatorSymbol** with **Kind = Method**.

![Symbol properties](media/symbol-properties.png)

Try **View TypeSymbol (if any)** for the same **AddExpression** node. The property grid in the visualizer updates as shown in the following figure, indicating that the type of the selected expression is `Int32`.

![TypeSymbol properties](media/type-symbol-properties.png)

Try **View Converted TypeSymbol (if any)** for the same **AddExpression** node. The property grid updates indicating that although the type of the expression is `Int32`, the converted type of the expression is `Double` as shown in the following figure. This node includes converted type symbol information because the `Int32` expression occurs in a context where it must be converted to a `Double`. This conversion satisfies the `Double` type specified for the variable `x` on the left-hand side of the assignment operator.

![Converted TypeSymbol properties](media/converted-type-symbol-properties.png)

Finally, try **View Constant Value (if any)** for the same **AddExpression** node. The property grid shows that the value of the expression is a compile time constant with value `2`.

![A constant value](media/constant-value.png)

The preceding example can also be replicated in VB. Type `Dim x As Double = 1 + 1` in a VB file. Select the expression `1 + 1` in the code editor window. The visualizer highlights the corresponding **AddExpression** node in the visualizer. Repeat the preceding steps for this **AddExpression** and you should see identical results.

Examine more code in VB. Update your main VB file with the following code:

```vb
Imports C = System.Console

Module Program
Sub Main(args As String())
C.WriteLine()
End Sub
< 10000 /td> End Module
```

This code introduces an alias named `C` that maps to the type `System.Console` at the top of the file and uses this alias inside `Main()`. Select the use of this alias, the `C` in `C.WriteLine()`, inside the `Main()` method. The visualizer selects the corresponding **IdentifierName** node in the visualizer. Right-click this node and click on **View Symbol (if any)**. The property grid indicates that this identifier is bound to the type `System.Console` as shown in the following figure:

![Symbol properties](media/symbol-visual-basic.png)

Try **View AliasSymbol (if any)** for the same **IdentifierName** node. The property grid indicates the identifier is an alias with name `C` that is bound to the `System.Console` target. In other words, the property grid provides information regarding the **AliasSymbol** corresponding to the identifier `C`.

![AliasSymbol properties](media/alias-symbol.png)

Inspect the symbol corresponding to any declared type, method, property. Select the corresponding node in the visualizer and click on **View Symbol (if any)**. Select the method `Sub Main()`, including the body of the method. Click on **View Symbol (if any)** for the corresponding **SubBlock** node in the visualizer. The property grid shows the **MethodSymbol** for this **SubBlock** has name `Main` with return type `Void`.

![Viewing symbol for a method declaration](media/method-symbol.png)

The above VB examples can be easily replicated in C#. Type `using C = System.Console;` in place of `Imports C = System.Console` for the alias. The preceding steps in C# yield identical results in the visualizer window.

Semantic inspection operations are only available on nodes. They are not available on tokens or trivia. Not all nodes have interesting semantic information to inspect. When a node doesn't have interesting semantic information, clicking on **View * Symbol (if any)** shows a blank property grid.

You can read more about APIs for performing semantic analysis in the [Work with semantics](work-with-semantics.md) overview document.

## Closing the syntax visualizer

You can close the visualizer window when you are not using it to examine source code. The syntax visualizer updates its display as you navigate through code, editing and changing source. It can get distracting when you are not using it.
4 changes: 2 additions & 2 deletions docs/csharp/roslyn-sdk/toc.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
## [Work with syntax](work-with-syntax.md)
## [Work with semantics](work-with-semantics.md)
## [Work with a workspace](work-with-workspace.md)

## Quick starts
## [Explore code with the syntax visualizer](syntax-visualizer.md)
## Quick Starts
### [Syntax analysis](get-started/syntax-analysis.md)
### [Semantic analysis](get-started/semantic-analysis.md)

Expand Down
29 changes: 29 additions & 0 deletions includes/roslyn-installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Installation instructions

There are two different ways to find the **.NET Compiler Platform SDK** in the **Visual Studio Installer**:

### Install using the Workloads view

The .NET Compiler Platform SDK is not automatically selected as part of the Visual Studio extension development workload. You must select it as an optional component.

1. Run **Visual Studio Installer**
1. Select **Modify**
1. Check the **Visual Studio extension development** workload.
1. Open the **Visual Studio extension development** node in the summary tree.
1. Check the box for **.NET Compiler Platform SDK**. You'll find it last under the optional components.

Optionally, you'll also want the **DGML editor** to display graphs in the visualizer:

1. Open the **Individual components** node in the summary tree.
1. Check the box for **DGML editor**

### Install using the Individual components tab

1. Run **Visual Studio Installer**
1. Select **Modify**
1. Select the **Individual components** tab
1. Check the box for **.NET Compiler Platform SDK**. You'll find it last under the **Compilers, build tools ,and runtimes** section.

Optionally, you'll also want the **DGML editor** to display graphs in the visualizer:

1. Check the box for **DGML editor**. You'll find it under the **Code tools** section.
0