paint-brush
Using the CodeWithMe Plugin in Android Projects and Troubleshooting Connectivity Issuesby@leonidivankin
1,527 reads
1,527 reads

Using the CodeWithMe Plugin in Android Projects and Troubleshooting Connectivity Issues

by Leonid IvankinSeptember 15th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The CodeWithMe plugin can be very useful for pair programming, teaching and working together to solve problems in a project. Android Studio does not offer to buy the plugin, it just does not show it in the list of paid plugins in the app. The plugin is free to download on the marketplace site, but it is not available to buy in Android Studio. It is possible to connect the plugin manually, but the plugin is incompatible with versions of Android Studio and the plugin. The full version of the plugin will only be available for the trial version.
featured image - Using the CodeWithMe Plugin in Android Projects and Troubleshooting Connectivity Issues
Leonid Ivankin HackerNoon profile picture

Introduction

Android Studio has an underrated, in my opinion, possibility to share a project using the CodeWithMe plugin. This plugin can be very useful for:

  1. Pair programming.
  2. Teaching.
  3. Working together to solve problems in a project.

Connecting via Marketplace

To start using it, go to File -> Settings -> Plugins. Then go to the Marketplace tab and enter “code with me**”**. But this is the ideal case. As you know, life is not perfect.

When I tried to do this, I was immediately met with installation problems:


As you can see from the screenshot, entering a search query did not find anything. Then I tried to enter the query without spaces, but also to no avail:


In trying to solve this problem, I came across a variety of issues on YouTrack and questions on StackOverflow. https://youtrack.jetbrains.com/issue/IDEA-269919/Code-With-Me-plugin-unavailable-for-latest-build https://youtrack.jetbrains.com/issue/CWM-3933 https://stackoverflow.com/questions/30617408/how-to-install-plugin-in-android-studio There were a total of 3 problems with connecting the plugin via Marketplace:

  • bugs in Android Studio itself;
  • incompatible versions of Android Studio and the plugin;
  • difficulties with connecting paid plugins in Android Studio.


By the way - the plugin is paid. However, Android Studio does not offer to buy it, it just does not show it in the list.

In general, to connect the plugin through Marketplace I failed. If anyone knows the solution, then write in the comments.

Manual connection

As you know, for such cases Android Studio offers a workaround - to connect manually. To do this, you need to follow the same path: File -> Settings -> Plugins. Then click on the gear icon and select Install Plugin from Disk.


Naturally, it is necessary to download the plugin on the marketplace site in advance.

And then - select the necessary file on the disk:


However, there was a surprise waiting for me here, too - the latest version of the plugin turned out to be incompatible with Android Studio:


Perhaps that was the answer as to why it wasn't in the Marketplace. This got me thinking that I needed to update my version of Android Studio since I didn't have the latest one:


I upgraded to the latest:


This did not solve the problem.

But it gave me the idea that I need to find a compatible version with Android Studio. By the way, I tried installing it in Intellij Idea, the same problems arise there.

After some time I managed to find the necessary version, for this on the marketplace site you need to put the following settings:


Only the installation of this version of the plugin went:


By the way, only the trial version of the plugin is installed. Will the full version be available for Android Studio? I still haven't found an answer.

Setting up the Connection

After installing the plugin, the following items will appear. An icon near the start button and in the Tools menu:


And also an item in the settings:


They are how the control takes place.


To start working, it is necessary to give permission. To do this, click on the icon next to the start button:


A window will appear with a choice of actions:


Select the first option: Enable Access and Copy Invitation Link. Then there will be a window with the rules that you need to agree with. Then you will see a window where you can select the connection options:


Despite the scary red message, select Edit files and click Enable Access.


After that, you will be given access to edit the project and you can work on it together anywhere in the world. But you can also work on the current computer. This is what we will try to do. Click again on the icon and select Join Another IDE as a Participant and paste the copied link:


To copy the link, you need to click on the first item on this Copy Invitation Link sheet.

The same project opens:


Note that after you have done this, a green dot appears near the icon, indicating that the status is active:

Also at the bottom of the studio appeared data on the speed of data transmission:

Using the plugin

The plugin supports the same functions as working in a normal studio. For example, if you highlight text in a project, it will also be highlighted in your colleague. And vice versa:

Works code completion as in a normal project:

However, you can feel the slowdown. You can see it in the video.

If you want to stop access, you have to select Turn Access Off and Disconnect All:


It is worth noting the limited capabilities of the participants connected to the project. For example, compare the File tab in the main project and CodeWithMe:


The additional features of CodeWithMe are well described in these resources:

https://www.jetbrains.com/code-with-me/

https://blog.jetbrains.com/blog/2022/09/09/code-with-me-kotlin/

Getting started with Code With Me | IntelliJ IDEA

https://plugins.jetbrains.com/plugin/14896-code-with-me/versions

In particular, you can connect audio and video communication there.

Conclusion

CodeWithMe seems to me to be a rather useful plugin. Of course, it is not for daily use, but it is needed in rare cases of development. It should be considered as a substitute for Zoom and Skype, where you can share the screen, or Teams, where you can control the cursor. Or as a cut version of TeamViewer for the needs of development. In some situations, it can make communication much easier.


If you notice any bugs or know how to solve problems with the connection through the Marketplace, then write in the comments.