Giter Site home page Giter Site logo

ms-iot / vscode-ros Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ajshort/vscode-ros

388.0 12.0 93.0 12.84 MB

Visual Studio Code extension for Robot Operating System (ROS) development

Home Page: https://marketplace.visualstudio.com/items?itemName=ms-iot.vscode-ros

License: MIT License

CSS 0.25% TypeScript 93.18% HTML 2.09% Python 2.94% JavaScript 1.53%
ros

vscode-ros's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-ros's Issues

[feature] add catkin_make_isolated task provider

Is this feature request related to a problem?
there is currently no support for workspaces built with (or needs to be built with) catkin_make_isolated

What kind of solution would be helpful?
add task provider for catkin_make_isolated build and test tasks

[feature] add yaml language support for .rosinstall and .repos files

Is this feature request related to a problem?
.rosinstall files are very specific to the ROS build system yet get very minimal YAML language support since .rosinstall is not a recognized extension for YAML.

What kind of solution would be helpful?
this extension could create association between the .rosinstall extension and the YAML language to utilize VS Code's built-in language support for YAML

[feature] Debugging and breakpoints support

Is this feature request related to a problem?
One of the most important features of an IDE is the debugging tools. A breakpoint and a stack trace would save few hours of writing print statements.

What kind of solution would be helpful?
Similar debugging functionality to any IDE. Clion is a good example, just press the bug button and it simply stops on breakpoints. Sometimes you have to do manual setup of input arguments to the node though!
It would be great to have support for roslaunch debugging too, however support for rosrun or directly invoking the node with the right arguments and environment variables should be good.

[bug] URDF preview sometimes doesn't load up the model

Repro Steps:

  1. Active the vscode-ros extension.
  2. Open a workspace which are built before by catkin_make\catkin_make_isolated.
  3. Open up an xacro file in the editor.
  4. Run URDF preview command.
  5. Wait for URDF window open.

Expected:
I can see the robot model loaded and rendered in the preview window.

Actual:
Only the window and the grid shows up but no robot model is rendered there.

Workaround:
Close the window and run URDF preview command again.

[bug] cpp intellisense not working

general information
Windows
0.4.5

describe the bug (actual behavior)
intellisense not working due to import error

additional context
path like c:\opt\rosdeps\include needs to be added so that dependencies can be looked up

[bug] Handle case when a xacro has a .urdf extension

describe the bug (actual behavior)
I have a standard xacro file to create an URDF (that unfortunately cannot be shared here).
It contains meshes on the .stl format for visuals, and some gazebo tags.

Running ROS: Preview URDF show a partial model.
Running xacro manually, and previewing the resulting URDF displays correctly.

expected behavior
The full model should be rendered.

screenshots
Rendering the xacro file :
image

Rendering the resulting URDF after manual conversion :
image

[bug] Could not source the workspace space setup file.

general information
<Ubuntu 16.04, ROS Kinetic>
<Version of the VS Code 1.34.0>
<Version of the plugin: 0.4.2>

describe the bug (actual behavior)
When I start VS Code I get message: Could not source the workspace space setup file. Not sure if this is a bug, but I have no idea how to solve it.

steps to reproduce

  1. source system and local ros enviroment in bash
  2. run code in the same bash window

expected behavior
No warning/error should be seen.

screenshots
Screenshot from 2019-06-03 15-17-42

additional context
<any additional information could go here>

[bug] undefined is propagated to rosrun when you cancel the operation.

general information
0.4.4 from CI build.

steps to reproduce

  1. Ctrl+P to open the command menu.
  2. Type >ROS: and select the entry for rosrun
  3. Select a package.
  4. Select a executable.
  5. Press ESC multiple times until the operation is canceled.

expected behavior
Don't run anything, but it runs the rosrun with undefined in the arguments instead.

[bug] ROS Core monitor has illegible UI

general information
Windows 10
0.4.5

describe the bug (actual behavior)
image

  1. hard to read the title bar
  2. and when there are multiple nodes for 1 topic, hard to read other nodes than the first one

steps to reproduce
open ROS Core monitor with ROS: Show Core Status

additional context
the info in the monitor might be better formatted

[feature] Support 'skipping files' C++ debugging feature

what is needed
Allow debugger skipping certain header files

why is it needed
"skipFiles" is not support under ros: launch configuration. I tried to put "skipFiles" in a ros: launch configuration in launch.json file, however I was told it is not supported.

I want to skip boost, and c++ bits, so something like below
"/usr/include/boost/*.hpp", "/usr/include/gtest/*.h", "/usr/include/eigen3/Eigen/*.h", "/usr/include/c++/5/bits/*.h", "/usr/include/c++/5.4.0/bits/*.h"

Enhancement: Add documentation about debugging ROS Nodes

It would be good if we created documentation about building nodes in a way that allows a debugger to be attached, as well as documentation about how to attach a debugger.

Some things to consider:

  • Documentation about adding a wait for debugger to the node source. quick summary is:
    • add #include "windows.h" to the node source code
    • add the following lines right at the start of the main() routine:
      while (!IsDebuggerPresent())
      Sleep(100);
      
  • Documentation about starting the node, and then how to Attach VS to it:
    • rebuilding node with catkin_make
    • info on setting breakpoints in VS
    • info and screenshots of attaching VS to a running process (such as ensuring native debugging is selected)

[feature] ROS Launch Debugger & substituteVariables Support

In vscode, there is a AbstractVariableResolverService to help dynamically generate launch\attach request at runtime by using abstract variables. For example, ${file} is replaced by the active open file path. This ability enables that developers can define a generic ROS launch task and simply go to the editor to open roslaunch file and press F5 to debug.

BTW, currently we hooked our logic on the resolveDebugConfiguration and the code path didn't get a chance to run AbstractVariableResolverService for the variables resolving.

https://github.com/microsoft/vscode/blob/4c45266943228286126e1ad9f840851a0cde594d/src/vs/workbench/contrib/debug/browser/debugService.ts#L369

[feature] bootstrap an empty workspace from .rosinstall file

It would be great to enable the follow workflow:

  1. Open command prompt.
  2. Source toolchain & ROS environment when needed.
  3. Create a directory for our workspace to bootstrap & change directory there.
  4. Run vscode.
  5. Add an abc.rosinstall with repositories to checkout.
  6. Magic happens!
  7. Now you have everything clone locally and you can do ctrl+shift+b to build this workspace.

[bug] Unable to automatically create launch.json when add ROS debug configurations

When no launch.json under .vscode for the active workspace and developers try to add a ROS debug configuration, the vscode shows a error message:

Unable to create 'launch.json' file inside the '.vscode' folder (nothing returned from DebugConfigurationProvider.provideDebugConfigurations).

Other debug configurations (for example, cpptools) will generate launch.json silently instead.

[bug] ROS environment does not get updated after setup.bat gets changed

general information
Windows 10
0.5.0

describe the bug (actual behavior)
after workspace gets rebuild, the ROS environment sourced in the extension does not get updated

steps to reproduce
open workspace
build a new project

expected behavior
ROS environment should get updated whenever setup.bat is changed

additional context
listener should be added to file handler for setup file

[feature] A method to provision what build tool to use for the first time

In current ROS extension user manual, it states this requirement:

You must build the catkin workspace at least once before the extension will recognise it.

We should have a way to manually provision what build tool to use for a empty (or not yet compiled) project, which I believe a better first-time user experience.

[bug] Catkin build tasks not working

general information
Ubuntu 18.04; using catkin tools, vscode 1.37.1.

what is the bug
When running Configure Default Build Task and then selecting catkin: make, a new entry is added to tasks.json:

{
    "type": "catkin",
    "problemMatcher": [
        "$catkin-gcc"
    ],
    "group": {
        "kind": "build",
        "isDefault": true
    }
}

For the type, vscode complains about "Value is not accepted". For "problemMatcher: "Incorrect type. Expected object".

expected behavior
The creation of a valid and working catkin build task

Roslaunch files not found when build with catkin_make

Setup a catkin workspace
Create a package test_package which contains a launch file in a launch directory.

From the terminal, build:

catkin_make
devel\setup.bat

attempt to use a roslaunch file with vscode

Result:

Command failed: where /r "C:\ws\test_ws\devel\share\test_package" *.launch
INFO: Could not find files for the given pattern(s).

Ros python debugger gives timeout

general information
Ubuntu: 18.04
Plugin v: 0.6.0

what is the bug
The python ROS debugger keeps giving me the following timeout error after 1 min of inactivity while debugging:

Exception in thread ptvsd.Server:
Traceback (most recent call last):
  File "/home/ricks/miniconda3/envs/py2_auto_grasp/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/home/ricks/miniconda3/envs/py2_auto_grasp/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/ricks/miniconda3/envs/py2_auto_grasp/lib/python2.7/site-packages/ptvsd/wrapper.py", line 536, in process_messages
    raise exc
timeout: timed out

expected behavior
No timeout.

Geeting invalid macro error after generating cmake cache in visual studio

Describe the bug
E0992 command-line error: invalid macro definition: =

To Reproduce
Steps to reproduce the behavior:
Open the workspace and generate cmake cache

image

image

Expected behavior
Getting intellisense and works fine

Environment information:

  • OS version: win10 1903
  • Chocolatey Versions: choco list --local-only

[bug] ros.updateCppProperties not working on Windows

general information
Windows
0.4.3

describe the bug (actual behavior)
ros.updateCppProperties does not add any local include path

expected behavior
local include paths get added to includeDir

additional context
packagePath for local packages and extension.baseDir had different path separator (/ and \), causing string comparison mismatch.

    // Get all packages within the workspace that have an include directory
    const filteredPackages = await utils.getPackages().then((packages: { [name: string]: string }) => {
        return Object.values(packages).filter((packagePath: string) => {
            return packagePath.startsWith(extension.baseDir);
        });
    });

possible fix:

  1. standardize packages' paths before comparison
  2. source packages' paths while processing local workspace (this might be better)

[feature] add docs how to install this addon from source?

I am new in VS Code and trying to set up the ROS plugin. As far as I see there are multiple ways.

First, I can install an old extension through Extension Marketplace from ajshort, but this project is not actively developed any more. I am not managing to build my packages...

Second, apperantly I could install from VSIX - link. I searched for *.vsix here, but I did not found any suitable file. Is this repository and *.vsix have some intersection or there is another way how I could install this extension?

Best, Andrej

[feature] Support zsh and zsh support wanted

ros.cerateTerminal auto source environment functions not properly in zsh shell. I think its still not supported to tell using the devel/setup.bash or devel/setup.zsh.
As I like both zsh and vscode-ros very much, I am pleased to hear that vscode-ros supports zsh ~~ I think there are many people agreeing with me.

[feature] vscode-ros not sourcing workspace

General information
OS version, Ubuntu? Windows: Ubuntu 18.04
Visual studio code version: 1.38.0-insider
Version of the plugin: 0.5.0
python environment: miniconda3 (py2.7)

what is the bug

When I try to use the rosrun debug function (F5 after roscore is started) nothing happens. Further when trying to debug the workspace devel/setup.bash is not sourced before debugging the python node. As a result, I can not import modules from other rospackages.

expected behaviour

Having the ability to debug the rosnode on ubuntu 18.04. Further I also expected the Plugin to source the devel/setup.bash file before starting the debugger.

Aditional info

I think this might be caused by the fact that I'm working in a conda environment since also when trying to run a rosnode using the ROS: Run a ROS executable (rosrun) I get the [rospack] Error: package 'panda_autograsp' not found error.

What I already tried
I tried setting "python.terminal.activateEnvironment": false in the settings.json. But now although the conda environment is not sourced the ROS application opens a new terminal every time when I try the ROS: Run a ROS executable (rosrun) command. As a result the sourced $PYTHONPATH is removed. This setting did, fortunately, enable me to debug my ROS nodes but not through the vs-code-ros extension.

[bug] The task [catkin_make, build] uses an undefined task type

When using build tasks, I will see the following errors from debug output:

The task [catkin_make, build] uses an undefined task type. The task will be ignored in the future.
extensionHostProcess.js:712
The task [catkin_make, run_tests] uses an undefined task type. The task will be ignored in the future.
extensionHostProcess.js:712
The task [catkin_make_isolated, build] uses an undefined task type. The task will be ignored in the future.
extensionHostProcess.js:712
The task [catkin_make_isolated, run_tests] uses an undefined task type. The task will be ignored in the future.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.