VS Extension Discussion
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 15/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- csharp
- Domain
- developer-experience, devtools, tooling
Research direction
No source file, test, or entry point is named; start by reviewing the repository structure and separating this discussion into specific, independently scoped work items. A useful outcome is a defined first-iteration feature with an identified code location, acceptance criteria, and a dedicated issue rather than implementing this broad discussion directly.
Written by the indexing model from the issue text.
Description
This topic is for general discussion of the Visual Studio extension for Excel-DNA.
We can create individual issues for specific work items as these are more clearly defined.
My thoughts for the first iteration of the VS extension:
- The first iteration of the extension is mainly about project and item templates, and some related tools for setting up and managing an Excel-DNA add-in solution.
- We are building this for the Excel-DNA v1.1 generation, so this always targets .NET Framework. (There are some future plans for Excel-DNA to target .NET 5, and have a different model for loading the add-ins.)
- We want to support both C# and VB.NET (and possibly F# where this is easy, but it's not an initial priority).
- There are different solution and project layouts we should define and then make easy to build and configure. For example:
- Simplest add-in is just a Class Library that has the
ExcelDna.AddInNuGet package installed. - A complicated solution might have:
- an implementation Class Library project which does not reference Excel-DNA at all, with the core code, and other references
- a Test project that does unit testing of the implementation library, and
- an add-in Class Library that references Excel-DNA and the implementation library, and adds the functions and add-in specific feature that are relevant to the Excel addin part of the project.
- possible other projects that also reference the implementation library, like a GUI front-end.
- Simplest add-in is just a Class Library that has the
- There are different features that an Excel-DNA add-in project might have, and that we want to make easy to add. For example:
- Have a reference to the Excel PIA assemblies installed (perhaps with an option about the version).
- Runtime-registration of functions using the Excel-DNA Registration extensions - with some related features
- Support for a Ribbon extension, perhaps with ribbon definitions in a separate xml file that is embedded as a resource
- Support for one or more CTP, with some help in setting up the WinForms // WPF // WebView and maybe dealing with a CTP that is linked to a workbook.
- Documentation support through ExcelDnaDoc (which also needs the help compiler tools to be installed - I can't remember if the NuGet package does this automatically).
- Embedding of the IntelliSense library
- We might consider whether to interact with the .dna file that defines an add-in, for example can we help manage the list of
<Reference ... Pack='true' \>tags to help with the packing.
General extension features:
- I'd like to understand the options for licensing of the extension, particularly how we link the extension to a back-end user id and authorization to use the extension. Does the VSIX model have any built-in support for licensing?
- I'd like to understand the options for building in some telemetry into the extension, so that we might get information about how many add-ins are created, and what aspects are used. This should be anonymous and optional to the user so they can opt out.
Future topics, not for the first iteration:
- Setting up an installer project (from the WiXInstaller) is not for the first iteration, but perhaps for future work.
- Improve debugging cycle through some unloading / reloading link to a 'live' Excel instance. There are some debugger implications to this too.
- A test framework for integration testing of add-ins.
- Dominant language
- C#
- Stars
- 0
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Excel-DNA/DeveloperTools
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
Excel-DNA/DeveloperTools#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
Excel-DNA/DeveloperTools#16 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 25/100
Excel-DNA/DeveloperTools#15 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Excel-DNA/DeveloperTools#14 · 4 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Excel-DNA/DeveloperTools#10 · 1 comment ·
All issues in Excel-DNA/DeveloperTools
Similar issues
-
Status: Waiting triage Type: Bug
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
nanoframework/Home#1857 ·
-
kind/bug kind/regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
unoplatform/uno.toolkit.ui#1646 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nightscout/nocturne#1379 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
elastic/esql-dotnet#47 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100