We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Is there any refactoring tools/plug-ins/add-ons (even 3rd party) available for Keil IDE?
or
Has anyone done this sort of things any other way (any standalone tools/applications)?
Many Thanks for your suggestions and help
To do what?
http://www.keil.com/appnotes/list/uvision.htm
www.c51.de/.../uVision2DLLs.php
Probably refactor source code, i.e. nothing to do with simulation/emulation of hardware or peripherials.
Yes, exactly I want to refactor the source code [preferably from within the IDE] by use of some tools.
As an example : some other IDEs (eg: Visual Studio 2003) support 3rd party plug-ins (eg: Visual AssistX) that you install and allow you to perform standard refactoring jobs such as enabling you to rename a variable and all of its references at the same time inside all your project files with a simple right-click on one of the references or instances. [Currently the available way to do the above operation in Keil IDE is: 1-do a "Find in files..." to see all of the codes containing the specified name
2-Check one-by-one whether the name is of the same scope and type that you want to refactor
As you see this way is more error-prone and more time consuming than with a refactoring tool]
I am very interested to know if Keil IDE supports such plug-ins and if so, how can I obtain them [I really need such tools now].
Many thanks for your information
I'm still not entirely sure what you're trying to do, but it sounds to me like this is purely a source-code exercise? If that is the case, then you don't really need the Keil tools at all, do you?
You could do this "refactoring" exercise in Visual Studio (or whatever) - you don't need the Keil tools until it comes to actually building the "refactored" project for the target, and simulating and/or debugging it...
You could take it a step further, and use VS as your IDE for the Keil compiler, linker, etc - instead of uVision...
Yes you are absolutely right, the total job is a source-code matter only. But as you know it would be great if after any refactoring I could instantly rebuild the project to ensure the changes were safely performed.(A refactoring tools embedded in Keil IDE would be ideal, however external refactoring tools will be still useful)
>> You could take it a step further, and use VS as your IDE for the Keil compiler, linker, etc - instead of uVision...
Wow, thanks for the suggestion, I didn't even think that is possible. It would be great if I could do the job this way [is there any instructions available on this?]
Many Thanks
"is there any instructions available on this?"
That would be in the Visual Studio documentaion, surely?
I am currently working on a project that uses MSVS with the GNU tools, so it is certainly possible...
Thanks, you helped me a lot.
Now this seems that calling my C51 compiler, linker and assembler from MSVS should be the solution to my problem. This way I will be able to use my Refactoring tools as before from within the MSVS IDE. [I hope my refactoring tools will support ANSI-C]
Thanks again.
Unless your refactoring tools relies on the browser database created when using the original M$ compiler to build the project.
It's not difficult to make your embedded code compilable with the MS (or any other) compiler - in fact, it's often beneficial to do so!
Of course, you're unlikely to get it to run meaningfully on a PC - but that's not the point.
See: www.8052.com/.../read.phtml
See http://www.eclipse.org/
Not using it myself (yet) but I know it contains refactoring tools, is able to run an external build process (we use an automatable GNU make script that calls the Keil compiler/linker/etc.) and you can make it parse the Keil output to quickly jump to errors/warnings. ClearCase integration, lots of options/plugins. It's in Java so I figured it would be slow but it isn't, just _large_. Nice Open Source IDE if you ask me! Seems to get alot more support from several (embedded) vendors as well.
Kind regards, Joost Leeuwesteijn
SlickEdit is yet another editor with built-in refactoring tools. It also integrates with your version control system, so it can automatically check out all files, make the changes, and check them back in.
Just about any modern programmer's editor can be configured to call the compiler, etc.
An "IDE" is really a thing of the 90s. It was necessary before you had multitasking operating systems. (Same goes for those "integrated office tools" that tried to put the spreadsheet and word processor all in one program.)
But there's really not much difference between having an editor and a build tool open on the desktop, or having a IDE with an editor window and a build window. Do you switch between two programs, or switch between two windows in the same program? [shrug]
Erik
How would you do the scope-sensitive search-&-replace?
I do not have the manual here in the hotel, but it can do things I do not even know about.
I have done searches/replaces that involved umpteen wildcards, umpteen fixed fields, went across sveral lines for the match and it worked. For global search (and replace) you can select virtually any definition of what nto include.
Thank you all for your participation in this question, I would like to provide a summary of what have been discussed up to now.
The refactoring approach for your source code would be one of these:
1- Use Keil's IDE (best way for small-to-medium amount of sourcecode, specially if you yourself have written most part of that code)
2- Use MS Visual C++ IDE.
3- Use Eclipse IDE's Integrated tools.
4- Use SlickEdit (Stand alone / Eclipse plug-in / MSVC plug-in)
5- Use Borland's CodeWright
I will need some time to evaluate these methods and see which one best satisfies my needs.
I found the suggestions made here very useful, I will be very happy to hear new ideas as well.
Many Thanks, Ali.