-
-
Notifications
You must be signed in to change notification settings - Fork 180
Add README for generics public preview #3157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add links to both main README files. - Expand targets tables to include preview versions. - Minor formating fixes.
WalkthroughThis update introduces documentation and README changes to announce and explain the public preview of generics support in the .NET nanoFramework CLR. A new dedicated document, Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Documentation
participant Firmware
participant Tooling
User->>Documentation: Reads about generics support and preview instructions
User->>Tooling: Updates Visual Studio extension and NuGet packages as instructed
User->>Firmware: Installs preview firmware with generics support
User->>Documentation: Refers to known issues and feedback channels
Tip ⚡️ Faster reviews with caching
Enjoy the performance boost—your workflow just got faster. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (5)
README.md (2)
18-22
: Minor punctuation improvement in new preview section
Add a comma for clarity in the sentence on line 21.
Suggested change:- If you want to use this feature please refer to the documentation [here](README-GENERICS.md). + If you want to use this feature, please refer to the documentation [here](README-GENERICS.md).🧰 Tools
🪛 LanguageTool
[typographical] ~21-~21: It seems that a comma is missing.
Context: ...enerics. If you want to use this feature please refer to the documentation [here](READM...(IF_PLEASE_COMMA)
40-40
: Remove stray semicolon in separator line
The line-----;
appears to include an unintended semicolon and may disrupt Markdown rendering. It should be:- -----; + -----README.zh-cn.md (1)
18-21
: Remove trailing spaces after Chinese sentence
Line 20 ends with two spaces; remove the extra whitespace to clean up formatting.README-GENERICS.md (2)
42-43
: Clarify comparative phrasing
The clause “similarly to how they would on the full .NET runtime” lacks an explicit verb and may read awkwardly.
Suggested revision:- …write more flexible and reusable code on microcontrollers, similarly to how they would on the full .NET runtime. + …write more flexible and reusable code on microcontrollers, similar to how they can on the full .NET runtime.🧰 Tools
🪛 LanguageTool
[grammar] ~42-~42: It seems that a verb is missing.
Context: ...microcontrollers, similarly to how they would on the full .NET runtime. Keep in mind ...(MD_DT_JJ)
75-75
: Add hyphens for compound adjectives
Use hyphens in “pre- and post-generics projects” for correct compound adjective styling.
Suggested revision:- …not possible to support pre and post generics projects… + …not possible to support pre‑ and post‑generics projects…🧰 Tools
🪛 LanguageTool
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...extension, it's not possible to support pre and post generics projects with the same extension. There...(PRE_AND_POST_NN)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...ersions. It is not an option to install pre and post generics extensions in VS2019 and VS2022, for ex...(PRE_AND_POST_NN)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
README-GENERICS.md
(1 hunks)README.md
(4 hunks)README.zh-cn.md
(2 hunks)
🧰 Additional context used
🪛 LanguageTool
README.zh-cn.md
[style] ~119-~119: Using many exclamation marks might seem excessive (in this case: 90 exclamation marks for a text that’s 39429 characters long)
Context: ...-|---|---| | TI_CC1352R1_LAUNCHXL_868 | |
| | TI_CC1352R1_LAUNCHXL_915 |
|
| | TI_CC3220SF_LAUNCHXL | [
README.md
[typographical] ~21-~21: It seems that a comma is missing.
Context: ...enerics. If you want to use this feature please refer to the documentation [here](READM...
(IF_PLEASE_COMMA)
[style] ~131-~131: Using many exclamation marks might seem excessive (in this case: 91 exclamation marks for a text that’s 43399 characters long)
Context: ...-|---|---| | TI_CC1352R1_LAUNCHXL_868 | |
| | TI_CC1352R1_LAUNCHXL_915 |
|
| | TI_CC3220SF_LAUNCHXL | [
README-GENERICS.md
[grammar] ~42-~42: It seems that a verb is missing.
Context: ...microcontrollers, similarly to how they would on the full .NET runtime. Keep in mind ...
(MD_DT_JJ)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...extension, it's not possible to support pre and post generics projects with the same extension. There...
(PRE_AND_POST_NN)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...ersions. It is not an option to install pre and post generics extensions in VS2019 and VS2022, for ex...
(PRE_AND_POST_NN)
🔇 Additional comments (11)
README.md (1)
44-45
: Preview column added correctly
The new “Preview” column header and its alignment row are clear and consistent with existing table formatting.README.zh-cn.md (1)
32-33
: 新增“预览”列标题格式正确
表头新增的“预览”列及其对齐符号符合 Markdown 规范,清晰易读。README-GENERICS.md (9)
1-4
: Great new documentation file
The title and overview section clearly introduce the purpose and context of the generics public preview.
5-12
: Clear explanation of generics benefits
The bullet points for type safety, reusability, and performance are well‑written and concise.
13-25
: Well‑formed generic method example
The sample code forMax<T>
demonstrates usage effectively and follows standard C# conventions.
27-38
: Effective generic class illustration
TheStack<T>
class example is simple, accurate, and easy to follow.
44-58
: Firmware flashing instructions are clear
Thenanoff --preview
example and notes accurately guide users through applying preview firmware.
61-70
: VSIX installation steps are well detailed
The instructions for downloading and installing the preview Visual Studio extension are precise and user‑friendly.
77-86
: NuGet package update guidance is solid
The steps for enabling prerelease packages and aligning versions are clear and actionable.
88-98
: Feedback and known issues section is comprehensive
The caveats around debugging quirks and memory usage set proper expectations for users.
99-100
: Strong closing call to action
The thank‑you note and invitation for feedback provide a positive wrap‑up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (5)
README-GENERICS.md (5)
1-1
: Enhance title for clarity and consistency
To align with other nanoFramework documentation, consider renaming the title to something like “Generics Public Preview for .NET nanoFramework CLR” to immediately convey context.
40-42
: Clarify wording in paragraph for readability
The phrase “similarly to how they would on the full .NET runtime” is missing a verb and reads awkwardly. For example:- Developers can now write more flexible and reusable code on microcontrollers, similarly to how they would on the full .NET runtime. + Developers can now write more flexible and reusable code on microcontrollers, just as they would on the full .NET runtime.🧰 Tools
🪛 LanguageTool
[grammar] ~42-~42: It seems that a verb is missing.
Context: ...microcontrollers, similarly to how they would on the full .NET runtime. Keep in mind ...(MD_DT_JJ)
71-71
: Hyphenate “double-click”
Use “double-click” instead of “double click” to match conventional spelling.- After downloading the file, double click on it and the extension installer will open. + After downloading the file, double-click on it and the extension installer will open.🧰 Tools
🪛 LanguageTool
[grammar] ~71-~71: This expression is usually spelled with a hyphen.
Context: ...l Studio:** After downloading the file, double click on it and the extension installer will ...(DOUBLE_CLICK_HYPHEN)
75-75
: Improve hyphenation and punctuation in warning
This sentence has multiple hyphenation and comma issues. For clarity:- > **Warning:** Despite we've tried to make that possible using preview features in VS extension, it's not possible to support pre and post generics projects with the same extension. + > **Warning:** Despite our efforts to make this possible using the VS extension preview, it’s not possible to support pre- and post-generics projects with the same extension.Also add a comma after “for example” in the next sentence:
- It is not an option to install pre and post generics extensions in VS2019 and VS2022, for example as both use… + It is not an option to install pre- and post-generics extensions in VS2019 and VS2022, for example, as both use…🧰 Tools
🪛 LanguageTool
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...that possible using preview features in VS extension, it's not possible to support...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...extension, it's not possible to support pre and post generics projects with the same extension. There...(PRE_AND_POST_NN)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...ersions. It is not an option to install pre and post generics extensions in VS2019 and VS2022, for ex...(PRE_AND_POST_NN)
[uncategorized] ~75-~75: A comma might be missing here.
Context: ...cs extensions in VS2019 and VS2022, for example as both use the same msbuild components...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
1-100
: Consider adding a Table of Contents
This document is lengthy. A TOC at the top (linking to sections like “Overview,” “Firmware Flashing,” etc.) will improve navigation for readers.🧰 Tools
🪛 LanguageTool
[grammar] ~42-~42: It seems that a verb is missing.
Context: ...microcontrollers, similarly to how they would on the full .NET runtime. Keep in mind ...(MD_DT_JJ)
[grammar] ~71-~71: This expression is usually spelled with a hyphen.
Context: ...l Studio:** After downloading the file, double click on it and the extension installer will ...(DOUBLE_CLICK_HYPHEN)
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...that possible using preview features in VS extension, it's not possible to support...(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...extension, it's not possible to support pre and post generics projects with the same extension. There...(PRE_AND_POST_NN)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...ersions. It is not an option to install pre and post generics extensions in VS2019 and VS2022, for ex...(PRE_AND_POST_NN)
[uncategorized] ~75-~75: A comma might be missing here.
Context: ...cs extensions in VS2019 and VS2022, for example as both use the same msbuild components...(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
README-GENERICS.md
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
README-GENERICS.md
[grammar] ~42-~42: It seems that a verb is missing.
Context: ...microcontrollers, similarly to how they would on the full .NET runtime. Keep in mind ...
(MD_DT_JJ)
[grammar] ~71-~71: This expression is usually spelled with a hyphen.
Context: ...l Studio:** After downloading the file, double click on it and the extension installer will ...
(DOUBLE_CLICK_HYPHEN)
[uncategorized] ~75-~75: You might be missing the article “the” here.
Context: ...that possible using preview features in VS extension, it's not possible to support...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...extension, it's not possible to support pre and post generics projects with the same extension. There...
(PRE_AND_POST_NN)
[grammar] ~75-~75: It appears that hyphens are missing.
Context: ...ersions. It is not an option to install pre and post generics extensions in VS2019 and VS2022, for ex...
(PRE_AND_POST_NN)
[uncategorized] ~75-~75: A comma might be missing here.
Context: ...cs extensions in VS2019 and VS2022, for example as both use the same msbuild components...
(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (6)
- GitHub Check: nf-interpreter (Nightly build) (Build_STM32_targets ST_NUCLEO64_F091RC)
- GitHub Check: nf-interpreter (Nightly build) (Build_STM32_targets ORGPAL_PALX)
- GitHub Check: nf-interpreter (Nightly build) (Build_STM32_targets ORGPAL_PALTHREE)
- GitHub Check: nf-interpreter (Check_Code_Style)
- GitHub Check: nf-interpreter (Nightly build) (Check_Build_Options)
- GitHub Check: nf-interpreter (Check_Build_Options)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That look super clear! Thanks a lot!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
README-GENERICS.md (3)
35-47
: Expand example notes for clarity
The minimalStack<T>
class is a good illustration, but newcomers might not realize it lacks bounds checking.You could prepend a comment in the code block:
public class Stack<T> { + // Note: This minimal implementation does not include overflow/underflow checks. private T[] _items;
69-84
: Rework nested parentheses in installation instructions
There’s a sentence with parentheses inside parentheses, which could break Markdown parsing.For example, rewrite to:
- These links provide the `.vsix` installer for the extension. (You can also set up the VSIX gallery feed in Visual Studio to get preview updates (instructions on [this](URL) blog post, but direct download is simplest.)) + These links provide the `.vsix` installer for the extension. You can also set up the VSIX gallery feed in Visual Studio to receive preview updates; see the blog post [here](URL). Direct download remains the simplest approach.
85-94
: Link directly to the NuGet preview filter
To streamline discovery of prerelease packages, consider embedding a direct link to the NuGet.org prerelease view.E.g.:
- distributed through the public NuGet.org feed. + distributed through the public NuGet.org feed (see https://www.nuget.org/?prerelease=true).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
README-GENERICS.md
(1 hunks)
🔇 Additional comments (6)
README-GENERICS.md (6)
1-10
: Title and Table of Contents are well-structured
The main heading clearly introduces the feature, and the TOC entries match the section anchors.
11-20
: Overview and benefits section is clear
The introductory explanation of generics and the key benefits is both concise and informative, with no obvious issues.
21-33
: Generic method example is accurate
The C# snippet correctly demonstrates a genericMax<T>
method with proper constraints and syntax, and the code fence is closed properly.
48-51
: Historical context paragraph is well-written
The note on the previous lack of generics support in nanoFramework and its significance is informative and succinct.
52-68
: Firmware update instructions are comprehensive
Flashing withnanoff --preview
is clearly described, and the link to the Cloudsmith dev feed is useful for users.
95-108
: Feedback and known issues are well-presented
The call to action and initial list of known issues guide users effectively on where to report feedback and what to watch out for.
Description
Motivation and Context
How Has This Been Tested?
Screenshots
Types of changes
Checklist
Summary by CodeRabbit