Comments (54)
And thanks to Renesas for supporting me to do this work.
from eclipse-plugins.
tentatively the end of the week, there are a few small issues to fix.
Unfortunately we still have an open issue (#580, which was split from #576; Jonah is working on it); we'll make the release when ready.
from eclipse-plugins.
The fixed version will be part of v6.4.0.
from eclipse-plugins.
I understand, thank you
The above function is to determine who is the default Toolchain
The following functions will list all Toolchains
@ilg-ul
thank you too @TommyMurphyTM1234
from eclipse-plugins.
@jonahgraham what do you think? In other preferences pages I saw grouping or tabs. What would be the best way to redesign these windows to avoid the confusion?
I'm experimenting now with the code to understand what I can propose.
from eclipse-plugins.
'All configurations' seems a bit too verbose, I was thinking that we can go without it for the majority of projects, but if you think that consistency is important, perhaps you can shorten it.
from eclipse-plugins.
I would say that it looks great, thank you!
from eclipse-plugins.
Ok, got it, thanks for your explaination.
Thanks for asking the questions - this stuff is pretty complicated and making it easier to understand for users is really important.
Some questions list below:
For the global preference, is it used to set the default toolchain path for each toolchain? If yes, but according to the screenshot, it display settings used by different projects?
The current UI allows you to set the path used by the toolchain, but to keep the UI from being very big, only the toolchains in use in your workspace are displayed here.
For the workspace preference, is it used to set the default toolchain path for each toolchain and overwrite the settings in global settings?
Yes that is correct. If you don't set anything in the workspace level the global level is used.
from eclipse-plugins.
Here are the screenshots to go with my latest update, key changes are adding/fixing some of the wording in description areas and I added links from project settings back to workspace/global settings.
Project Settings Page:
Clicking on the links opens the specified page and limits the visible pages to only global/workspace setting like this (note only two pages visible in the tree on the left):
Workspace settings:
Global settings:
As for long lists, the text does wrap
See the above screenshots that show wrapping on the long project and config names.
@fanghuaqi - does that seem clearer now to users?
from eclipse-plugins.
PR #575 was merged, it'll be part of the new release.
Many thanks to @laomaolaile and @fanghuaqi for revealing the issue and even more to @jonahgraham for contributing the quite large PR.
from eclipse-plugins.
The Default toolchain is used when creating new projects and changing it has no effect on existing projects.
from eclipse-plugins.
The Default toolchain is used when creating new projects and changing it has no effect on existing projects.
But the Window > Preferences > MCU > Global RISC-V Toolchains Paths dialog is not operating on an existing project.
It does seem odd that the dropdown can be reconfigured but it has no obvious effect in this context?
from eclipse-plugins.
This Default toolchain should be able to be set to different settings, but now it seems that it cannot be set or changed
from eclipse-plugins.
That's what Preferences are for, to configure the Eclipse instance or the workspace.
The projects have Properties.
from eclipse-plugins.
I don't understand.
Forget about projects,
Focus on the global settings in Window > Preferences > MCU > Global RISC-V Toolchains Paths.
When the Default toolchain dropdown is modified nothing happens to the Toolchain name or Toolchain folder fields.
That seems confusing.
What is the purpose and effect of changing the Default toolchain setting in this dialog?
from eclipse-plugins.
When the Default toolchain dropdown is modified nothing happens to the Toolchain name or Toolchain folder fields.
That's expected, because they are not related in any way.
The selection you make in the Default toolchain field will be proposed as default when you create new projects.
Why do you think that a setting named Default XXX should have any effect on existing projects?
Existing projects already have a toolchain, so they no longer require a default one.
from eclipse-plugins.
Why do you think that a setting named Default XXX should have any effect on existing projects?
I don't.
You're the one who keeps mentioning projects!
So the effect of changing the Default toolchain dropdown here is that whatever is selected will be the default toolchain proposed when creating a new project?
That's not really clear from the dialog in my opinion.
I assumed (like @laomaolaile I suspect) that changing it would have some effect on the two fields below it.
Maybe a tooltop explaining the purpose and function of the Default toolchain dropdown would help?
from eclipse-plugins.
from eclipse-plugins.
... the two fields below ...
The two fields below actually can be pairs of multiple settings (name/paths) for all toolchains referred by the projects in the workspace.
For portability reasons, projects configurations do not use paths, but toolchain names (actually internal unique IDs).
These MCU Preferences pages allow to assign a path to each toolchain.
Maybe a tooltop explaining the purpose and function of the Default toolchain dropdown would help?
PRs are welcome!
from eclipse-plugins.
PRs are welcome!
I know, but I simply don't know enough about Eclipse/plugins/Java to help directly.
Sorry.
from eclipse-plugins.
Two projects, one referring to the deprecated toolchain, and one to the latest one.
from eclipse-plugins.
I think combining these two functions together may be more in line with everyone's conventional thinking,hahaha~
from eclipse-plugins.
I think combining these two functions together...
Please describe the desired behaviour.
from eclipse-plugins.
In the last step of creating the project, there is an interface for selecting the Toolchain. I think this implementation may be better,
from eclipse-plugins.
Yes, I agreed with @TommyMurphyTM1234 @laomaolaile , maybe this global settings could be improvded, each toolchain could have a seperated toolchain path, if we want to improve it, is there any suggestion about how to improve it?
from eclipse-plugins.
I think this implementation may be better ...
In what way?
from eclipse-plugins.
each toolchain could have a separated toolchain path
Each toolchain already has a separate path. And you can set it globally, per workspace or per project.
from eclipse-plugins.
Hi @ilg-ul , as decribed here, these are not working as expected, when changing different toolchain path, not effective, and toolchain name remaining unchanged.
Thanks
from eclipse-plugins.
these are not working as expected, when changing different toolchain path, not effective, and toolchain name remaining unchanged.
Hmmm... @fanghuaqi take a look at the picture at #574 (comment), since the pictures you used are not relevant; that Preferences page may list multiple toolchains, if multiple different projects are defined in your workspace.
Describe exactly what you expect to happen when you change the default toolchain.
from eclipse-plugins.
OK, @ilg-ul I understand now, this screenshot above, the marked 1 and 2 have two different functions:
- is used to select default toolchain
- is used to set different toolchain and its default toolchain path, but why there are 2 listed in your screenshot and only 1 list in @laomaolaile
Previously I thought 1 is used to select the toolchain, and 2 is used to set the selected toolchain path, but it seems that I am wrong.
Maybe a extra split line could be added between 1 & 2 or add more spaces before 1 & 2 to let user be confused.
Thanks
from eclipse-plugins.
1 is used to select default toolchain
That's correct
2 is used to set different toolchain and its default toolchain path,
Not exactly. It lists the names of all toolchains used by the projects in the workspace, and allows to set a path for each of them.
but why there are 2 listed in your screenshot and only 1 list in @laomaolaile
Because in my workspace there are two projects, each with its toolchain.
Maybe a extra split line could be added between 1 & 2 or add more spaces before 1 & 2 to let user be confused.
That's a valid suggestion.
I was thinking on moving the default toolchain selection at the end, and somehow visually group the toolchains paths section.
@jonahgraham what do you think? In other preferences pages I saw grouping or tabs. What would be the best way to redesign these windows to avoid the confusion?
from eclipse-plugins.
Hi @ilg-ul , thanks for your detailed explaination.
I have an question here:
There are Global and Workspace Path settings in this page, what is the difference here? I thought the global one shared across workspace, and workspace one only override the ones in global and valid in workspace only.
If I want to set each toolchain's global default path, how to archive it?
from eclipse-plugins.
Global means settings that apply to all projects in all workspaces used by one Eclipse instance. Workspace means settings that apply to all projects in the workspace.
Global Toolchains Paths are actually stored in a special folder inside the Eclipse instance. Workspace Toolchain Paths are stored in a special folder inside the workspace. There are also Project Toolchain Paths, stored in the project folder.
If I want to set each toolchain's global default path, how to archive it?
In the current design, paths are not portable between different platforms and even between different machines using the same platform, thus are not archivable, you have to configure them manually each time you setup a new Eclipse or workspace.
This issue is addressed by the new xPack design.
When you install the toolchain as recommended in the README page, you also get a line added to the package.json
, which is archivable.
The toolchain is actually installed in a global folder, but links to it are added in the project. Eclipse knows to use these links, and so you have a portable way of automating toolchain paths.
from eclipse-plugins.
I have played around a little to come up with a concrete proposal that adds some clarity, whitespace and borders. I also added some additional information in the dialog.
For this example I have a workspace with three projects, blinky, printer and scanner. blinky and printer have Debug
and Release
build config, and scanner has those two, plus New Board Debug
that uses a different toolchain.
As you can see I added:
- groups around the global and per-toolchain settings with labels
- whitespace between different toolchain settings
- new logic that shows which projects + build configs are using each displayed toolchain
If the workspace has no projects with suitable toolchains, this is what it looks like:
I think there is more that could be done here and I invite some feedback on what I have provided here. I may be able to refactor further. I have saved by work to date as a draft PR #575
from eclipse-plugins.
I invite some feedback
I think it is a good starting point. 👍
As order, I would place the group with the default toolchain after the list of toolchains. This setting actually does not belong here, since the pages are named XXX Toolchains Paths. From this point of view, probably using separate tabs would be more appropriate, since the default toolchain is not related to the list at all.
As small cosmetics:
- the 'On macOS...' notice should be moved inside the list group, possibly after an empty line
- a more explicit text for the default toolchain group might be 'Select the default toolchain to be used when creating new projects'
- for most projects all build configurations use the same toolchain; for such projects displaying the project name is enough; for complex projects, with different toolchains for different build configurations, the build configuration name may be an useful information
from eclipse-plugins.
OK - I will apply the changes as you have suggested.
- for most projects all build configurations [...]
This is how the current code shows it (project scanner has three configurations Debug
, Release
and New Board Debug
):
Toolchain used by the following projects: printer (All Configurations), scanner (Debug, Release)
Do you want this to be:
Toolchain used by the following projects: printer, scanner (Debug, Release)
or something else?
from eclipse-plugins.
@ilg-ul Here is what PR looks like with the updates you requested with the following changes:
- Default toolchain moved to the end of the UI, with new label.
- macOS hint moved inside the group
- configurations only listed if the project uses different toolchains for different configs.
As far as moving the default toolchain dropdown to a new tab, that will have to be deferred to another day/issue.
I'm going to assume the above is ok and I will work on the other 5 tabs that display the same info.
from eclipse-plugins.
The updated PR (coming soon) which applies the same change to both the RISC-V and ARM pages for Global, Workspace, and Project has this for the Project version which is limited to a single project.
All configs use same toolchain:
Multiple in use toolchains:
from eclipse-plugins.
The updated PR (coming soon) which applies the same change to both the RISC-V and ARM pages for Global, Workspace, and Project has this for the Project version which is limited to a single project.
All configs use same toolchain:
Multiple in use toolchains:
It looks clear than before, in this screenshot the Global and Workspace are merged into one? So this settings will be saved in eclipse ide installation location or workspace settings? If saved in eclipse ide installation, if user don't have permission to write this eclipse ide installation location, how will it be handled?
And in the new look, will all the different workspace toolchain settings be displayed in this page, if the workspace contains many different toolchain path settings, will this page display them all?
Thanks
from eclipse-plugins.
The screenshots you quoted are for the project properties - this is the GUI you get when you right-click on a project and select properties.
However I see a glaring error here - the description text at the top is wrong (looks like a long ago copy and paste error or perhaps a behaviour change that never got updated in the description).
The top text currently reads:
It probably should read:
ProjectToolchainsPathsPropertiesPage_description=\
Configure the location where various GNU Arm toolchains \
used by this project are installed. \
Values entered here are stored in the project \
and override the workspace or global paths. \
\n
from eclipse-plugins.
It looks clear than before, in this screenshot the Global and Workspace are merged into one?
No - there continue to be three levels to store settings:
- Global - i.e. in the Eclipse installation location - shown in screenshot https://user-images.githubusercontent.com/679236/248949120-1d9d4c59-b8bd-4599-8613-b1802a7bd07e.png
- Workspace - no screenshot available right now
- Project - shown in screenshot https://user-images.githubusercontent.com/679236/248967359-d4daf247-f9a3-45b2-a4c8-f41de694bf08.png
from eclipse-plugins.
Ok, got it, thanks for your explaination.
Some questions list below:
For the global preference, is it used to set the default toolchain path for each toolchain? If yes, but according to the screenshot, it display settings used by different projects?
For the workspace preference, is it used to set the default toolchain path for each toolchain and overwrite the settings in global settings?
from eclipse-plugins.
Thanks @jonahgraham , your explaination make me more clear now, especially this part, could you add some notices in the virtual group to let user know this design.
The current UI allows you to set the path used by the toolchain, but to keep the UI from being very big, only the toolchains in use in your workspace are displayed here.
And for this new UI look, as screenshot below:
If in the workspace, it contains many projects, eg. 20 or more, this red marked placed may display a very very long text, is there any prevention idea here to avoid long text displayed here.
Thanks
from eclipse-plugins.
I'll figure out what additional text I can add to address your comments.
As for long lists, the text does wrap so that should resolve that part of the issue. I can provide a screenshot of what that looks like tomorrow if helpful.
from eclipse-plugins.
If saved in eclipse ide installation, if user don't have permission to write this eclipse ide installation location, how will it be handled?
That's just another good reason why you should not install Eclipse in a system folder with administrative permissions.
Install it in your home folder; you'll have no problems with global preferences, and you'll also be able update it at your will.
Even more, if you are working on multiple projects requiring different sets of plug-ins, install multiple Eclipse instances, one for each project. This will allow you to update each Eclipse without possibly breaking other projects using different plug-ins.
from eclipse-plugins.
Here are the screenshots to go with my latest update, key changes are adding/fixing some of the wording in description areas and I added links from project settings back to workspace/global settings.
[... redundant content removed. please do not reply by email to these messages... ]
See the above screenshots that show wrapping on the long project and config names.@fanghuaqi - does that seem clearer now to users?
Hi @jonahgraham @ilg-ul , thanks for the great work to make this looks much clear.
from eclipse-plugins.
Hi @ilg-ul , is there any timeline on this new release will be release? Thanks!
from eclipse-plugins.
... timeline on this new release ...
tentatively the end of the week, there are a few small issues to fix.
from eclipse-plugins.
Thanks for the info
from eclipse-plugins.
@fanghuaqi perhaps you can try the CI build to make sure that the development branch works as you expect in your environment before the release. The develop branch is autobuilt and published to https://download.eclipse.org/embed-cdt/builds/develop/p2/
from eclipse-plugins.
Hi @jonahgraham , I tried to install the new plugins in windows 11 of eclispe cdt 2023.03, but it didn't change the look.
Thanks
Huaqi
from eclipse-plugins.
Sorry about that - turns out the the CI build was not running automatically. I have changed a config parameter and checked the build has run - try https://download.eclipse.org/embed-cdt/builds/develop/p2/ again please.
from eclipse-plugins.
I tried it, it looks okay to me now.
from eclipse-plugins.
That's great to hear. Thanks @fanghuaqi
from eclipse-plugins.
Related Issues (20)
- Fix the SiFive RISC-V template HOT 2
- Remove references to Navigator view to support 2023-06 HOT 21
- The disassembly view dosen't show opcode HOT 17
- CMSIS Packs - Read error dialog Abort button has the same effect as Ignore HOT 1
- CMSIS Packs - nomenclature is inconsistent and a little confusing HOT 6
- Support enhanced GNU Tool Factory capabilities introduced in CDT 11.2.0 HOT 5
- Feature request: add option to connect to a different OpenOCD port HOT 40
- openocd plugin has dependency on managedPlugin which is not given in the manifest file HOT 13
- Feature request: add live watch support when debug in eclipse ide HOT 12
- Review the logic for setting the PATH with preferXpacksBin HOT 7
- GDB fails when workspace path has extended ASCII characters HOT 8
- 'xpm' is not recognized as an internal or external command HOT 1
- Is it possible to set the timeout when gdb server (such as openocd) starts? HOT 1
- Install CMSIS Pack from local .pack file? HOT 4
- How to pass -Wl,--start-group -lc_nano -lgcc -Wl,--end-group HOT 1
- Feature request: Add a checkbox to enable group linked library HOT 25
- embed-CDT cannot start openocd normally HOT 2
- make: unknown option -- jobserver-auth=gmake_semaphore_172 when using post-build steps HOT 16
- "Interrupt failed" occurred when using GDB OpenOCD Debugging HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eclipse-plugins.