├── .editorconfig ├── .gitattributes ├── .github ├── .changelog-config-vs2019.json ├── .changelog-config-vs2022.json └── workflows │ ├── generate-changelog-vs2019.yml │ └── generate-changelog-vs2022.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG-VS2017.md ├── CSharp.AssemblyInfoTemplate ├── AssemblyInfo.cs ├── CSAssemblyInfoFile.ico ├── CSharp.AssemblyInfoTemplate.csproj ├── CSharp.AssemblyInfoTemplate.vstemplate └── Properties │ └── AssemblyInfo.cs ├── CSharp.BlankApplication ├── AssemblyInfo.cs ├── CS.BlankApplication-vs2017.vstemplate ├── CS.BlankApplication-vs2019.vstemplate ├── CS.BlankApplication-vs2022.vstemplate ├── CSApplication.ico ├── CSharp.BlankApplication-vs2017.csproj ├── CSharp.BlankApplication-vs2019.csproj ├── CSharp.BlankApplication-vs2022.csproj ├── CSharp.BlankApplication.Shared.projitems ├── CSharp.BlankApplication.Shared.shproj ├── NFApp.nfproj ├── Program.cs └── Properties │ └── AssemblyInfo.cs ├── CSharp.ClassLibrary ├── AssemblyInfo.cs ├── CS.ClassLibrary-vs2017.vstemplate ├── CS.ClassLibrary-vs2019.vstemplate ├── CS.ClassLibrary-vs2022.vstemplate ├── CSLibrary.ico ├── CSharp.ClassLibrary-vs2017.csproj ├── CSharp.ClassLibrary-vs2019.csproj ├── CSharp.ClassLibrary-vs2022.csproj ├── CSharp.ClassLibrary.Shared.projitems ├── CSharp.ClassLibrary.Shared.shproj ├── Class1.cs ├── NFClassLibrary.nfproj └── Properties │ └── AssemblyInfo.cs ├── CSharp.ClassTemplate ├── CSharp.ClassTemplate.csproj ├── CSharp.ClassTemplate.vstemplate ├── Class.cs └── Properties │ └── AssemblyInfo.cs ├── CSharp.ResourceTemplate ├── CSharp.ResourceTemplate.csproj ├── CSharp.ResourceTemplate.vstemplate ├── FileGroup.ico ├── Properties │ └── AssemblyInfo.cs ├── Resource.Designer.cs └── Resource.resx ├── CSharp.TestApplication ├── .runsettings ├── AssemblyInfo.cs ├── CS.TestApplication-vs2017.vstemplate ├── CS.TestApplication-vs2019.vstemplate ├── CS.TestApplication-vs2022.vstemplate ├── CSharp.TestApplication-vs2017.csproj ├── CSharp.TestApplication-vs2019.csproj ├── CSharp.TestApplication-vs2022.csproj ├── CSharp.TestApplication.Shared.projitems ├── CSharp.TestApplication.Shared.shproj ├── NFUnitTest.nfproj ├── Properties │ └── AssemblyInfo.cs └── UnitTest1.cs ├── LICENSE ├── NuGet.Config ├── README.md ├── REAME-BEFORE-UPDATE-REFS.txt ├── Tools.BuildTasks-2019 ├── GenerateBinaryOutputTask.cs ├── GenerateNanoResourceTask.cs ├── ProcessResourceFiles.cs ├── Properties │ └── AssemblyInfo.cs ├── ResolveRuntimeDependenciesTask.cs ├── TasksConstants.cs ├── Tools.BuildTasks-2019.csproj ├── Utilities │ └── DebuggerHelper.cs ├── key.snk ├── packages.lock.json └── version.json ├── Tools.BuildTasks-2022 ├── Properties │ └── AssemblyInfo.cs ├── Tools.BuildTasks-2022.csproj ├── key.snk ├── packages.lock.json └── version.json ├── VisualStudio.Extension-2019 ├── AutomaticUpdates │ ├── CC13x26x2Firmware.cs │ ├── CloudsmithPackageInfo.cs │ ├── Esp32Firmware.cs │ ├── FirmwarePackage.cs │ ├── Stm32Firmware.cs │ └── UpdateManager.cs ├── FodyWeavers.xsd ├── IPMaskedTextBox │ ├── IPMaskedTextBox.xaml │ └── IPMaskedTextBox.xaml.cs ├── Key.snk ├── NanoFrameworkMoniker.cs ├── NanoFrameworkMoniker.imagemanifest ├── NanoFrameworkMoniker.vsct ├── NanoFrameworkPackage.cs ├── NanoFrameworkPackage.vsct ├── Properties │ └── AssemblyInfo.cs ├── Resources │ ├── DeviceCapabilities.16.16.png │ ├── DeviceCapabilities.xaml │ ├── DeviceConnected.16.16.png │ ├── DeviceConnected.xaml │ ├── DeviceDisconnected.16.16.png │ ├── DeviceDisconnected.xaml │ ├── DeviceErase.16.16.png │ ├── DeviceErase.svg │ ├── DeviceErase.xaml │ ├── DisableDeviceWatchers.16.16.png │ ├── DisableDeviceWatchers.xaml │ ├── NanoFramework.16.16.png │ ├── NanoFramework.xaml │ ├── NanoFrameworkProject.16.16.png │ ├── NanoFrameworkProject.xaml │ ├── NetworkConfig.16.16.png │ ├── NetworkConfig.svg │ ├── NetworkConfig.xaml │ ├── Ping.16.16.png │ ├── Ping.xaml │ ├── Reboot.16.16.png │ ├── Reboot.xaml │ ├── RescanDevices.16.16.png │ ├── RescanDevices.xaml │ ├── ResourceStrings.Designer.cs │ ├── ResourceStrings.resx │ ├── Settings.16.16.png │ ├── Settings.svg │ ├── Settings.xaml │ ├── ShowInternalErrors.16.16.png │ ├── ShowInternalErrors.xaml │ ├── nF-logo-128.png │ ├── nF-logo-32.png │ └── nanoFramework.ico ├── Rules │ ├── EmbeddedResource.BrowseObject.xaml │ ├── EmbeddedResource.xaml │ ├── NanoDebugger.xaml │ ├── None.BrowseObject.xaml │ ├── csharp.browseobject.xaml │ ├── csharp.xaml │ ├── debugger_general.xaml │ ├── folder.xaml │ ├── general.browseobject.xaml │ ├── general.xaml │ ├── general_file.xaml │ ├── nfProjectItemsSchema.xaml │ ├── none.xaml │ └── scc.xaml ├── Targets │ ├── NFProjectSystem.CSharp.targets │ ├── NFProjectSystem.Default.props │ ├── NFProjectSystem.MDP.targets │ ├── NFProjectSystem.props │ └── NFProjectSystem.targets ├── ToolWindow.DeviceExplorer │ ├── DeviceExplorerControl.xaml │ ├── DeviceExplorerControl.xaml.cs │ ├── NetworkConfigurationDialog.xaml │ ├── NetworkConfigurationDialog.xaml.cs │ ├── SettingsDialog.xaml │ └── SettingsDialog.xaml.cs ├── VSPackage.resx ├── VisualStudio.Extension-vs2019.csproj ├── VisualStudio.Extension.GeneratedMSBuildEditorConfig.editorconfig ├── app.config ├── license.txt ├── packages.lock.json ├── source.extension.vsixmanifest ├── version.json ├── vs2019-extension-manifest.json └── vs2019-marketplace-overview.md ├── VisualStudio.Extension-2022 ├── AutomaticUpdates │ ├── CC13x26x2Firmware.cs │ ├── CloudsmithPackageInfo.cs │ ├── Esp32Firmware.cs │ ├── FirmwarePackage.cs │ ├── Stm32Firmware.cs │ └── UpdateManager.cs ├── IPMaskedTextBox │ ├── IPMaskedTextBox.xaml │ └── IPMaskedTextBox.xaml.cs ├── Key.snk ├── NanoFrameworkMoniker.cs ├── NanoFrameworkMoniker.imagemanifest ├── NanoFrameworkMoniker.vsct ├── NanoFrameworkPackage.cs ├── NanoFrameworkPackage.vsct ├── PrepareImageManifest.targets ├── Properties │ └── AssemblyInfo.cs ├── Resources │ ├── DeviceCapabilities.16.16.png │ ├── DeviceCapabilities.xaml │ ├── DeviceConnected.16.16.png │ ├── DeviceConnected.xaml │ ├── DeviceDisconnected.16.16.png │ ├── DeviceDisconnected.xaml │ ├── DeviceErase.16.16.png │ ├── DeviceErase.svg │ ├── DeviceErase.xaml │ ├── DisableDeviceWatchers.16.16.png │ ├── DisableDeviceWatchers.xaml │ ├── NanoFramework.16.16.png │ ├── NanoFramework.xaml │ ├── NanoFrameworkProject.16.16.png │ ├── NanoFrameworkProject.xaml │ ├── NetworkConfig.16.16.png │ ├── NetworkConfig.svg │ ├── NetworkConfig.xaml │ ├── Ping.16.16.png │ ├── Ping.xaml │ ├── Reboot.16.16.png │ ├── Reboot.xaml │ ├── RescanDevices.16.16.png │ ├── RescanDevices.xaml │ ├── ResourceStrings.Designer.cs │ ├── ResourceStrings.resx │ ├── Settings.16.16.png │ ├── Settings.svg │ ├── Settings.xaml │ ├── ShowInternalErrors.16.16.png │ ├── ShowInternalErrors.xaml │ ├── nF_logo_128.png │ ├── nF_logo_32.png │ └── nanoFramework.ico ├── Rules │ ├── EmbeddedResource.BrowseObject.xaml │ ├── EmbeddedResource.xaml │ ├── NanoDebugger.xaml │ ├── None.BrowseObject.xaml │ ├── csharp.browseobject.xaml │ ├── csharp.xaml │ ├── debugger_general.xaml │ ├── folder.xaml │ ├── general.browseobject.xaml │ ├── general.xaml │ ├── general_file.xaml │ ├── nfProjectItemsSchema.xaml │ ├── none.xaml │ └── scc.xaml ├── Targets │ ├── NFProjectSystem.CSharp.targets │ ├── NFProjectSystem.Default.props │ ├── NFProjectSystem.MDP.targets │ ├── NFProjectSystem.props │ └── NFProjectSystem.targets ├── ToolWindow.DeviceExplorer │ ├── DeviceExplorerControl.xaml │ ├── DeviceExplorerControl.xaml.cs │ ├── NetworkConfigurationDialog.xaml │ ├── NetworkConfigurationDialog.xaml.cs │ ├── SettingsDialog.xaml │ └── SettingsDialog.xaml.cs ├── VSPackage.resx ├── VisualStudio.Extension-vs2022.csproj ├── VisualStudio.Extension.GeneratedMSBuildEditorConfig.editorconfig ├── app.config ├── license.txt ├── packages.lock.json ├── source.extension.vsixmanifest ├── version.json ├── vs2022-extension-manifest.json └── vs2022-marketplace-overview.md ├── assets ├── CSApplication.ico ├── CSAssemblyInfoFile.ico ├── CSClassFile.ico ├── CSLibrary.ico ├── FileGroup.ico ├── VS icons │ ├── logo_100.png │ ├── logo_120.png │ ├── logo_128.png │ ├── logo_15.png │ ├── logo_22.png │ └── logo_30.png ├── VS2017 │ ├── CSProjectNode_16x.png │ ├── CSProjectNode_16x.svg │ ├── CSProjectNode_16x.xaml │ ├── NanoFrameworkProject.16.16.png │ ├── NanoFrameworkProject.xaml │ └── NanoFrameworkProjectNode_16x.svg ├── VS2019 │ ├── CSProjectNode_16x.png │ ├── CSProjectNode_16x.svg │ ├── CSProjectNode_16x.xaml │ ├── NanoFrameworkProject.16.16.png │ ├── NanoFrameworkProject.xaml │ └── NanoFrameworkProjectNode_16x.svg └── marketplace │ ├── vs2017 │ ├── debug-session.png │ └── starting-new-project.png │ ├── vs2019 │ ├── debug-session.png │ └── starting-new-project.png │ └── vs2022 │ ├── debug-session.png │ └── starting-new-project.png ├── azure-pipelines-task-tools.yml ├── azure-pipelines.yml ├── docs ├── README.md ├── developer-notes.md └── images │ ├── getting-started-extension-installation.gif │ ├── getting-started-first-project.gif │ └── reloading-debugger-projects.png ├── nanoFramework.Tools.VisualStudio.sln ├── spelling_exclusion.dic └── vs-extension.shared ├── Converters ├── AuthenticationTypeConverter.cs ├── EncryptionTypeConverter.cs ├── InterfaceTypeToBoolConverters.cs ├── MacAddressConverter.cs ├── NetworkInterfaceTypeConverter.cs ├── RadioTypeConverter.cs ├── Wireless80211_OptionsTypeConverter.cs └── WirelessAP_OptionsTypeConverter.cs ├── CorDebug ├── COM_HResults.cs ├── ConnectionPoint.cs ├── CorDebug.cs ├── CorDebugAppDomain.cs ├── CorDebugAssembly.cs ├── CorDebugBreakpoint.cs ├── CorDebugBreakpointStepper.cs ├── CorDebugChain.cs ├── CorDebugClass.cs ├── CorDebugCode.cs ├── CorDebugEnum.cs ├── CorDebugEval.cs ├── CorDebugFrame.cs ├── CorDebugFunction.cs ├── CorDebugProcess.cs ├── CorDebugStepper.cs ├── CorDebugThread.cs ├── CorDebugType.cs ├── CorDebugValue.cs ├── DebugEvent.cs ├── DebugPort.cs ├── DebugPortSupplier.cs ├── DebuggerInteropConstants.cs ├── ICorDebugInterop.cs ├── ManagedCallbacks.cs ├── MetaDataImport.cs ├── MetaDataImportInterface.cs ├── Pdbx.cs ├── PdbxFile.cs ├── ProcessExitException.cs ├── Utility │ ├── Boolean.cs │ ├── Utility.FImplies.cs │ ├── Utility.InRange.cs │ ├── Utility.Kernel32.cs │ ├── Utility.MarshalInt.cs │ ├── Utility.MarshalString.cs │ └── Utility.XmlDeserialize.cs └── nanoCLR_TypeSystem.cs ├── DebugLauncher ├── CommandLineBuilder.cs └── NanoDebuggerLaunchProvider.cs ├── DeployProvider ├── DeployProvider.cs ├── DeploymentAssembly.cs ├── DeploymentAssemblyDistinctEquality.cs └── DeploymentException.cs ├── Extensions ├── TaskExtensions.cs └── VersionExtensions.cs ├── MessageCentre └── MessageCentre.cs ├── NanoDeviceCommService ├── INanoDeviceCommService.cs ├── NanoDeviceCommService.cs └── SNanoDeviceCommService.cs ├── NanoOptions └── NanoOptionsPageDebugging.cs ├── ProjectSystem ├── GlobalPropertiesProvider.cs ├── NanoCSharpProjectConfigured.cs ├── NanoCSharpProjectUnconfigured.cs ├── ProjectProperties.cs └── ProjectTreePropertiesProvider.cs ├── ProvideDebugEngineAttribute.cs ├── ProvideDebugPortSupplierAttribute.cs ├── ResXFileCodeGenerator └── NFResXFileCodeGenerator.cs ├── ToolWindow.DeviceExplorer ├── DeviceExplorer.cs ├── DeviceExplorerCommand.cs ├── Models │ ├── ConnectionState.cs │ └── PingConnectionResult.cs ├── Services │ └── NanoFrameworkService │ │ ├── INFDebugClientBaseService.cs │ │ ├── INFSerialDebugClientService.cs │ │ ├── NFSerialDebugClientService.cs │ │ └── xaml_abbreviation.baml └── ViewModel │ ├── DesignDataService.cs │ ├── DeviceExplorerViewModel.cs │ └── IDataService.cs ├── Utilities ├── DeploymentImageGenerator.cs ├── EnumToItemsSource.cs └── ReferenceCrawler.cs ├── VirtualDeviceService ├── IVirtualDeviceService.cs └── VirtualDeviceService.cs ├── vs-extension.shared.projitems └── vs-extension.shared.shproj /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=crlf 2 | -------------------------------------------------------------------------------- /.github/.changelog-config-vs2019.json: -------------------------------------------------------------------------------- 1 | { 2 | "categories": [ 3 | { 4 | "title": "## New Features and enhancements", 5 | "labels": [ 6 | "Type: enhancement", 7 | "VS2019" 8 | ], 9 | "exhaustive": true 10 | }, 11 | { 12 | "title": "## Bug Fixes", 13 | "labels": [ 14 | "Type: bug", 15 | "VS2019" 16 | ], 17 | "exhaustive": true 18 | }, 19 | { 20 | "title": "## Documentation", 21 | "labels": [ 22 | "Type: documentation", 23 | "VS2019" 24 | ], 25 | "exhaustive": true 26 | }, 27 | { 28 | "title": "## ⚠️ Breaking Changes", 29 | "labels": [ 30 | "Breaking-Change", 31 | "VS2019" 32 | ], 33 | "exhaustive": true 34 | }, 35 | { 36 | "title": "## Updated dependencies", 37 | "labels": [ 38 | "Type: dependencies", 39 | "VS2019" 40 | ], 41 | "exhaustive": true 42 | } 43 | ], 44 | "sort": "ASC", 45 | "template": "${{CHANGELOG}}\n\n**Full Changelog:** ${{RELEASE_DIFF}}\n\n

Install from Visual Studio Marketplace

\nThe following Visual Studio Extension is available for install from this release:\n\n:package: [.NET nanoFramework VS2019 Extension](https://marketplace.visualstudio.com/items?itemName=nanoframework.nanoFramework-VS2019-Extension)", 46 | "pr_template": "* ${{TITLE}} by @${{AUTHOR}} in #${{NUMBER}}", 47 | "empty_template": "- no changes", 48 | "max_tags_to_fetch": 200, 49 | "max_pull_requests": 200, 50 | "tag_resolver": { 51 | "method": "sort", 52 | "filter": { 53 | "pattern": "v2019.(.+)" 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /.github/.changelog-config-vs2022.json: -------------------------------------------------------------------------------- 1 | { 2 | "categories": [ 3 | { 4 | "title": "## New Features and enhancements", 5 | "labels": [ 6 | "Type: enhancement", 7 | "VS2022" 8 | ], 9 | "exhaustive": true 10 | }, 11 | { 12 | "title": "## Bug Fixes", 13 | "labels": [ 14 | "Type: bug", 15 | "VS2022" 16 | ], 17 | "exhaustive": true 18 | }, 19 | { 20 | "title": "## Documentation", 21 | "labels": [ 22 | "Type: documentation", 23 | "VS2022" 24 | ], 25 | "exhaustive": true 26 | }, 27 | { 28 | "title": "## ⚠️ Breaking Changes", 29 | "labels": [ 30 | "Breaking-Change", 31 | "VS2022" 32 | ], 33 | "exhaustive": true 34 | }, 35 | { 36 | "title": "## Updated dependencies", 37 | "labels": [ 38 | "Type: dependencies", 39 | "VS2022" 40 | ], 41 | "exhaustive": true 42 | } 43 | ], 44 | "sort": "ASC", 45 | "template": "${{CHANGELOG}}\n\n**Full Changelog:** ${{RELEASE_DIFF}}\n\n

Install from Visual Studio Marketplace

\nThe following Visual Studio Extension is available for install from this release:\n\n:package: [.NET nanoFramework VS2022 Extension](https://marketplace.visualstudio.com/items?itemName=nanoframework.nanoFramework-VS2022-Extension)", 46 | "pr_template": "* ${{TITLE}} by @${{AUTHOR}} in #${{NUMBER}}", 47 | "empty_template": "- no changes", 48 | "max_tags_to_fetch": 200, 49 | "max_pull_requests": 200, 50 | "tag_resolver": { 51 | "method": "sort", 52 | "filter": { 53 | "pattern": "v2022.(.+)" 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /.github/workflows/generate-changelog-vs2019.yml: -------------------------------------------------------------------------------- 1 | # Copyright (c) .NET Foundation and Contributors 2 | # See LICENSE file in the project root for full license information. 3 | 4 | name: 'Build changelog for VS2019 version' 5 | on: 6 | push: 7 | tags: 8 | - '*' 9 | repository_dispatch: 10 | types: generate-changelog-vs2019 11 | 12 | jobs: 13 | compose_changelog: 14 | if: startsWith(github.ref, 'refs/tags/v2019') 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v4 20 | with: 21 | fetch-depth: 0 22 | 23 | - name: Get previous release 24 | id: previous_release 25 | run: | 26 | $tags=git tag --sort=committerdate --list v2019* 27 | $previousTag = $tags[$tags.Count - 2] 28 | echo "PREVIOUS_TAG=$previousTag" >> $env:GITHUB_ENV 29 | shell: pwsh 30 | 31 | - name: Build Changelog 32 | id: build_changelog 33 | uses: mikepenz/release-changelog-builder-action@v5 34 | with: 35 | configuration: '.github/.changelog-config-vs2019.json' 36 | fromTag: ${{ env.PREVIOUS_TAG }} 37 | env: 38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 39 | 40 | - name: Update changelog in release 41 | id: update_release 42 | uses: tubone24/update_release@v1.0 43 | env: 44 | GITHUB_TOKEN: ${{ github.token }} 45 | TAG_NAME: ${{steps.build_changelog.outputs.toTag}} 46 | with: 47 | body: ${{ steps.build_changelog.outputs.changelog }} 48 | -------------------------------------------------------------------------------- /.github/workflows/generate-changelog-vs2022.yml: -------------------------------------------------------------------------------- 1 | # Copyright (c) .NET Foundation and Contributors 2 | # See LICENSE file in the project root for full license information. 3 | 4 | name: 'Build changelog for VS2022 version' 5 | on: 6 | push: 7 | tags: 8 | - '*' 9 | repository_dispatch: 10 | types: generate-changelog-vs2022 11 | 12 | jobs: 13 | compose_changelog: 14 | if: startsWith(github.ref, 'refs/tags/v2022') 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v4 20 | with: 21 | fetch-depth: 0 22 | 23 | - name: Get previous release 24 | id: previous_release 25 | run: | 26 | $tags=git tag --sort=committerdate --list v2022* 27 | $previousTag = $tags[$tags.Count - 2] 28 | echo "PREVIOUS_TAG=$previousTag" >> $env:GITHUB_ENV 29 | shell: pwsh 30 | 31 | - name: Build Changelog 32 | id: build_changelog 33 | uses: mikepenz/release-changelog-builder-action@v5 34 | with: 35 | configuration: '.github/.changelog-config-vs2022.json' 36 | fromTag: ${{ env.PREVIOUS_TAG }} 37 | env: 38 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 39 | 40 | - name: Update changelog in release 41 | id: update_release 42 | uses: tubone24/update_release@v1.0 43 | env: 44 | GITHUB_TOKEN: ${{ github.token }} 45 | TAG_NAME: ${{steps.build_changelog.outputs.toTag}} 46 | with: 47 | body: ${{ steps.build_changelog.outputs.changelog }} 48 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "nf-debugger"] 2 | path = nf-debugger 3 | url = https://github.com/nanoframework/nf-debugger 4 | [submodule "metadata-processor"] 5 | path = metadata-processor 6 | url = https://github.com/nanoframework/metadata-processor 7 | -------------------------------------------------------------------------------- /CSharp.AssemblyInfoTemplate/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("$rootnamespace$")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("$registeredorganization$")] 12 | [assembly: AssemblyProduct("$rootnamespace$")] 13 | [assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | [assembly: AssemblyVersion("1.0.0.0")] 25 | [assembly: AssemblyFileVersion("1.0.0.0")] 26 | -------------------------------------------------------------------------------- /CSharp.AssemblyInfoTemplate/CSAssemblyInfoFile.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/CSharp.AssemblyInfoTemplate/CSAssemblyInfoFile.ico -------------------------------------------------------------------------------- /CSharp.AssemblyInfoTemplate/CSharp.AssemblyInfoTemplate.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Assembly Information File (.NET nanoFramework) 7 | A file containing general assembly information for a .NET nanoFramework project. 8 | CSharp 9 | CSAssemblyInfoFile.ico 10 | C0D5DFF7-C546-4E01-84FC-8E92D44C567C 11 | 1 12 | AssemblyInfo.cs 13 | CSharp 14 | 15 | 16 | AssemblyInfo.cs 17 | 18 | 19 | -------------------------------------------------------------------------------- /CSharp.AssemblyInfoTemplate/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("AssemblyInfoTemplate")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2017 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("c2ddf1e4-53a3-4e74-99d4-8a68349b9aef")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // 30 | // You can specify all the values or you can default the Build and Revision Numbers 31 | // by using the '*' as shown below: 32 | // [assembly: AssemblyVersion("1.0.*")] 33 | [assembly: AssemblyVersion("1.0.0.0")] 34 | [assembly: AssemblyFileVersion("1.0.0.0")] 35 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("CSharp.BlankApplication")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CSharp.BlankApplication")] 13 | [assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Version information for an assembly consists of the following four values: 23 | // 24 | // Major Version 25 | // Minor Version 26 | // Build Number 27 | // Revision 28 | // 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/CS.BlankApplication-vs2017.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Blank Application (nanoFramework) 5 | A project for a .NET nanoFramework application to be deployed into a target board. 6 | CSApplication.ico 7 | CSharp 8 | 1000 9 | 26c4ac40-4260-42ad-a9ab-d324de259780 10 | true 11 | NFApp 12 | true 13 | true 14 | 15 | 16 | 17 | AssemblyInfo.cs 18 | Program.cs 19 | 20 | 21 | 22 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 23 | NuGet.VisualStudio.TemplateWizard 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/CS.BlankApplication-vs2019.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Blank Application (.NET nanoFramework) 5 | A project for a .NET nanoFramework application to be deployed into a target board. 6 | CSApplication.ico 7 | CSharp 8 | 1000 9 | 26c4ac40-4260-42ad-a9ab-d324de259780 10 | true 11 | NFApp 12 | true 13 | true 14 | nanoFramework 15 | Console 16 | IoT 17 | 18 | 19 | 20 | AssemblyInfo.cs 21 | Program.cs 22 | 23 | 24 | 25 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 26 | NuGet.VisualStudio.TemplateWizard 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/CS.BlankApplication-vs2022.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Blank Application (.NET nanoFramework) 5 | A project for a .NET nanoFramework application to be deployed into a target board. 6 | CSApplication.ico 7 | CSharp 8 | 1000 9 | 26c4ac40-4260-42ad-a9ab-d324de259780 10 | true 11 | NFApp 12 | true 13 | true 14 | CSharp 15 | nanoFramework 16 | Console 17 | IoT 18 | 19 | 20 | 21 | AssemblyInfo.cs 22 | Program.cs 23 | 24 | 25 | 26 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 27 | NuGet.VisualStudio.TemplateWizard 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/CSApplication.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/CSharp.BlankApplication/CSApplication.ico -------------------------------------------------------------------------------- /CSharp.BlankApplication/CSharp.BlankApplication.Shared.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | c5a2cf84-5591-4c33-8cf7-6c949531bfb1 7 | 8 | 9 | CSharp.BlankApplication.Shared 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Designer 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/CSharp.BlankApplication.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | c5a2cf84-5591-4c33-8cf7-6c949531bfb1 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/NFApp.nfproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(MSBuildExtensionsPath)\nanoFramework\v1.0\ 6 | 7 | 8 | 9 | 10 | 11 | Debug 12 | AnyCPU 13 | {11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | $guid1$ 15 | Exe 16 | Properties 17 | 512 18 | $safeprojectname$ 19 | $safeprojectname$ 20 | v1.0 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Diagnostics; 4 | 5 | namespace $safeprojectname$ 6 | { 7 | public class Program 8 | { 9 | public static void Main() 10 | { 11 | Debug.WriteLine("Hello from nanoFramework!"); 12 | 13 | Thread.Sleep(Timeout.Infinite); 14 | 15 | // Browse our samples repository: https://github.com/nanoframework/samples 16 | // Check our documentation online: https://docs.nanoframework.net/ 17 | // Join our lively Discord community: https://discord.gg/gCyBu8T 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /CSharp.BlankApplication/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("BlankApplicationTemplate")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2017 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("572121bd-e972-4bf7-abf1-78251dde1181")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // 30 | // You can specify all the values or you can default the Build and Revision Numbers 31 | // by using the '*' as shown below: 32 | // [assembly: AssemblyVersion("1.0.*")] 33 | [assembly: AssemblyVersion("1.0.0.0")] 34 | [assembly: AssemblyFileVersion("1.0.0.0")] 35 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("CSharp.TestApplication")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("CSharp.TestApplication")] 13 | [assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // Version information for an assembly consists of the following four values: 23 | // 24 | // Major Version 25 | // Minor Version 26 | // Build Number 27 | // Revision 28 | // 29 | // You can specify all the values or you can default the Build and Revision Numbers 30 | // by using the '*' as shown below: 31 | // [assembly: AssemblyVersion("1.0.*")] 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | 35 | ///////////////////////////////////////////////////////////////// 36 | // This attribute is mandatory when building Interop libraries // 37 | // update this whenever the native assembly signature changes // 38 | [assembly: AssemblyNativeVersion("1.0.0.0")] 39 | ///////////////////////////////////////////////////////////////// 40 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/CS.ClassLibrary-vs2017.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Class Library (nanoFramework) 5 | A project for a .NET nanoFramework class library (DLL) to be used in other projects. 6 | CSLibrary.ico 7 | CSharp 8 | 1000 9 | 6DD46685-5662-4BE2-9E42-1A46A3209292 10 | true 11 | NFClassLibrary 12 | true 13 | true 14 | 15 | 16 | 17 | AssemblyInfo.cs 18 | Class1.cs 19 | 20 | 21 | 22 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 23 | NuGet.VisualStudio.TemplateWizard 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/CS.ClassLibrary-vs2019.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Class Library (.NET nanoFramework) 5 | A project for a .NET nanoFramework class library (DLL) to be used in other projects. 6 | CSLibrary.ico 7 | CSharp 8 | 1000 9 | 6DD46685-5662-4BE2-9E42-1A46A3209292 10 | true 11 | NFClassLibrary 12 | true 13 | true 14 | CSharp 15 | nanoFramework 16 | Library 17 | 18 | 19 | 20 | AssemblyInfo.cs 21 | Class1.cs 22 | 23 | 24 | 25 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 26 | NuGet.VisualStudio.TemplateWizard 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/CS.ClassLibrary-vs2022.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Class Library (.NET nanoFramework) 5 | A project for a .NET nanoFramework class library (DLL) to be used in other projects. 6 | CSLibrary.ico 7 | CSharp 8 | 1000 9 | 6DD46685-5662-4BE2-9E42-1A46A3209292 10 | true 11 | NFClassLibrary 12 | true 13 | true 14 | CSharp 15 | nanoFramework 16 | Library 17 | 18 | 19 | 20 | AssemblyInfo.cs 21 | Class1.cs 22 | 23 | 24 | 25 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 26 | NuGet.VisualStudio.TemplateWizard 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/CSLibrary.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/CSharp.ClassLibrary/CSLibrary.ico -------------------------------------------------------------------------------- /CSharp.ClassLibrary/CSharp.ClassLibrary.Shared.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | faa194f0-5c3b-46c7-977b-d2a84444bf80 7 | 8 | 9 | CSharp.ClassLibrary.Shared 10 | 11 | 12 | 13 | 14 | 15 | Designer 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/CSharp.ClassLibrary.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | faa194f0-5c3b-46c7-977b-d2a84444bf80 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/Class1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace $safeprojectname$ 4 | { 5 | public class $safeprojectname$ 6 | { 7 | // Browse our samples repository: https://github.com/nanoframework/samples 8 | // Check our documentation online: https://docs.nanoframework.net/ 9 | // Join our lively Discord community: https://discord.gg/gCyBu8T 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/NFClassLibrary.nfproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | $(MSBuildExtensionsPath)\nanoFramework\v1.0\ 6 | 7 | 8 | 9 | 10 | 11 | Debug 12 | AnyCPU 13 | {11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | $guid1$ 15 | Library 16 | Properties 17 | 512 18 | $safeprojectname$ 19 | $safeprojectname$ 20 | v1.0 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /CSharp.ClassLibrary/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ClassTemplate")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2021 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("572121bd-e972-4bf7-abf1-78251dde1181")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // 30 | // You can specify all the values or you can default the Build and Revision Numbers 31 | // by using the '*' as shown below: 32 | // [assembly: AssemblyVersion("1.0.*")] 33 | [assembly: AssemblyVersion("1.0.0.0")] 34 | [assembly: AssemblyFileVersion("1.0.0.0")] 35 | -------------------------------------------------------------------------------- /CSharp.ClassTemplate/CSharp.ClassTemplate.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Class definition (.NET nanoFramework) 7 | An empty .NET nanoFramework class definition. 8 | CSharp 9 | 2202056b-59a6-4362-b498-df418a940084 10 | 1 11 | Class.cs 12 | CSharp 13 | 14 | 15 | Class.cs 16 | 17 | 18 | -------------------------------------------------------------------------------- /CSharp.ClassTemplate/Class.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace $rootnamespace$ 4 | { 5 | class $safeitemname$ 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /CSharp.ClassTemplate/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ClassTemplate")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2021 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("c2ddf1e4-53a3-4e74-99d4-8a68349b9aef")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // 30 | // You can specify all the values or you can default the Build and Revision Numbers 31 | // by using the '*' as shown below: 32 | // [assembly: AssemblyVersion("1.0.*")] 33 | [assembly: AssemblyVersion("1.0.0.0")] 34 | [assembly: AssemblyFileVersion("1.0.0.0")] 35 | -------------------------------------------------------------------------------- /CSharp.ResourceTemplate/CSharp.ResourceTemplate.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Resource File (.NET nanoFramework) 5 | A file for storing nanoFramework resources. 6 | CSharp 7 | FileGroup.ico 8 | 9c3a4816-57a8-4d02-bff4-b90d970f1a19 9 | 1 10 | Resource.resx 11 | CSharp 12 | 13 | 14 | Resource.resx 15 | 16 | 17 | -------------------------------------------------------------------------------- /CSharp.ResourceTemplate/FileGroup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/CSharp.ResourceTemplate/FileGroup.ico -------------------------------------------------------------------------------- /CSharp.ResourceTemplate/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ResourceTemplate")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2021 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("c2ddf1e4-53a3-4e74-99d4-8a68349b9aef")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // 30 | // You can specify all the values or you can default the Build and Revision Numbers 31 | // by using the '*' as shown below: 32 | // [assembly: AssemblyVersion("1.0.*")] 33 | [assembly: AssemblyVersion("1.0.0.0")] 34 | [assembly: AssemblyFileVersion("1.0.0.0")] 35 | -------------------------------------------------------------------------------- /CSharp.ResourceTemplate/Resource.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace $rootnamespace$ 12 | { 13 | 14 | internal partial class $safeitemname$ 15 | { 16 | private static System.Resources.ResourceManager manager; 17 | internal static System.Resources.ResourceManager ResourceManager 18 | { 19 | get 20 | { 21 | if (($safeitemname$.manager == null)) 22 | { 23 | $safeitemname$.manager = new System.Resources.ResourceManager("$rootnamespace$.$safeitemname$", typeof($safeitemname$).Assembly); 24 | } 25 | return $safeitemname$.manager; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /CSharp.TestApplication/.runsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 1 6 | .\TestResults 7 | 120000 8 | net48 9 | x64 10 | 11 | 12 | None 13 | 14 | -------------------------------------------------------------------------------- /CSharp.TestApplication/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2021 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // Version information for an assembly consists of the following four values: 21 | // 22 | // Major Version 23 | // Minor Version 24 | // Build Number 25 | // Revision 26 | // 27 | // You can specify all the values or you can default the Build and Revision Numbers 28 | // by using the '*' as shown below: 29 | // [assembly: AssemblyVersion("1.0.*")] 30 | [assembly: AssemblyVersion("1.0.0.0")] 31 | [assembly: AssemblyFileVersion("1.0.0.0")] 32 | -------------------------------------------------------------------------------- /CSharp.TestApplication/CS.TestApplication-vs2017.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Unit Test Project (.NET nanoFramework) 5 | A project that contains MSTest unit tests that can run on .NET nanoFramework. 6 | 7 | CSharp 8 | 1000 9 | 15dbe581-c906-49fa-9a29-be6fc52ffa7a 10 | true 11 | NFUnitTest 12 | true 13 | true 14 | 15 | 16 | 17 | AssemblyInfo.cs 18 | UnitTest1.cs 19 | 20 | 21 | 22 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 23 | NuGet.VisualStudio.TemplateWizard 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /CSharp.TestApplication/CS.TestApplication-vs2019.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Unit Test Project (.NET nanoFramework) 5 | A project that contains MSTest unit tests that can run on .NET nanoFramework. 6 | 7 | CSharp 8 | 1000 9 | 15dbe581-c906-49fa-9a29-be6fc52ffa7a 10 | true 11 | NFUnitTest 12 | true 13 | true 14 | CSharp 15 | nanoFramework 16 | Test 17 | 18 | 19 | 20 | AssemblyInfo.cs 21 | UnitTest1.cs 22 | 23 | 24 | 25 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 26 | NuGet.VisualStudio.TemplateWizard 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /CSharp.TestApplication/CS.TestApplication-vs2022.vstemplate: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Unit Test Project (.NET nanoFramework) 5 | A project that contains MSTest unit tests that can run on .NET nanoFramework. 6 | 7 | CSharp 8 | 1000 9 | 15dbe581-c906-49fa-9a29-be6fc52ffa7a 10 | true 11 | NFUnitTest 12 | true 13 | true 14 | CSharp 15 | nanoFramework 16 | Test 17 | 18 | 19 | 20 | AssemblyInfo.cs 21 | UnitTest1.cs 22 | 23 | 24 | 25 | NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 26 | NuGet.VisualStudio.TemplateWizard 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /CSharp.TestApplication/CSharp.TestApplication.Shared.projitems: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | 0a06b3c4-5813-439e-85ef-6d584a4e03ed 7 | 8 | 9 | CSharp.TestApplication.Shared 10 | 11 | 12 | 13 | 14 | Designer 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /CSharp.TestApplication/CSharp.TestApplication.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0a06b3c4-5813-439e-85ef-6d584a4e03ed 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /CSharp.TestApplication/NFUnitTest.nfproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(MSBuildExtensionsPath)\nanoFramework\v1.0\ 5 | 6 | 7 | 8 | 9 | 10 | 11 | Debug 12 | AnyCPU 13 | {11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 14 | $guid1$ 15 | Library 16 | Properties 17 | 512 18 | $safeprojectname$ 19 | NFUnitTest 20 | False 21 | true 22 | UnitTest 23 | v1.0 24 | 25 | 26 | 27 | $(MSBuildProjectDirectory)\nano.runsettings 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /CSharp.TestApplication/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("TestApplicationTemplate")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCopyright("Copyright (c) 2021 nanoFramework contributors")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // Setting ComVisible to false makes the types in this assembly not visible 16 | // to COM components. If you need to access a type in this assembly from 17 | // COM, set the ComVisible attribute to true on that type. 18 | [assembly: ComVisible(false)] 19 | 20 | // The following GUID is for the ID of the typelib if this project is exposed to COM 21 | [assembly: Guid("673c57f0-2cb1-4847-ad2f-776d5159b588")] 22 | 23 | // Version information for an assembly consists of the following four values: 24 | // 25 | // Major Version 26 | // Minor Version 27 | // Build Number 28 | // Revision 29 | // 30 | // You can specify all the values or you can default the Build and Revision Numbers 31 | // by using the '*' as shown below: 32 | // [assembly: AssemblyVersion("1.0.*")] 33 | [assembly: AssemblyVersion("1.0.0.0")] 34 | [assembly: AssemblyFileVersion("1.0.0.0")] 35 | -------------------------------------------------------------------------------- /CSharp.TestApplication/UnitTest1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using nanoFramework.TestFramework; 3 | 4 | namespace $safeprojectname$ 5 | { 6 | [TestClass] 7 | public class Test1 8 | { 9 | [TestMethod] 10 | public void TestMethod1() 11 | { 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /REAME-BEFORE-UPDATE-REFS.txt: -------------------------------------------------------------------------------- 1 | ## Developer Notes 2 | 3 | !! Be extremely careful when updating NuGet packages !! 4 | We are pushing the limits of the VS extensibility SDK, and it's very easy to break things. In particular, the most critical symptom to check for with each package update is the ability to start a debug session. 5 | On failure, a CompositionException is usually silently thrown, and the debugger refuses to start without any further clue on what is wrong. 6 | 7 | VS2019 8 | 9 | - ICSharpCode cannot be updated beyond v7.2.1.6856 because System.Collections.Immutable cannot go beyond v5.0.0. 10 | 11 | VS2022 12 | 13 | - ICSharpCode cannot be updated beyond v7.2.1.6856 because System.Collections.Immutable cannot go beyond v5.0.0. 14 | - Microsoft.Extensions.DependencyInjection can't be updated beyond v8.0.1 (last tested with VS17.3.5) 15 | - CommunityToolkit.Mvvm can't be updated beyond v8.3.2 (last tested with VS17.3.5) 16 | - CliWrap can't be updated beyond v3.6.7 (last tested with VS17.3.5) 17 | - Don't update System libraries beyond v8.0 (last tested with VS17.3.5) 18 | -------------------------------------------------------------------------------- /Tools.BuildTasks-2019/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle(".NET nanoFramework MSBuild Tasks library")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("nanoFramework")] 12 | [assembly: AssemblyProduct(".NET nanoFramework MSBuild Tasks library")] 13 | [assembly: AssemblyCopyright("Copyright © 2017 nanoFramework contributors")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("ce0631f2-731d-4a48-b927-f13f6b2fb055")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | 36 | 37 | -------------------------------------------------------------------------------- /Tools.BuildTasks-2019/TasksConstants.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | namespace nanoFramework.Tools 8 | { 9 | internal class TasksConstants 10 | { 11 | public const string BuildTaskDebugVar = "NFBUILD_TASKS_DEBUG"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Tools.BuildTasks-2019/Utilities/DebuggerHelper.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using System; 8 | using System.Diagnostics; 9 | using System.Threading; 10 | 11 | namespace nanoFramework.Tools.Utilities 12 | { 13 | public static class DebuggerHelper 14 | { 15 | public static void WaitForDebuggerIfEnabled(string varName, int timeoutSeconds = 30) 16 | { 17 | 18 | // this wait should be only available on debug build 19 | // to prevent unwanted wait on VS in machines where the variable is present 20 | #if DEBUG 21 | TimeSpan waitForDebugToAttach = TimeSpan.FromSeconds(timeoutSeconds); 22 | 23 | var debugEnabled = Environment.GetEnvironmentVariable(varName, EnvironmentVariableTarget.User); 24 | 25 | if (!string.IsNullOrEmpty(debugEnabled) && debugEnabled.Equals("1", StringComparison.Ordinal)) 26 | { 27 | Console.WriteLine($".NET nanoFramework Metadata Processor msbuild instrumentation task debugging is enabled. Waiting {timeoutSeconds} seconds for debugger attachment..."); 28 | 29 | var currentProcessId = Process.GetCurrentProcess().Id; 30 | var currentProcessName = Process.GetProcessById(currentProcessId).ProcessName; 31 | Console.WriteLine( 32 | string.Format("Process Id: {0}, Name: {1}", currentProcessId, currentProcessName) 33 | ); 34 | 35 | // wait N seconds for debugger to attach 36 | while (!Debugger.IsAttached && waitForDebugToAttach.TotalSeconds > 0) 37 | { 38 | Thread.Sleep(1000); 39 | waitForDebugToAttach -= TimeSpan.FromSeconds(1); 40 | } 41 | 42 | Debugger.Break(); 43 | } 44 | #endif 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Tools.BuildTasks-2019/key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/Tools.BuildTasks-2019/key.snk -------------------------------------------------------------------------------- /Tools.BuildTasks-2019/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "1.10" 4 | } 5 | -------------------------------------------------------------------------------- /Tools.BuildTasks-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle(".NET nanoFramework MSBuild Tasks library")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("nanoFramework")] 12 | [assembly: AssemblyProduct(".NET nanoFramework MSBuild Tasks library")] 13 | [assembly: AssemblyCopyright("Copyright © 2017 nanoFramework contributors")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("ce0631f2-731d-4a48-b927-f13f6b2fb055")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | -------------------------------------------------------------------------------- /Tools.BuildTasks-2022/key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/Tools.BuildTasks-2022/key.snk -------------------------------------------------------------------------------- /Tools.BuildTasks-2022/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "1.10" 4 | } 5 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/AutomaticUpdates/CC13x26x2Firmware.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System.IO; 7 | using System.Linq; 8 | 9 | namespace nanoFramework.Tools.VisualStudio.Extension.FirmwareUpdate 10 | { 11 | /// 12 | /// Class that handles the download of STM32 firmware files from Cloudsmith. 13 | /// 14 | internal class CC13x26x2Firmware : FirmwarePackage 15 | { 16 | public string nanoCLRFile { get; internal set; } 17 | 18 | public CC13x26x2Firmware(string targetName, string fwVersion, bool stable) 19 | : base(targetName, fwVersion, stable) 20 | { 21 | } 22 | 23 | internal new async System.Threading.Tasks.Task DownloadAndExtractAsync() 24 | { 25 | // perform download and extract 26 | var executionResult = await base.DownloadAndExtractAsync(); 27 | 28 | if (executionResult) 29 | { 30 | nanoCLRFile = Directory.EnumerateFiles(LocationPath, "nanoCLR.hex").FirstOrDefault(); 31 | } 32 | 33 | return executionResult; 34 | } 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/AutomaticUpdates/CloudsmithPackageInfo.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using Newtonsoft.Json; 7 | using System; 8 | 9 | namespace nanoFramework.Tools.VisualStudio.Extension.FirmwareUpdate 10 | { 11 | [Serializable] 12 | internal class CloudsmithPackageInfo 13 | { 14 | [JsonProperty("version")] 15 | public string Version { get; set; } 16 | 17 | [JsonProperty("cdn_url")] 18 | public string DownloadUrl { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Key.snk -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/NanoFrameworkMoniker.vsct: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // General Information about an assembly is controlled through the following 4 | // set of attributes. Change these attribute values to modify the information 5 | // associated with an assembly. 6 | [assembly: AssemblyTitle(".NET nanoFramework VisualStudio Extension")] 7 | [assembly: AssemblyCompany("nanoFramework")] 8 | [assembly: AssemblyProduct(".NET nanoFramework VisualStudio Extension")] 9 | [assembly: AssemblyCopyright("Copyright © 2019 .NET nanoFramework contributors")] 10 | [assembly: System.CLSCompliant(false)] 11 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceCapabilities.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/DeviceCapabilities.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceCapabilities.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceConnected.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/DeviceConnected.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceConnected.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceDisconnected.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/DeviceDisconnected.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceDisconnected.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceErase.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/DeviceErase.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceErase.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DeviceErase.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DisableDeviceWatchers.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/DisableDeviceWatchers.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/DisableDeviceWatchers.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/NanoFramework.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/NanoFramework.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/NanoFrameworkProject.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/NanoFrameworkProject.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/NetworkConfig.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/NetworkConfig.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/NetworkConfig.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/NetworkConfig.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/Ping.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/Ping.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/Ping.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/Reboot.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/Reboot.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/Reboot.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/RescanDevices.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/RescanDevices.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/RescanDevices.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/Settings.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/Settings.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/ShowInternalErrors.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/ShowInternalErrors.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/ShowInternalErrors.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/nF-logo-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/nF-logo-128.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/nF-logo-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/nF-logo-32.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Resources/nanoFramework.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2019/Resources/nanoFramework.ico -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/csharp.browseobject.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/csharp.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/debugger_general.xaml: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/folder.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/general.xaml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/general_file.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/nfProjectItemsSchema.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 17 | 18 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Rules/scc.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Targets/NFProjectSystem.Default.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(MSBuildThisFileDirectory) 6 | 7 | Release 8 | AnyCPU 9 | 10 | $(MSBuildProjectName) 11 | 12 | 13 | 14 | AnyCPU 15 | true 16 | full 17 | false 18 | DEBUG;TRACE 19 | 20 | 21 | AnyCPU 22 | true 23 | portable 24 | true 25 | TRACE 26 | 27 | 28 | 29 | 30 | 9.0 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/Targets/NFProjectSystem.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | bin\$(Configuration)\ 6 | 7 | true 8 | 9 | 12 | true 13 | true 14 | 15 | 16 | false 17 | 18 | 19 | false 20 | true 21 | 22 | 26 | false 27 | false 28 | NanoDebugger 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/VisualStudio.Extension.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = 3 | build_property.TargetPlatformMinVersion = 10.0.19041.0 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 6 | build_property.PublishSingleFile = 7 | build_property.IncludeAllContentForSelfExtract = 8 | build_property._SupportedPlatformList = 9 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "2019.12.0", 4 | "release": { 5 | "branchName" : "release-v{version}", 6 | "versionIncrement" : "minor", 7 | "firstUnstableTag" : "preview" 8 | }, 9 | "assemblyVersion": { 10 | "precision": "revision" 11 | }, 12 | "semVer1NumericIdentifierPadding": 3, 13 | "publicReleaseRefSpec": [ 14 | "^refs/heads/main$", 15 | "^refs/heads/v\\d+(?:\\.\\d+)?$", 16 | "^refs/tags/$" 17 | ], 18 | "cloudBuild": { 19 | "setVersionVariables": false, 20 | "setAllVariables": false 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2019/vs2019-extension-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/vsix-publish", 3 | "categories": [ 4 | "coding", 5 | "build", 6 | "programming languages" 7 | ], 8 | "identity": { 9 | "internalName": "nanoframework-vs2019-extension" 10 | }, 11 | "overview": "vs2019-marketplace-overview.md", 12 | "priceCategory": "free", 13 | "publisher": "nanoframework", 14 | "private": false, 15 | "qna": true, 16 | "repo": "https://github.com/nanoframework/nf-Visual-Studio-extension", 17 | "assetFiles": [ 18 | { 19 | "pathOnDisk": "debug-session.png", 20 | "targetPath": "debug-session.png" 21 | }, 22 | { 23 | "pathOnDisk": "starting-new-project.png", 24 | "targetPath": "starting-new-project.png" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/AutomaticUpdates/CC13x26x2Firmware.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System.IO; 7 | using System.Linq; 8 | 9 | namespace nanoFramework.Tools.VisualStudio.Extension.FirmwareUpdate 10 | { 11 | /// 12 | /// Class that handles the download of STM32 firmware files from Cloudsmith. 13 | /// 14 | internal class CC13x26x2Firmware : FirmwarePackage 15 | { 16 | public string nanoCLRFile { get; internal set; } 17 | 18 | public CC13x26x2Firmware(string targetName, string fwVersion, bool stable) 19 | : base(targetName, fwVersion, stable) 20 | { 21 | } 22 | 23 | internal new async System.Threading.Tasks.Task DownloadAndExtractAsync() 24 | { 25 | // perform download and extract 26 | var executionResult = await base.DownloadAndExtractAsync(); 27 | 28 | if (executionResult) 29 | { 30 | nanoCLRFile = Directory.EnumerateFiles(LocationPath, "nanoCLR.hex").FirstOrDefault(); 31 | } 32 | 33 | return executionResult; 34 | } 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/AutomaticUpdates/CloudsmithPackageInfo.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using Newtonsoft.Json; 7 | using System; 8 | 9 | namespace nanoFramework.Tools.VisualStudio.Extension.FirmwareUpdate 10 | { 11 | [Serializable] 12 | internal class CloudsmithPackageInfo 13 | { 14 | [JsonProperty("version")] 15 | public string Version { get; set; } 16 | 17 | [JsonProperty("cdn_url")] 18 | public string DownloadUrl { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Key.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Key.snk -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/NanoFrameworkMoniker.vsct: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System.Reflection; 7 | using Microsoft.VisualStudio.Shell; 8 | 9 | // General Information about an assembly is controlled through the following 10 | // set of attributes. Change these attribute values to modify the information 11 | // associated with an assembly. 12 | [assembly: AssemblyTitle(".NET nanoFramework VisualStudio Extension")] 13 | [assembly: AssemblyCompany("nanoFramework")] 14 | [assembly: AssemblyProduct(".NET nanoFramework VisualStudio Extension")] 15 | [assembly: AssemblyCopyright("Copyright © 2019 .NET nanoFramework contributors")] 16 | [assembly: System.CLSCompliant(false)] 17 | 18 | #if DEBUG 19 | // for debug build need to set these so binding redirects allow loading the correct library 20 | [assembly: AssemblyVersion("9.99.999.0")] 21 | [assembly: AssemblyFileVersion("9.99.999.0")] 22 | [assembly: AssemblyInformationalVersion("9.99.999.0-DEBUG")] 23 | #endif 24 | 25 | [assembly: ProvideCodeBase( 26 | AssemblyName = @"CommunityToolkit.Mvvm", 27 | CodeBase = @"$PackageFolder$\CommunityToolkit.Mvvm.dll")] 28 | 29 | [assembly: ProvideCodeBase( 30 | AssemblyName = @"Microsoft.Extensions.DependencyInjection", 31 | CodeBase = @"$PackageFolder$\Microsoft.Extensions.DependencyInjection.dll")] 32 | 33 | [assembly: ProvideCodeBase( 34 | AssemblyName = @"Microsoft.Extensions.DependencyInjection.Abstractions", 35 | CodeBase = @"$PackageFolder$\Microsoft.Extensions.DependencyInjection.Abstractions.dll")] 36 | 37 | [assembly: ProvideCodeBase( 38 | AssemblyName = @"nanoFramework.Tools.DebugLibrary.Net", 39 | CodeBase = @"$PackageFolder$\nanoFramework.Tools.DebugLibrary.Net.dll")] 40 | 41 | [assembly: ProvideCodeBase( 42 | AssemblyName = @"nanoFramework.Tools.VS2022.Extension", 43 | CodeBase = @"$PackageFolder$\nanoFramework.Tools.VS2022.Extension.dll")] 44 | 45 | [assembly: ProvideCodeBase( 46 | AssemblyName = @"CliWrap", 47 | CodeBase = @"$PackageFolder$\CliWrap.dll")] 48 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceCapabilities.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/DeviceCapabilities.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceCapabilities.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceConnected.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/DeviceConnected.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceConnected.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceDisconnected.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/DeviceDisconnected.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceDisconnected.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceErase.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/DeviceErase.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceErase.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DeviceErase.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DisableDeviceWatchers.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/DisableDeviceWatchers.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/DisableDeviceWatchers.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/NanoFramework.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/NanoFramework.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/NanoFrameworkProject.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/NanoFrameworkProject.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/NetworkConfig.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/NetworkConfig.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/NetworkConfig.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/NetworkConfig.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/Ping.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/Ping.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/Ping.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/Reboot.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/Reboot.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/Reboot.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/RescanDevices.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/RescanDevices.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/RescanDevices.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/Settings.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/Settings.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/ShowInternalErrors.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/ShowInternalErrors.16.16.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/ShowInternalErrors.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/nF_logo_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/nF_logo_128.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/nF_logo_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/nF_logo_32.png -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Resources/nanoFramework.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/VisualStudio.Extension-2022/Resources/nanoFramework.ico -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/csharp.browseobject.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/csharp.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/debugger_general.xaml: -------------------------------------------------------------------------------- 1 |  2 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/folder.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/general.xaml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 48 | 49 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/general_file.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/nfProjectItemsSchema.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 17 | 18 | 19 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Rules/scc.xaml: -------------------------------------------------------------------------------- 1 |  2 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Targets/NFProjectSystem.Default.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | $(MSBuildThisFileDirectory) 6 | 7 | Release 8 | AnyCPU 9 | 10 | $(MSBuildProjectName) 11 | 12 | 13 | 14 | AnyCPU 15 | true 16 | full 17 | false 18 | DEBUG;TRACE 19 | 20 | 21 | AnyCPU 22 | true 23 | portable 24 | true 25 | TRACE 26 | 27 | 28 | 29 | 30 | 9.0 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/Targets/NFProjectSystem.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | bin\$(Configuration)\ 6 | 7 | true 8 | 9 | 12 | true 13 | true 14 | 15 | 16 | false 17 | 18 | 19 | false 20 | true 21 | 22 | 26 | false 27 | false 28 | NanoDebugger 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/VisualStudio.Extension.GeneratedMSBuildEditorConfig.editorconfig: -------------------------------------------------------------------------------- 1 | is_global = true 2 | build_property.TargetFramework = 3 | build_property.TargetPlatformMinVersion = 10.0.19041.0 4 | build_property.UsingMicrosoftNETSdkWeb = 5 | build_property.ProjectTypeGuids = {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 6 | build_property.PublishSingleFile = 7 | build_property.IncludeAllContentForSelfExtract = 8 | build_property._SupportedPlatformList = 9 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/version.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", 3 | "version": "2022.12.1", 4 | "release": { 5 | "branchName" : "release-v{version}", 6 | "versionIncrement" : "minor", 7 | "firstUnstableTag" : "preview" 8 | }, 9 | "assemblyVersion": { 10 | "precision": "revision" 11 | }, 12 | "semVer1NumericIdentifierPadding": 3, 13 | "publicReleaseRefSpec": [ 14 | "^refs/heads/main$", 15 | "^refs/heads/v\\d+(?:\\.\\d+)?$", 16 | "^refs/tags/$" 17 | ], 18 | "cloudBuild": { 19 | "setVersionVariables": false, 20 | "setAllVariables": false 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /VisualStudio.Extension-2022/vs2022-extension-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json.schemastore.org/vsix-publish", 3 | "categories": [ 4 | "coding", 5 | "build", 6 | "programming languages" 7 | ], 8 | "identity": { 9 | "internalName": "nanoframework-vs2022-extension" 10 | }, 11 | "overview": "vs2022-marketplace-overview.md", 12 | "priceCategory": "free", 13 | "publisher": "nanoframework", 14 | "private": false, 15 | "qna": true, 16 | "repo": "https://github.com/nanoframework/nf-Visual-Studio-extension", 17 | "assetFiles": [ 18 | { 19 | "pathOnDisk": "debug-session.png", 20 | "targetPath": "debug-session.png" 21 | }, 22 | { 23 | "pathOnDisk": "starting-new-project.png", 24 | "targetPath": "starting-new-project.png" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /assets/CSApplication.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/CSApplication.ico -------------------------------------------------------------------------------- /assets/CSAssemblyInfoFile.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/CSAssemblyInfoFile.ico -------------------------------------------------------------------------------- /assets/CSClassFile.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/CSClassFile.ico -------------------------------------------------------------------------------- /assets/CSLibrary.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/CSLibrary.ico -------------------------------------------------------------------------------- /assets/FileGroup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/FileGroup.ico -------------------------------------------------------------------------------- /assets/VS icons/logo_100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS icons/logo_100.png -------------------------------------------------------------------------------- /assets/VS icons/logo_120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS icons/logo_120.png -------------------------------------------------------------------------------- /assets/VS icons/logo_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS icons/logo_128.png -------------------------------------------------------------------------------- /assets/VS icons/logo_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS icons/logo_15.png -------------------------------------------------------------------------------- /assets/VS icons/logo_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS icons/logo_22.png -------------------------------------------------------------------------------- /assets/VS icons/logo_30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS icons/logo_30.png -------------------------------------------------------------------------------- /assets/VS2017/CSProjectNode_16x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS2017/CSProjectNode_16x.png -------------------------------------------------------------------------------- /assets/VS2017/CSProjectNode_16x.svg: -------------------------------------------------------------------------------- 1 | CS_ProjectSENode_16x -------------------------------------------------------------------------------- /assets/VS2017/CSProjectNode_16x.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /assets/VS2017/NanoFrameworkProject.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS2017/NanoFrameworkProject.16.16.png -------------------------------------------------------------------------------- /assets/VS2019/CSProjectNode_16x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS2019/CSProjectNode_16x.png -------------------------------------------------------------------------------- /assets/VS2019/CSProjectNode_16x.svg: -------------------------------------------------------------------------------- 1 | CS_ProjectSENode_16x -------------------------------------------------------------------------------- /assets/VS2019/CSProjectNode_16x.xaml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /assets/VS2019/NanoFrameworkProject.16.16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/VS2019/NanoFrameworkProject.16.16.png -------------------------------------------------------------------------------- /assets/marketplace/vs2017/debug-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/marketplace/vs2017/debug-session.png -------------------------------------------------------------------------------- /assets/marketplace/vs2017/starting-new-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/marketplace/vs2017/starting-new-project.png -------------------------------------------------------------------------------- /assets/marketplace/vs2019/debug-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/marketplace/vs2019/debug-session.png -------------------------------------------------------------------------------- /assets/marketplace/vs2019/starting-new-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/marketplace/vs2019/starting-new-project.png -------------------------------------------------------------------------------- /assets/marketplace/vs2022/debug-session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/marketplace/vs2022/debug-session.png -------------------------------------------------------------------------------- /assets/marketplace/vs2022/starting-new-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/assets/marketplace/vs2022/starting-new-project.png -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # Documentation related with Visual Studio extension development 2 | 3 | ## Internal documentation 4 | 5 | * [Developer notes](developer-notes.md) 6 | 7 | ## External documentation 8 | 9 | * [Visual Studio Extensibility Samples](https://github.com/Microsoft/VSSDK-Extensibility-Samples) 10 | * [Extensibility in Visual Studio](https://docs.microsoft.com/en-us/visualstudio/extensibility/extensibility-in-visual-studio?view=vs-2017) 11 | * [Visual Studio SDK](https://docs.microsoft.com/en-us/visualstudio/extensibility/visual-studio-sdk?view=vs-2017) 12 | * [Visual Studio SDK reference](https://docs.microsoft.com/en-us/visualstudio/extensibility/visual-studio-sdk-reference?view=vs-2017) 13 | * [Posts about VS extensibility in "The Visual Studio Blog"](https://blogs.msdn.microsoft.com/visualstudio/tag/extensibility/) 14 | -------------------------------------------------------------------------------- /docs/images/getting-started-extension-installation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/docs/images/getting-started-extension-installation.gif -------------------------------------------------------------------------------- /docs/images/getting-started-first-project.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/docs/images/getting-started-first-project.gif -------------------------------------------------------------------------------- /docs/images/reloading-debugger-projects.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/docs/images/reloading-debugger-projects.png -------------------------------------------------------------------------------- /spelling_exclusion.dic: -------------------------------------------------------------------------------- 1 | nano 2 | 3 | -------------------------------------------------------------------------------- /vs-extension.shared/Converters/InterfaceTypeToBoolConverters.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using nanoFramework.Tools.Debugger; 7 | using System; 8 | using System.Globalization; 9 | using System.Windows.Data; 10 | 11 | namespace nanoFramework.Tools.VisualStudio.Extension.Converters 12 | { 13 | public class EthernetInterfaceTypeToBoolConverter: IValueConverter 14 | { 15 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | bool available = false; 18 | 19 | if(value != null) 20 | { 21 | if(((NetworkInterfaceType)value) == NetworkInterfaceType.Ethernet) 22 | { 23 | available = true; 24 | } 25 | } 26 | 27 | return available; 28 | } 29 | 30 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 31 | { 32 | throw new NotImplementedException(); 33 | } 34 | } 35 | 36 | public class Wireless80211InterfaceTypeToBoolConverter : IValueConverter 37 | { 38 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 39 | { 40 | bool available = false; 41 | 42 | if (value != null) 43 | { 44 | if (((NetworkInterfaceType)value) == NetworkInterfaceType.Wireless80211) 45 | { 46 | available = true; 47 | } 48 | } 49 | 50 | return available; 51 | } 52 | 53 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 54 | { 55 | throw new NotImplementedException(); 56 | } 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /vs-extension.shared/Converters/MacAddressConverter.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using nanoFramework.Tools.Debugger; 7 | using System; 8 | using System.Globalization; 9 | using System.Linq; 10 | using System.Windows.Data; 11 | 12 | namespace nanoFramework.Tools.VisualStudio.Extension.Converters 13 | { 14 | public class MacAddressConverter : IValueConverter 15 | { 16 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 17 | { 18 | if (value != null) 19 | { 20 | byte[] macAddress = (byte[])value; 21 | 22 | return String.Join(":", macAddress.Select(a => a.ToString("X2"))); 23 | } 24 | 25 | return value; 26 | } 27 | 28 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 29 | { 30 | var newMACAddress = value as string; 31 | var newMACAddressArray = newMACAddress.Split(':'); 32 | 33 | return newMACAddressArray.Select(a => byte.Parse(a, System.Globalization.NumberStyles.HexNumber)).ToArray(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vs-extension.shared/Converters/NetworkInterfaceTypeConverter.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using nanoFramework.Tools.Debugger; 7 | using System; 8 | using System.Globalization; 9 | using System.Windows.Data; 10 | 11 | namespace nanoFramework.Tools.VisualStudio.Extension.Converters 12 | { 13 | public class NetworkInterfaceTypeConverter : IValueConverter 14 | { 15 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | if (value != null) 18 | { 19 | switch ((NetworkInterfaceType)value) 20 | { 21 | case NetworkInterfaceType.Ethernet: 22 | return "6"; 23 | 24 | case NetworkInterfaceType.Wireless80211: 25 | return "71"; 26 | 27 | default: 28 | return null; 29 | } 30 | } 31 | 32 | return null; 33 | } 34 | 35 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 36 | { 37 | switch (value?.ToString()) 38 | { 39 | // 40 | case "6": 41 | return NetworkInterfaceType.Ethernet; 42 | case "71": 43 | return NetworkInterfaceType.Wireless80211; 44 | 45 | default: 46 | return value; 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /vs-extension.shared/Converters/RadioTypeConverter.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using nanoFramework.Tools.Debugger; 7 | using System; 8 | using System.Globalization; 9 | using System.Windows.Data; 10 | 11 | namespace nanoFramework.Tools.VisualStudio.Extension.Converters 12 | { 13 | public class RadioTypeConverter : IValueConverter 14 | { 15 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | if (value != null) 18 | { 19 | switch ((RadioType)value) 20 | { 21 | case RadioType._802_11a: 22 | return "1"; 23 | case RadioType._802_11b: 24 | return "2"; 25 | case RadioType._802_11g: 26 | return "4"; 27 | case RadioType._802_11n: 28 | return "8"; 29 | 30 | default: 31 | return null; 32 | } 33 | } 34 | 35 | return null; 36 | } 37 | 38 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 39 | { 40 | switch (value?.ToString()) 41 | { 42 | case "1": 43 | return RadioType._802_11a; 44 | case "2": 45 | return RadioType._802_11b; 46 | case "4": 47 | return RadioType._802_11g; 48 | case "8": 49 | return RadioType._802_11n; 50 | 51 | default: 52 | return value; 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /vs-extension.shared/Converters/Wireless80211_OptionsTypeConverter.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using nanoFramework.Tools.Debugger; 7 | using System; 8 | using System.Globalization; 9 | using System.Windows.Data; 10 | 11 | namespace nanoFramework.Tools.VisualStudio.Extension.Converters 12 | { 13 | public class Wireless80211_OptionsTypeConverter : IValueConverter 14 | { 15 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | if (value != null) 18 | { 19 | switch ((Wireless80211_ConfigurationOptions)value) 20 | { 21 | case Wireless80211_ConfigurationOptions.None: 22 | return "0"; 23 | case Wireless80211_ConfigurationOptions.Disable: 24 | return "1"; 25 | case Wireless80211_ConfigurationOptions.Enable: 26 | return "2"; 27 | case Wireless80211_ConfigurationOptions.AutoConnect: 28 | return "6"; 29 | case Wireless80211_ConfigurationOptions.SmartConfig: 30 | return "10"; 31 | 32 | default: 33 | return null; 34 | } 35 | } 36 | 37 | return null; 38 | } 39 | 40 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 41 | { 42 | switch (value?.ToString()) 43 | { 44 | case "0": 45 | return Wireless80211_ConfigurationOptions.None; 46 | case "1": 47 | return Wireless80211_ConfigurationOptions.Disable; 48 | case "2": 49 | return Wireless80211_ConfigurationOptions.Enable; 50 | case "6": 51 | return Wireless80211_ConfigurationOptions.AutoConnect; 52 | case "10": 53 | return Wireless80211_ConfigurationOptions.SmartConfig; 54 | 55 | default: 56 | return value; 57 | } 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /vs-extension.shared/Converters/WirelessAP_OptionsTypeConverter.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using nanoFramework.Tools.Debugger; 7 | using System; 8 | using System.Globalization; 9 | using System.Windows.Data; 10 | 11 | namespace nanoFramework.Tools.VisualStudio.Extension.Converters 12 | { 13 | public class WirelessAP_OptionsTypeConverter : IValueConverter 14 | { 15 | public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 16 | { 17 | if (value != null) 18 | { 19 | switch ((WirelessAP_ConfigurationOptions)value) 20 | { 21 | case WirelessAP_ConfigurationOptions.None: 22 | return "0"; 23 | case WirelessAP_ConfigurationOptions.Disable: 24 | return "1"; 25 | case WirelessAP_ConfigurationOptions.Enable: 26 | return "2"; 27 | case WirelessAP_ConfigurationOptions.AutoStart: 28 | return "6"; 29 | case WirelessAP_ConfigurationOptions.HiddenSSID: 30 | return "8"; 31 | 32 | default: 33 | return null; 34 | } 35 | } 36 | 37 | return null; 38 | } 39 | 40 | public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 41 | { 42 | switch (value?.ToString()) 43 | { 44 | case "0": 45 | return WirelessAP_ConfigurationOptions.None; 46 | case "1": 47 | return WirelessAP_ConfigurationOptions.Disable; 48 | case "2": 49 | return WirelessAP_ConfigurationOptions.Enable; 50 | case "6": 51 | return WirelessAP_ConfigurationOptions.AutoStart; 52 | case "8": 53 | return WirelessAP_ConfigurationOptions.HiddenSSID; 54 | 55 | default: 56 | return value; 57 | } 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/COM_HResults.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | namespace nanoFramework.Tools.VisualStudio.Extension 8 | { 9 | public class COM_HResults 10 | { 11 | public const int S_OK = 0x00000000; 12 | public const int S_FALSE = 0x00000001; 13 | public const int CONNECT_E_NOCONNECTION = unchecked((int)0x80040200); 14 | public const int E_FAIL = unchecked((int)0x80004005); 15 | public const int E_NOTIMPL = unchecked((int)0x80004001); 16 | 17 | //from msdbg.idl 18 | public const int E_PROCESS_DESTROYED = unchecked((int)0x80040070); 19 | 20 | public static int BOOL_TO_HRESULT(bool b, int hrFalse) { return b ? S_OK : hrFalse; } 21 | public static int BOOL_TO_HRESULT_FAIL(bool b) { return BOOL_TO_HRESULT(b, E_FAIL); } 22 | public static int BOOL_TO_HRESULT_FALSE(bool b) { return BOOL_TO_HRESULT(b, S_FALSE); } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/DebugEvent.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using Microsoft.VisualStudio.Debugger.Interop; 8 | 9 | namespace nanoFramework.Tools.VisualStudio.Extension 10 | { 11 | public class DebugEvent : IDebugEvent2 12 | { 13 | private uint m_attributes; 14 | 15 | public DebugEvent(uint attributes) 16 | { 17 | m_attributes = attributes; 18 | } 19 | 20 | #region IDebugEvent2 Members 21 | 22 | public int GetAttributes(out uint pdwAttrib) 23 | { 24 | pdwAttrib = m_attributes; 25 | return COM_HResults.S_OK; 26 | } 27 | 28 | #endregion 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/ProcessExitException.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using System; 8 | 9 | namespace nanoFramework.Tools.VisualStudio.Extension 10 | { 11 | public class ProcessExitException : Exception 12 | { 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/Utility/Boolean.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | namespace nanoFramework.Tools.VisualStudio.Extension 8 | { 9 | public class Boolean 10 | { 11 | public const int FALSE = 0; 12 | public const int TRUE = 1; 13 | public static int BoolToInt(bool b) { return b ? TRUE : FALSE; } 14 | public static bool IntToBool(int i) { return i == 0 ? false : true; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/Utility/Utility.FImplies.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | namespace nanoFramework.Tools.VisualStudio.Extension 8 | { 9 | public partial class Utility 10 | { 11 | public static bool FImplies(bool b1, bool b2) 12 | { 13 | return !b1 || b2; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/Utility/Utility.InRange.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | namespace nanoFramework.Tools.VisualStudio.Extension 8 | { 9 | public partial class Utility 10 | { 11 | public static bool InRange(int i, int iLow, int iHigh) 12 | { 13 | return i >= iLow && i <= iHigh; 14 | } 15 | 16 | public static bool InRange(uint i, uint iLow, uint iHigh) 17 | { 18 | return i >= iLow && i <= iHigh; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/Utility/Utility.MarshalInt.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using System; 8 | using System.Runtime.InteropServices; 9 | 10 | namespace nanoFramework.Tools.VisualStudio.Extension 11 | { 12 | public partial class Utility 13 | { 14 | public static void MarshalInt(IntPtr ptr, int val) 15 | { 16 | if (ptr != IntPtr.Zero) 17 | Marshal.WriteInt32(ptr, val); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/Utility/Utility.MarshalString.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using System; 8 | using System.Runtime.InteropServices; 9 | 10 | namespace nanoFramework.Tools.VisualStudio.Extension 11 | { 12 | public partial class Utility 13 | { 14 | public static void MarshalString(string s, uint cchName, IntPtr pcchName, System.IntPtr szName, bool fIncludeNullTerminator) 15 | { 16 | if (s == null) 17 | s = ""; 18 | 19 | if (fIncludeNullTerminator) 20 | s += '\0'; 21 | 22 | int cch = s.Length; 23 | 24 | if (szName != IntPtr.Zero) 25 | { 26 | char[] chars = s.ToCharArray(); 27 | 28 | cch = System.Math.Min((int)cchName, cch); 29 | if (fIncludeNullTerminator) 30 | chars[cch - 1] = '\0'; 31 | 32 | Marshal.Copy(chars, 0, szName, cch); 33 | } 34 | 35 | if (pcchName != IntPtr.Zero) 36 | Marshal.WriteInt32(pcchName, cch); 37 | } 38 | 39 | public static void MarshalString(string s, uint cchName, IntPtr pcchName, System.IntPtr szName) 40 | { 41 | MarshalString(s, cchName, pcchName, szName, true); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /vs-extension.shared/CorDebug/Utility/Utility.XmlDeserialize.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using System.IO; 8 | using System.Xml.Serialization; 9 | 10 | namespace nanoFramework.Tools.VisualStudio.Extension 11 | { 12 | public partial class Utility 13 | { 14 | public static object XmlDeserialize(string filename, XmlSerializer xmls) 15 | { 16 | object o = null; 17 | 18 | using (FileStream stream = new FileStream(filename, FileMode.Open, FileAccess.Read)) 19 | { 20 | o = xmls.Deserialize(stream); 21 | } 22 | 23 | return o; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vs-extension.shared/DeployProvider/DeploymentAssembly.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System.Collections.Generic; 7 | 8 | namespace nanoFramework.Tools.VisualStudio.Extension 9 | { 10 | public class DeploymentAssembly 11 | { 12 | /// 13 | /// Path to the EXE or DLL file. 14 | /// 15 | public string Path { get; set; } 16 | 17 | /// 18 | /// Assembly version of the EXE or DLL. 19 | /// 20 | public string Version { get; set; } 21 | 22 | /// 23 | /// Required version of the native implementation of the class library. 24 | /// Only used in class libraries. Can be empty on the core library and user EXE and DLLs. 25 | /// 26 | public string NativeVersion { get; set; } 27 | 28 | public DeploymentAssembly(string path, string version, string nativeVersion) 29 | { 30 | Path = path; 31 | Version = version; 32 | NativeVersion = nativeVersion; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vs-extension.shared/DeployProvider/DeploymentAssemblyDistinctEquality.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System.Collections.Generic; 7 | 8 | namespace nanoFramework.Tools.VisualStudio.Extension 9 | { 10 | internal class DeploymentAssemblyDistinctEquality : IEqualityComparer 11 | { 12 | public bool Equals(DeploymentAssembly assembly1, DeploymentAssembly assembly2) 13 | { 14 | var name1 = System.IO.Path.GetFileName(assembly1.Path); 15 | var name2 = System.IO.Path.GetFileName(assembly2.Path); 16 | 17 | if ((name1 == name2) && (assembly1.Version == assembly2.Version)) 18 | { 19 | return true; 20 | } 21 | else 22 | { 23 | return false; 24 | } 25 | } 26 | 27 | public int GetHashCode(DeploymentAssembly assembly) 28 | { 29 | return System.IO.Path.GetFileName(assembly.Path).GetHashCode() ^ assembly.Version.GetHashCode(); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /vs-extension.shared/DeployProvider/DeploymentException.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // Portions Copyright (c) Microsoft Corporation. All rights reserved. 4 | // See LICENSE file in the project root for full license information. 5 | // 6 | 7 | using System; 8 | using System.Runtime.Serialization; 9 | 10 | namespace nanoFramework.Tools.VisualStudio.Extension 11 | { 12 | [Serializable] 13 | internal class DeploymentException : Exception 14 | { 15 | public DeploymentException() 16 | { 17 | } 18 | 19 | public DeploymentException(string message) : base(message) 20 | { 21 | } 22 | 23 | public DeploymentException(string message, Exception innerException) : base(message, innerException) 24 | { 25 | } 26 | 27 | protected DeploymentException(SerializationInfo info, StreamingContext context) : base(info, context) 28 | { 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /vs-extension.shared/Extensions/TaskExtensions.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System.Threading.Tasks; 7 | 8 | namespace nanoFramework.Tools.VisualStudio.Extension 9 | { 10 | public static class TaskExtensions 11 | { 12 | /// 13 | /// Extension to tell the compiler that we actually use the instance for something. This is that the "fire-and-forget" mechanism is being used intentionally. 14 | /// 15 | /// 16 | public static void FireAndForget(this Task task) 17 | { 18 | } 19 | 20 | /// 21 | /// Extension to tell the compiler that we actually use the instance for something. This is that the "fire-and-forget" mechanism is being used intentionally. 22 | /// 23 | /// 24 | /// 25 | public static void FireAndForget(this Task task) 26 | { 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vs-extension.shared/Extensions/VersionExtensions.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System; 7 | 8 | namespace nanoFramework.Tools.VisualStudio.Extension 9 | { 10 | public static class VersionExtensions 11 | { 12 | /// 13 | /// Compares and values. 14 | /// 15 | /// 16 | /// Version value to compare to. 17 | public static bool Equals(this Tools.Debugger.WireProtocol.Commands.DebuggingResolveAssembly.Version version, Version value) 18 | { 19 | return (version.MajorVersion == value.Major && 20 | version.MinorVersion == value.Minor && 21 | version.BuildNumber == value.Build && 22 | version.RevisionNumber == value.Revision); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vs-extension.shared/NanoDeviceCommService/INanoDeviceCommService.cs: -------------------------------------------------------------------------------- 1 | // Licensed to the .NET Foundation under one or more agreements. 2 | // The .NET Foundation licenses this file to you under the MIT license. 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Collections.ObjectModel; 7 | using System.Runtime.CompilerServices; 8 | using System.Threading.Tasks; 9 | using nanoFramework.Tools.Debugger; 10 | using nanoFramework.Tools.Debugger.WireProtocol; 11 | 12 | namespace nanoFramework.Tools.VisualStudio.Extension 13 | { 14 | public interface INanoDeviceCommService 15 | { 16 | PortBase DebugClient { get; } 17 | 18 | NanoDeviceBase Device { get; } 19 | 20 | bool SelectDevice(string description); 21 | 22 | TaskAwaiter GetAwaiter(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vs-extension.shared/NanoDeviceCommService/SNanoDeviceCommService.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System; 7 | using System.Collections.Generic; 8 | using System.Linq; 9 | using System.Text; 10 | using System.Threading.Tasks; 11 | 12 | namespace nanoFramework.Tools.VisualStudio.Extension 13 | { 14 | public interface SNanoDeviceCommService 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vs-extension.shared/ProjectSystem/GlobalPropertiesProvider.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using Microsoft.VisualStudio.ProjectSystem; 7 | using Microsoft.VisualStudio.ProjectSystem.Build; 8 | using System.Collections.Immutable; 9 | using System.ComponentModel.Composition; 10 | using System.IO; 11 | using System.Threading; 12 | using System.Threading.Tasks; 13 | 14 | namespace nanoFramework.Tools.VisualStudio.Extension 15 | { 16 | //[Export(typeof(IProjectGlobalPropertiesProvider))] 17 | //[AppliesTo(NanoCSharpProjectUnconfigured.UniqueCapability)] 18 | //internal class GlobalPropertiesProvider : StaticGlobalPropertiesProviderBase 19 | //{ 20 | // public const string NanoCSharpProjectPathPropertyName = "NanoCSharpProjectPath"; 21 | 22 | // [ImportingConstructor] 23 | // internal GlobalPropertiesProvider(IProjectService projectService) 24 | // : base(projectService.Services) 25 | // { } 26 | 27 | // //[ImportingConstructor] 28 | // //internal GlobalPropertiesProvider(IThreadHandling threadHandling) 29 | // // : base(threadHandling.JoinableTaskContext) 30 | // //{ 31 | // //} 32 | 33 | // public override Task> GetGlobalPropertiesAsync(CancellationToken cancellationToken) => 34 | // Task.FromResult>( 35 | // Empty.PropertiesMap.SetItem( 36 | // NanoCSharpProjectPathPropertyName, 37 | // Path.Combine(Path.GetDirectoryName(GetType().Assembly.Location), "Targets"))); 38 | 39 | //} 40 | } 41 | -------------------------------------------------------------------------------- /vs-extension.shared/ProjectSystem/NanoCSharpProjectConfigured.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension 7 | { 8 | using Microsoft.VisualStudio.ProjectSystem; 9 | using System.ComponentModel.Composition; 10 | using System.Diagnostics.CodeAnalysis; 11 | 12 | [Export] 13 | [AppliesTo(NanoCSharpProjectUnconfigured.UniqueCapability)] 14 | internal class NanoCSharpProjectConfigured 15 | { 16 | [Import, SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Justification = "MEF")] 17 | internal ConfiguredProject ConfiguredProject { get; private set; } 18 | 19 | [Import, SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Justification = "MEF")] 20 | internal ProjectProperties Properties { get; private set; } 21 | 22 | [Import(ExportContractNames.Scopes.ConfiguredProject)] 23 | IProjectAsynchronousTasksService AsyncTasksService { get; set; } 24 | 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vs-extension.shared/ProjectSystem/ProjectTreePropertiesProvider.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using Microsoft.VisualStudio.Imaging; 7 | using Microsoft.VisualStudio.ProjectSystem; 8 | using System.ComponentModel.Composition; 9 | 10 | namespace nanoFramework.Tools.VisualStudio.Extension 11 | { 12 | /// 13 | /// Updates nodes in the project tree by overriding property values calculated so far by lower priority providers. 14 | /// 15 | [Export(typeof(IProjectTreePropertiesProvider))] 16 | [AppliesTo(NanoCSharpProjectUnconfigured.UniqueCapability)] 17 | // need to set an order here so it can override the default CPS icon 18 | [Order(100)] 19 | internal class ProjectTreePropertiesProvider : IProjectTreePropertiesProvider 20 | { 21 | /// 22 | /// Calculates new property values for each node in the project tree. 23 | /// 24 | /// Context information that can be used for the calculation. 25 | /// Values calculated so far for the current node by lower priority tree properties providers. 26 | public void CalculatePropertyValues( 27 | IProjectTreeCustomizablePropertyContext propertyContext, 28 | IProjectTreeCustomizablePropertyValues propertyValues) 29 | { 30 | // set the icon for the root project node 31 | if (propertyValues.Flags.Contains(ProjectTreeFlags.Common.ProjectRoot)) 32 | { 33 | // skip if this is a test project 34 | if(propertyValues.Icon == KnownMonikers.CSTestApplication.ToProjectSystemType()) 35 | { 36 | return; 37 | } 38 | 39 | propertyValues.Icon = NanoFrameworkMoniker.NanoFrameworkProject.ToProjectSystemType(); 40 | propertyValues.ExpandedIcon = NanoFrameworkMoniker.NanoFrameworkProject.ToProjectSystemType(); 41 | } 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /vs-extension.shared/ProvideDebugPortSupplierAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using Microsoft.VisualStudio.Shell; 4 | 5 | namespace nanoFramework.Tools.VisualStudio.Extension 6 | { 7 | // this attribute (deriving from RegistrationAttribute) is parsed and the registry entries in the Register method bellow 8 | // are loaded into the package .pkgdef file 9 | 10 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 11 | internal class ProvideDebugPortSupplierAttribute : RegistrationAttribute 12 | { 13 | protected string _name; 14 | protected Guid _id; 15 | protected Type _portSupplier, _portPicker; 16 | 17 | public ProvideDebugPortSupplierAttribute(string name, Type portSupplier, string id, Type portPicker = null) 18 | { 19 | _name = name; 20 | _portSupplier = portSupplier; 21 | _id = new Guid(id); 22 | _portPicker = portPicker; 23 | } 24 | 25 | public override void Register(RegistrationContext context) 26 | { 27 | var portSupplierKey = context.CreateKey("AD7Metrics\\PortSupplier\\" + _id.ToString("B")); 28 | portSupplierKey.SetValue("Name", _name); 29 | portSupplierKey.SetValue("CLSID", _portSupplier.GUID.ToString("B")); 30 | 31 | if (_portPicker != null) 32 | { 33 | portSupplierKey.SetValue("PortPickerCLSID", _portPicker.GUID.ToString("B")); 34 | } 35 | 36 | var clsidKey = context.CreateKey("CLSID"); 37 | var clsidGuidKey = clsidKey.CreateSubkey(_portSupplier.GUID.ToString("B")); 38 | clsidGuidKey.SetValue("Class", _portSupplier.FullName); 39 | clsidGuidKey.SetValue("InprocServer32", context.InprocServerPath); 40 | clsidGuidKey.SetValue("CodeBase", Path.Combine(context.ComponentPath, _portSupplier.Module.Name)); 41 | clsidGuidKey.SetValue("ThreadingModel", "Both"); 42 | } 43 | 44 | public override void Unregister(RegistrationContext context) 45 | { 46 | } 47 | } 48 | } 49 | 50 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/DeviceExplorer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension 7 | { 8 | using System; 9 | using System.ComponentModel.Design; 10 | using System.Runtime.InteropServices; 11 | using Microsoft.VisualStudio.Shell; 12 | using Microsoft.VisualStudio.Shell.Interop; 13 | 14 | /// 15 | /// This class implements the tool window exposed by this package and hosts a user control. 16 | /// 17 | /// 18 | /// In Visual Studio tool windows are composed of a frame (implemented by the shell) and a pane, 19 | /// usually implemented by the package implementer. 20 | /// 21 | /// This class derives from the ToolWindowPane class provided from the MPF in order to use its 22 | /// implementation of the IVsUIElementPane interface. 23 | /// 24 | /// 25 | #if DEV17 26 | [Guid("CCD64499-4029-4B29-9518-00E9B10C876E")] 27 | #elif DEV16 28 | [Guid("65ff0124-880b-4bf4-9441-08a10b4e4c06")] 29 | #else 30 | #endif 31 | public class DeviceExplorer : ToolWindowPane 32 | { 33 | internal DeviceExplorerControl control; 34 | 35 | /// 36 | /// Initializes a new instance of the class. 37 | /// 38 | public DeviceExplorer() : base(null) 39 | { 40 | Caption = "Device Explorer"; 41 | 42 | // This is the user control hosted by the tool window; Note that, even if this class implements IDisposable, 43 | // we are not calling Dispose on this object. This is because ToolWindowPane calls Dispose on 44 | // the object returned by the Content property. 45 | control = new DeviceExplorerControl(); 46 | base.Content = control; 47 | 48 | BitmapImageMoniker = NanoFrameworkMoniker.NanoFramework; 49 | 50 | // set the toolbar for this control 51 | ToolBar = new CommandID(new Guid(DeviceExplorerCommand.guidDeviceExplorerCmdSet), DeviceExplorerCommand.DeviceExplorerToolbarID); 52 | ToolBarLocation = (int)VSTWT_LOCATION.VSTWT_TOP; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/Models/ConnectionState.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension 7 | { 8 | public enum ConnectionState 9 | { 10 | None = 0, 11 | Connected, 12 | Connecting, 13 | Disconnected 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/Models/PingConnectionResult.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension 7 | { 8 | public enum PingConnectionResult 9 | { 10 | None = 0, 11 | Ok, 12 | Error, 13 | Busy 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/Services/NanoFrameworkService/INFDebugClientBaseService.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension.ToolWindow 7 | { 8 | public interface INFDebugClientBaseService 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/Services/NanoFrameworkService/INFSerialDebugClientService.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | using nanoFramework.Tools.Debugger; 6 | 7 | namespace nanoFramework.Tools.VisualStudio.Extension.ToolWindow 8 | { 9 | public interface INFSerialDebugClientService : INFDebugClientBaseService 10 | { 11 | PortBase SerialDebugClient { get; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/Services/NanoFrameworkService/NFSerialDebugClientService.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | using nanoFramework.Tools.Debugger; 6 | 7 | namespace nanoFramework.Tools.VisualStudio.Extension.ToolWindow 8 | { 9 | public class NFSerialDebugClientService : INFSerialDebugClientService 10 | { 11 | public PortBase SerialDebugClient { get; private set; } 12 | 13 | public NFSerialDebugClientService(PortBase client) 14 | { 15 | SerialDebugClient = client; 16 | } 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/Services/NanoFrameworkService/xaml_abbreviation.baml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nanoframework/nf-Visual-Studio-extension/1cc2c860bc1542d87992898bc159a1b3570a57c2/vs-extension.shared/ToolWindow.DeviceExplorer/Services/NanoFrameworkService/xaml_abbreviation.baml -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/ViewModel/DesignDataService.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension.ToolWindow.ViewModel 7 | { 8 | internal class DesignDataService 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /vs-extension.shared/ToolWindow.DeviceExplorer/ViewModel/IDataService.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | namespace nanoFramework.Tools.VisualStudio.Extension.ToolWindow.ViewModel 7 | { 8 | internal interface IDataService 9 | { 10 | } 11 | } -------------------------------------------------------------------------------- /vs-extension.shared/Utilities/EnumToItemsSource.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | // 5 | 6 | using System; 7 | using System.ComponentModel; 8 | using System.Linq; 9 | using System.Windows.Markup; 10 | 11 | namespace nanoFramework.Tools.VisualStudio.Extension 12 | { 13 | /// 14 | /// Given an enum with items decorated with it provides an item source with the enum value and a description as string. 15 | /// 16 | public class ByteEnumToItemsSource : MarkupExtension 17 | { 18 | private readonly Type _type; 19 | 20 | public ByteEnumToItemsSource(Type type) 21 | { 22 | _type = type; 23 | } 24 | 25 | public override object ProvideValue(IServiceProvider serviceProvider) 26 | { 27 | return Enum.GetValues(_type) 28 | .Cast() 29 | .Where(e => (byte)e != 0) 30 | .Select(e => new 31 | { 32 | Value = (byte)e, 33 | DisplayName = new Func(() => 34 | { 35 | return !(e.GetType() 36 | .GetField(e.ToString()) 37 | .GetCustomAttributes(typeof(DescriptionAttribute), false) 38 | .SingleOrDefault() is DescriptionAttribute attribute) ? e.ToString() : attribute.Description; 39 | }).Invoke() 40 | } 41 | ); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /vs-extension.shared/VirtualDeviceService/IVirtualDeviceService.cs: -------------------------------------------------------------------------------- 1 | //// 2 | // Copyright (c) .NET Foundation and Contributors 3 | // See LICENSE file in the project root for full license information. 4 | //// 5 | 6 | using System.Threading.Tasks; 7 | 8 | namespace nanoFramework.Tools.VisualStudio.Extension 9 | { 10 | internal interface IVirtualDeviceService 11 | { 12 | bool NanoClrIsInstalled { get; } 13 | 14 | bool VirtualDeviceIsRunning { get; } 15 | 16 | bool CanStartStopVirtualDevice { get; } 17 | 18 | Task InitVirtualDeviceAsync(); 19 | 20 | void InstallNanoClrTool(); 21 | 22 | void UpdateNanoClr(); 23 | 24 | string ListVirtualSerialPorts(); 25 | 26 | bool CreateVirtualSerialPort(string portName, out string executionLog); 27 | 28 | void StopVirtualDevice(bool shutdownProcessing = false); 29 | 30 | Task StartVirtualDeviceAsync(bool rescanDevices); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vs-extension.shared/vs-extension.shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | b16737e2-4b5d-4048-a740-2bb1df462637 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | --------------------------------------------------------------------------------