-
Notifications
You must be signed in to change notification settings - Fork 3k
Feature vscode #3915
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
Feature vscode #3915
Conversation
9977a34
to
1d925b3
Compare
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.
Looks nice. I look forward to seeing this on master.
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.
Is this now ready for integration?
tools/export/vscode/vscode.md
Outdated
@@ -0,0 +1,37 @@ | |||
# VSCode exporter | |||
Exporting for Microsoft Visual Studio code works on Windows, Mac and Linux but will expect a few system dependnecies to be installed. The exporter creates task files and launch files that make it easy to compile and debug within the IDE. Building is done using the created makefile. Debugging with GDB and pyOCD |
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.
dependnecies to be installed.
dependencies
@@ -0,0 +1,80 @@ | |||
from os.path import join, exists, realpath, relpath, basename, isfile, splitext |
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.
missing license header on top of the file
49311d9
to
356f60e
Compare
@0xc0170 Let's see what the MS people come back with around the two issues raised. |
restart uvisor |
Ping again, @0xc0170 @theotherjimmy |
What do you need from me? I can't merge PRs and I approved this one. |
@theotherjimmy Then, ping @sg- again :p |
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.
A few questions and some docs work but looking good. Let me know what parts I can help with.
"debugServerPath": "pyocd-gdbserver" | ||
}, | ||
"windows": { | ||
"preLaunchTask": "make.exe", |
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.
Why do we need to prelaunch and run make on windows only?
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.
We don't. There's a global prelaunchTask for make
which runs on macOS and Linux.
"windows": { | ||
"preLaunchTask": "make.exe", | ||
"MIMode": "gdb", | ||
"MIDebuggerPath": "C:\\Program Files (x86)\\GNU Tools ARM Embedded\\4.9 2015q3\\bin\\arm-none-eabi-gdb.exe", |
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.
Though it was ok to just use the executable name. Why the path here?
}, | ||
"osx": { | ||
"MIMode": "gdb", | ||
"MIDebuggerPath": "/usr/local/bin/arm-none-eabi-gdb", |
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.
Though it was ok to just use the executable name. Why the path here?
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.
@sg- Only for debugServerPath
unfortunately... See this comment.
}, | ||
"linux": { | ||
"MIMode": "gdb", | ||
"MIDebuggerPath": "/usr/bin/arm-none-eabi-gdb", |
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.
Though it was ok to just use the executable name. Why the path here?
"MIMode": "gdb", | ||
"MIDebuggerPath": "C:\\Program Files (x86)\\GNU Tools ARM Embedded\\4.9 2015q3\\bin\\arm-none-eabi-gdb.exe", | ||
"debugServerPath": "pyocd-gdbserver.exe", | ||
"setupCommands": [ |
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.
Does this override global setup commands or should they be moved under Mac / Linux?
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.
Yes, this overrides the global setupCommands
section. So only applies on Windows.
tools/export/vscode/vscode.md
Outdated
@@ -0,0 +1,40 @@ | |||
# VSCode exporter |
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.
Lets get rid of this and have a proper docs page in the handbook under exporters
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.
Done.
f21aa63
to
c53c9db
Compare
c53c9db
to
336e036
Compare
@sg- Rebased against master. Docs are in the handbook now: https://docs.mbed.com/docs/mbed-os-handbook/en/5.4/debugging/vscode/ . |
The handbook makes me sad. I think this is what every exporter page should look like. I'd never look under debugging to find this |
restarting Cam-CI because it failed due to a java traceback. We did not write java stuff. |
Looking great! Other than moving the docs under the category exporter 👍 We should also consider what is the default debugPath should be. Reasonable options seem to be:
Thoughts? |
Tears in my eyes! This is gonna be in 5.4.5 ? |
I can't see why not. @adbridge Could you check the release version for me? |
Thanks for the new exporter @janjongboom ! |
@janjongboom mbed-cli now supports flashing https://github.com/ARMmbed/mbed-cli/releases/tag/1.1.0 This maybe an option for flashing as it will support all boards and not be restricted to pyOCD support (other than the debug ability)... Just a thought I might try out unless you beat me to it :) |
@theotherjimmy You were the one that marked it to go to 5.5.0 ..... |
wait what did I mark for 5.5.0? |
This pr |
is 5.4.5.... |
@sg- Yeah, but the feature now does not require CLI at all. |
I'm with @janjongboom on this one. Let's keep the exporter free of calls to mbed CLI. Maybe @sg- was suggesting that you use the same backend? |
beg your pardon i meant 5.4.5 , it's Friday afternoon here and getting close to home time :) |
That's cool. Now that we're on the same page, I don't see what the surprise is about. |
I just wanted you to make sure that it was allowed to go to 5.4.5. |
@janjongboom We have turned off the VScode pages on the docs sight until this gets into a release. |
It looks like it is only adding an extra exporter rather than changing any interfaces, so that would make it eligible for a patch release (also assuming it doesn't rely on any other changes that have been bumped to 5.5.0, of which 2 had to be done today).... |
Yeah. I don't think it is rebased/based on any changes that would cause patch problems come release time. |
@janjongboom I didn't quite understand your comment about which release this was scheduled for? Where you hoping for it to make 5.4.4 ? If so, it just missed it due to it being labeled for 5.4.5. But that will be produced in 2 weeks time.... |
If this does it also needs docs rebuilt for the release and tools deployed. |
If this has been released, when will the docs be re-enabled? |
Thanks for the reminder @networkfusion. @AnotherButler Let's turn the docks back on. |
@theotherjimmy @AnotherButler thanks, please let me know the link when it happens :-) |
@theotherjimmy Can we also make sure it's enabled in online compiler? |
It's not yet. I can push up the 5.4.5 tools release and let you know when it's up. |
@theotherjimmy Cool, please ping me when it's done. I have a blog post ready. |
@networkfusion @theotherjimmy The docs are live. |
…lwip_broadcast Release mbed OS 5.4.5 and mbed lib v142 Ports for Upcoming Targets Fixes and Changes 4059: [Silicon Labs] Rename targets ARMmbed#4059 4115: Support for Qt Creator Generic project export and associated Makefile ARMmbed#4115 3915: Feature vscode ARMmbed#3915 4205: tests: race test - add not supported for single threaded env ARMmbed#4205 4187: [NCS36510] Reduce default heap size allocated by IAR to 1/4 of RAM ARMmbed#4187 4145: test - add nanostack to examples.json file ARMmbed#4145 4093: Update.py: New feature - update a branch instead of a fork, plus general improvements. ARMmbed#4093 4225: fixed missing device_name for xDot and removed progen ARMmbed#4225 4243: Config: config header file should contain new line ARMmbed#4243 4251: Fix C++11 build error w/ u-blox EVK-ODIN-W2 ARMmbed#4251 4236: STM32 Fixed warning related to __packed redefinition ARMmbed#4236 4224: Add `mbed new .` output to export ARMmbed#4224 4190: LPC4088: Enable LWIP feature ARMmbed#4190 4136: Error when bootloader is specified but does not exist ARMmbed#4136 3881: Remove debug links to printf/exit in NDEBUG builds ARMmbed#3881 4260: Inherit Xadow M0 target from LPC11U35_501 ARMmbed#4260 4249: Add consistent button names across targets ARMmbed#4249 4254: Removed unused variable in TARGET_NXP/lpc17_emac.c ARMmbed#4254
Is it a correct assessment that the docs have been updated (including instructions for the online compiler), but the online compiler has not been updated to >= 5.4.5 yet? |
Yes. @immunda Could your respond here too when the tools update goes live? |
Thanks for the quick response! I'll keep an eye for when the update goes live online as well. |
Adds the Visual Studio Code exporter. See also #3568 and #3679.
Things that are a bit broken