Skip to content

Commit

Permalink
Merge branch 'develop' into add-storage-deploy
Browse files Browse the repository at this point in the history
  • Loading branch information
Ellerbach authored Dec 3, 2024
2 parents 4beb6d9 + a783f54 commit ba5f522
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 77 deletions.
19 changes: 8 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,21 @@ This repo contains .NET **nanoFramework** Visual Studio extension and associated

## Build status

| Component | Build Status | Stable version | Preview version |
|:-|---|---|---|
| Visual Studio 2022 extension | [![Build Status](https://dev.azure.com/nanoframework/Visual-Studio-extension/_apis/build/status/nanoframework.nf-Visual-Studio-extension)](https://dev.azure.com/nanoframework/Visual-Studio-extension/_build/latest?definitionId=17) | [![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/d/nanoframework.nanoFramework-VS2022-Extension.svg)](https://marketplace.visualstudio.com/items?itemName=nanoframework.nanoFramework-VS2022-Extension) | [![Open VSIX Gallery](https://img.shields.io/badge/Open%20VSIX%20Gallery-(preview)-yellow.svg)](http://vsixgallery.com/extension/bf694e17-fa5f-4877-9317-6d3664b2689a) |
| Visual Studio 2019 extension | [![Build Status](https://dev.azure.com/nanoframework/Visual-Studio-extension/_apis/build/status/nanoframework.nf-Visual-Studio-extension)](https://dev.azure.com/nanoframework/Visual-Studio-extension/_build/latest?definitionId=17) | [![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/d/nanoframework.nanoFramework-VS2019-Extension.svg)](https://marketplace.visualstudio.com/items?itemName=nanoframework.nanoFramework-VS2019-Extension) | [![Open VSIX Gallery](https://img.shields.io/badge/Open%20VSIX%20Gallery-(preview)-yellow.svg)](http://vsixgallery.com/extension/455f2be5-bb07-451e-b351-a9faf3018dc9) |
| Visual Studio 2017 extension | [![Build Status](https://dev.azure.com/nanoframework/Visual-Studio-extension/_apis/build/status/nanoframework.nf-Visual-Studio-extension)](https://dev.azure.com/nanoframework/Visual-Studio-extension/_build/latest?definitionId=17) | [![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/d/vs-publisher-1470366.nanoFrameworkVS2017Extension.svg)](https://marketplace.visualstudio.com/items?itemName=vs-publisher-1470366.nanoFrameworkVS2017Extension) | [![Open VSIX Gallery](https://img.shields.io/badge/Open%20VSIX%20Gallery-(preview)-yellow.svg)](http://vsixgallery.com/extension/47973986-ed3c-4b64-ba40-a9da73b44ef7) |
| Component | Build Status | Stable version |
|:-|---|---|
| Visual Studio 2022 extension | [![Build Status](https://dev.azure.com/nanoframework/Visual-Studio-extension/_apis/build/status/nanoframework.nf-Visual-Studio-extension)](https://dev.azure.com/nanoframework/Visual-Studio-extension/_build/latest?definitionId=17) | [![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/d/nanoframework.nanoFramework-VS2022-Extension.svg)](https://marketplace.visualstudio.com/items?itemName=nanoframework.nanoFramework-VS2022-Extension) |
| Visual Studio 2019 extension | [![Build Status](https://dev.azure.com/nanoframework/Visual-Studio-extension/_apis/build/status/nanoframework.nf-Visual-Studio-extension)](https://dev.azure.com/nanoframework/Visual-Studio-extension/_build/latest?definitionId=17) | [![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/d/nanoframework.nanoFramework-VS2019-Extension.svg)](https://marketplace.visualstudio.com/items?itemName=nanoframework.nanoFramework-VS2019-Extension) |
| Visual Studio 2017 extension (:warning: Deprecated) | [![Build Status](https://dev.azure.com/nanoframework/Visual-Studio-extension/_apis/build/status/nanoframework.nf-Visual-Studio-extension)](https://dev.azure.com/nanoframework/Visual-Studio-extension/_build/latest?definitionId=17) | [![Visual Studio Marketplace](https://img.shields.io/vscode-marketplace/d/vs-publisher-1470366.nanoFrameworkVS2017Extension.svg)](https://marketplace.visualstudio.com/items?itemName=vs-publisher-1470366.nanoFrameworkVS2017Extension) |

## Feedback and documentation

For documentation, providing feedback, issues and finding out how to contribute please refer to the [Home repo](https://github.com/nanoframework/Home).

Join our Discord community [here](https://discord.gg/gCyBu8T).

## Visual Studio extension galleries
## Visual Studio extension distribution

**nanoFramework** Visual Studio extension is distributed through Visual Studio Marketplace. This is for the stable version.

In case you want to be in the bleeding edge of technology and use the new stuff (or interested in trying out preview versions and provide valuable feedback) you can do that by adding the Open VSIX Gallery feed to your Visual Studio configuration. Please follow the instructions [here](http://vsixgallery.com/guide/feed/) on how to add the feed to your Visual Studio instance.
This is the feed URL: `http://vsixgallery.com/feed/author/nanoframework/`.
**nanoFramework** Visual Studio extension is distributed through Visual Studio Marketplace. You can either search it on the marketplace or follow the URLs above for the appropriate version.

This is the experience you'll have when installing the extension:

Expand All @@ -43,7 +40,7 @@ If you are working on developing code for **nanoFramework** Visual Studio extens

## Credits

The list of contributors to this project can be found at [CONTRIBUTORS](https://github.com/nanoframework/Home/blob/master/CONTRIBUTORS.md).
The list of contributors to this project can be found at [CONTRIBUTORS](https://github.com/nanoframework/Home/blob/main/CONTRIBUTORS.md).

## Icons

Expand Down
75 changes: 23 additions & 52 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,36 @@ trigger:
paths:
exclude:
- README.md
- LICENSE.md
- REAME-BEFORE-UPDATE-REFS.txt
- LICENSE
- CHANGELOG*.md
- NuGet.Config
- .github_changelog_generator
- docs/*
- .editorconfig
- .gitattributes
- .gitignore
- .gitmodules
- spelling_exclusion.dic

# PR always trigger build
pr:
autoCancel: true
branches:
include:
- '*'
paths:
exclude:
- README.md
- REAME-BEFORE-UPDATE-REFS.txt
- LICENSE
- CHANGELOG*.md
- NuGet.Config
- docs/*
- .editorconfig
- .gitattributes
- .gitignore
- .gitmodules
- spelling_exclusion.dic

# add nf-tools repo to resources (for Azure Pipelines templates)
resources:
Expand Down Expand Up @@ -256,31 +277,6 @@ jobs:
condition: and( succeeded(), ne(variables['system.pullrequest.isfork'], true) )
displayName: Publish deployables artifacts

# upload extension to Open VSIX Gallery (only possible if this is not a PR from a fork)
- task: PowerShell@2
displayName: Upload vsix to Open VSIX Gallery
condition: >-
and(
succeeded(),
ne(variables['system.pullrequest.isfork'], true),
eq(variables['System.PullRequest.PullRequestId'], '')
)
continueOnError: true
inputs:
targetType: 'inline'
script: |
$artifactsCollection = @("./*VS2019.Extension.vsix") | %{ Get-ChildItem -File . -Filter $_ -Recurse}
(new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex
foreach($file in $artifactsCollection)
{
"Uploading VSIX package to Open VSIX Gallery..." | Write-Host
Vsix-PublishToGallery $file
}
# create or update GitHub release
- task: GithubRelease@1
condition: >-
Expand Down Expand Up @@ -453,31 +449,6 @@ jobs:
condition: and( succeeded(), ne(variables['system.pullrequest.isfork'], true) )
displayName: Publish deployables artifacts

# upload extension to Open VSIX Gallery (only possible if this is not a PR from a fork)
- task: PowerShell@2
displayName: Upload vsix to Open VSIX Gallery
condition: >-
and(
succeeded(),
ne(variables['system.pullrequest.isfork'], true),
eq(variables['System.PullRequest.PullRequestId'], '')
)
continueOnError: true
inputs:
targetType: 'inline'
script: |
$artifactsCollection = @("./*VS2022.Extension.vsix") | %{ Get-ChildItem -File . -Filter $_ -Recurse}
(new-object Net.WebClient).DownloadString("https://raw.github.com/madskristensen/ExtensionScripts/master/AppVeyor/vsix.ps1") | iex
foreach($file in $artifactsCollection)
{
"Uploading VSIX package to Open VSIX Gallery..." | Write-Host
Vsix-PublishToGallery $file
}
# create or update GitHub release
- task: GithubRelease@1
condition: >-
Expand Down
2 changes: 0 additions & 2 deletions config/filelist.txt

This file was deleted.

25 changes: 19 additions & 6 deletions docs/developer-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ To launch Visual Studio 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`.
2. Navigate to `C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VSSDK\VisualStudioIntegration\Tools\Bin`.
3. Enter `CreateExpInstance /Reset /VSInstance=17.0 /RootSuffix=_d9708c20Exp`.

> Mind to adjust the path above to your setup and Visual Studio version (15.0 for VS2017 and 16.0 for VS2019).
> Mind to adjust the path above to your setup and Visual Studio version (16.0 for VS2019 and 17.0 for VS2022).
> The RootSuffix above (**_d9708c20Exp**) will be different for each installation. Please amend the above to match your local one. You can find the suffix by navigating to the following folder in the users folder `C:\Users\johndoe\AppData\Roaming\Microsoft\VisualStudio`.
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.
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 you install a new Visual Studio version.

## Debugging with the **nanoFramework** Debugger library

Expand All @@ -35,7 +35,20 @@ In situations where you want to debug something in the **nanoFramework** Debugge

![](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. Remove the `nf-debugger` Nuget package from the extension projects.
1. Add a reference to the `nf-debugger` project in the extension projects.
1. Build as ususal.
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. When you are done remove the reference to the `nf-debugger` project and add back the Nuget package.
1. Unload the debugger library projects from the solution.

## Known issue with debugging in the experimental instance

Because of several `CodeBase` entries required for Visual Studio to load the extension assemblies (see [here](https://developercommunity.visualstudio.com/t/Image-icons-from-image-catalog-not-showi/10791720) for the details) you can run into issues for the experimental instance to load the actual assembly of the build you're trying to debug.
If that happens, you're forced to follow these steps:

1. Make a copy of the folder providing the targets and props of the project system. For Visual Studio 2022, this is usually located at `C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\nanoFramework\v1.0`. Delete the DLLs from there. Leave only the targets and props files.
1. Uninstall the official .NET nanoFramework extension from Visual Studio.
1. Load the extension solution and work as usual.

Before installing back the official .NET nanoFramework extension, mind to rename (or remove) the project system folder. Failing to do so will cause the extension install to fail.
6 changes: 0 additions & 6 deletions switcher.json

This file was deleted.

0 comments on commit ba5f522

Please sign in to comment.