Comments (3)
Does this plugin require that I launch clion from a shell where i've already sourced
/opt/ros/<ros_version>
?
The plugin does not require you to start CLion from source, CLion technically requires that. The plugin will work fine without sourcing, though some of the auto-detection is lost, meaning you need to put in the "ros path" on your own.
CLion needs the sourcing since the sourcing changes CMAKE_PREFIX_PATH. You can add it manually in the CMake settings and it should work fine.
And if it is, is this something the plugin could somehow do?
This is something I am planning on implementing
This page says that you use the
.catkin_workspace
file to find the path of the catkin workspace. this only works incatkin_make
environments. Incatkin_tools
(what most users, companies, major ros orgs use), there is a.catkin_tools
directory instead.
.catkin_workspace is just a simple placeholder that tells the plugin that this is the root workspace. The plugin only uses this for detecting the root directory. As far as I am aware, .catkin_tools does the same thing. It should not be hard to add .catkin_tools to the detector. Feel free to add a feature request if you would like this feature
I added a fake top level cmake lists to include subdirectories of my packages/metapackages. Is it possible to have the plugin generate and maintain this behind the scenes?(feature suggestion)
Again, this is something I want to implement in the future.
I'm also not sure if I misconfigured your plugin because I don't think functionality is working for me. I can see things like .msg files getting a custom icon, but if I CTRL+Click a license(MIT) in a license tag in a package xml, I just get a "Cannot find declaration to go to". I see the ros settings page and have set the correct ros path and workspace.
If you are Ctrl+Clicking on a license value, your configurations should not matter. I also need more details, like the plugin version, and possibly a screenshot. I reccomend opening a bug report so we can give this problem more focus.
Happy to see someone actively working on better ros support for clion!
😀
And I am happy to see people actively interacting with it
from ros-integrate.
Hi @wmmc88 ,
Is there somewhere that you list all the currently supported features?
If you are looking for a technical feature list, you can see it in the changelog, either on the JetBrains Plugin Repository under "What's New" or as the raw changelog file.
Less technical documentation is available on the wiki but there is a lot missing from it. If you need documentation on a specific feature or concept, let me know.
what filetypes there's parsing for
Currently, the following files get extra functionality by the plugin:
- "Message files"
.msg
,.srv
,.action
- "Manifest file"
package.xml
- Not really a file, but you can see conditions in
.condition
files.
what ros things the plugins support
I suggest having a look at this wiki page, it contains a somewhat simplified feature list of the ROS things you get support for. Again, a more comprehensive list can be found in the changelog.
Does this plugin currently support the build process
Currently the plugin does not support custom build processes
or is that something that needs to be done outside of Clion?
CLion natively supports CMake, so it supports some aspect of the ROS build process on its own. You can load one package at a time by loading a specific CMakeLists.txt file or load several by having a more top-level CMakeLists.txt file that has add_subdirectory
to each package you want to index. The normal top-level CMakeLists.txt found in ROS1 catkin workspaces does this job too, though it does not do isolation
If it does, is it compatible with
catkin_tools
or is it only compatible withcatkin_make
?
From my tests, only catkin_make
(not even catkin_make_isolated
) fully work within the context of CLion since they run multiple CMake operations.
However, you can use the "second toplevel" strategy I showed above to basically have two indexing strategies. This is how I managed to work with isolation. It could be supported in the future, however. This is something I plan to tackle in the future.
Have you seen https://github.com/paoloach/ROS-JetBrains-Plugin and https://github.com/duckietown/hatchery? How will this plugin differ from those? What featureset will it have compared to those?
I don't know exactly what features those plugins offer, but the idea is that my plugin will cover features the users of this plugin need for ROS development.
For example, you asked a question about a list of features, so I added a new wiki page with a list of features.
Therefore, the difference between this plugin to other plugins is up to those who post issues here.
from ros-integrate.
Thanks for making me aware of the wiki! Answered a lot of my questions.
Does this plugin require that I launch clion from a shell where i've already sourced `/opt/ros/<ros_version>'? And if it is, is this something the plugin could somehow do?
This page says that you use the .catkin_workspace
file to find the path of the catkin workspace. this only works in catkin_make environments. In catkin_tools
(what most users, companies, major ros orgs use), there is a .catkin_tools
directory instead.
I added a fake top level cmake lists to include subdirectories of my packages/metapackages. Is it possible to have the plugin generate and maintain this behind the scenes?(feature suggestion)
I'm also not sure if I misconfigured your plugin because I don't think functionality is working for me. I can see things like .msg files getting a custom icon, but if I CTRL+Click a license(MIT) in a license tag in a package xml, I just get a "Cannot find declaration to go to". I see the ros settings page and have set the correct ros path and workspace.
Happy to see someone actively working on better ros support for clion!
from ros-integrate.
Related Issues (20)
- ConcurrentModification on CLion 2021.1 EAP HOT 1
- Auto-configuring CMake build and devel paths HOT 1
- Ignore assigned but unused error for subscriptions and service servers HOT 1
- ArrayIndexOutOfBoundsException on each move of text cursor HOT 3
- Launch file type support
- Exception in plugin ROS Support (0.1.6) HOT 1
- CMake integration - external plugin or built-in support? HOT 2
- Unable to save plugin settings: The plugin ros-integrate failed to save settings and has been disabled. Please restart CLion HOT 4
- Plugin crashes with ArrayIndexOutOfBoundsException HOT 2
- Navigation to linked files in Xacro & Launch files
- CMake - Base PSI support for PyCharm and IntelliJ HOT 1
- NullPointerException in ROSIndexChangeListener on pycharm 2021.3.2 HOT 4
- Advanced "Home" CMake Highlighting
- CMake: CLion-IntelliJ parity
- Broken in CLion 2022.3.2 HOT 15
- startup error when using with JetBrains remote development HOT 2
- More usage info? HOT 4
- Basic ROS-CMake interfacing
- Broken in CLion 2023.1 HOT 14
- Clion/CMakeLanguage detection not working in recent clion versions HOT 2
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 ros-integrate.