diff --git a/README.md b/README.md index 9e567a0..d7727e3 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,9 @@ In case you want to be in the bleeding edge of technology and use the new stuff Please follow the instructions [here](http://docs.myget.org/docs/walkthrough/getting-started-with-vsix#Working_with_your_Vsix_feed) on how to add the feed to your Visual Studio instance. Use this URL for the feed: `https://www.myget.org/F/nanoframework-dev/vsix/`. +## Developing for the Visual Studio extension + +If you are working on developing code for **nanoFramework** Visual Studio extension please take a look at the available documentation [here](). ## Credits diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..079d55d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,13 @@ +# Documentation related with Visual Studio extension development + +## Internal documentation + +* [Developer notes](developer-notes.md) + +## External documentation + +* [Visual Studio Extensibility Samples](https://github.com/Microsoft/VSSDK-Extensibility-Samples) +* [Extensibility in Visual Studio](https://docs.microsoft.com/en-us/visualstudio/extensibility/extensibility-in-visual-studio?view=vs-2017) +* [Visual Studio SDK](https://docs.microsoft.com/en-us/visualstudio/extensibility/visual-studio-sdk?view=vs-2017) +* [Visual Studio SDK reference](https://docs.microsoft.com/en-us/visualstudio/extensibility/visual-studio-sdk-reference?view=vs-2017) +* [Posts about VS extensibility in "The Visual Studio Blog"](https://blogs.msdn.microsoft.com/visualstudio/tag/extensibility/) diff --git a/docs/developer-notes.md b/docs/developer-notes.md new file mode 100644 index 0000000..64f7b08 --- /dev/null +++ b/docs/developer-notes.md @@ -0,0 +1,40 @@ +# Developer notes + +## Launching Visual Studio experimental instance + +To launch Visual Studio experimental instance: + +1. Open VS developer command prompt. +2. Enter `"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /rootSuffix Exp` + +> Mind to adjust the path above to your setup. + +## Reset VS experimental instance + +In case you need to reset the Visual Studio experimental instance: + +1. Open VS developer command prompt. +2. Navigate to `e:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VSSDK\VisualStudioIntegration\Tools\Bin`. +3. Enter `CreateExpInstance /Reset /VSInstance=15.0 /RootSuffix=_d9708c20Exp`. + +> Mind to adjust the path above to your setup. +> The RootSuffix above (**_d9708c20Exp**) will be different for each installation. Please amend the above to match your local one. + +You'll want to reset VS experimental instance on a number of situations. Usually this is when you need to start fresh because there is too much clutter, a failed deployment that is creeplying your debugging or whenever a new Visual Studio update is installed. + +## Debugging with the **nanoFramework** Debugger library + +In situations where you want to debug something in the **nanoFramework** Debugger library please follow these steps: + +1. Make sure to update (or checkout the appropriate commit) in the `nf-debugger` git sub-module. +1. Load the `nanoFramework.Tools.Debugger.sln` solution there, restore the NuGets for the solution and rebuild it. After this you can close the solution. +1. Load the **nanoFramework** extension solution in Visual Studio. +1. Expand the folder `debugger-library` and find there 2 projects for each of the components. +1. Right click and hit `Reload` for each of the project there. Like this. + + ![](images/reloading-debugger-projects.png) + +6. Use the [NuGet reference switcher extension](https://marketplace.visualstudio.com/items?itemName=RicoSuter.NuGetReferenceSwitcherforVisualStudio2017) to switch the references to `nanoFramework.Tools.Debugger` from NuGet to project and point it to the appropriate project. +1. Perform whatever debug that you need by placing breakpoint on any source file of the debugger library. +1. When you are done open the NuGet reference switcher extension again, open the Switch to NuGet references tab and revert the debugger library references. Make sure that the "remove projects from solution" is **not** checked. +1. Unload the debugger library projects from the solution. diff --git a/docs/images/reloading-debugger-projects.png b/docs/images/reloading-debugger-projects.png new file mode 100644 index 0000000..2e0e268 Binary files /dev/null and b/docs/images/reloading-debugger-projects.png differ