This IntelliJ platform plugin aims to alleviate this problem by directly uploading your code (Java files) to OnBot Java!
I do not have a lot of experience in making IntelliJ plugins. Per MIT license, I am not responsible for ANY loss of code. Though I have not encountered any problems (tested on WIFI Direct). Use this plugin at your own discretion!
- Make sure you have the latest version of Android Studio or IntelliJ.
Android Studio Hedgehog+ or IntelliJ (Any Edition) 2023+ Should Work
- Download the latest version of the plugin from the Releases Page.
- In your IntelliJ or Android Studio, go to the Welcome screen and then click on Plugins.
- Click on the cog and then select
Install Plugin from Disk...
.
- Locate the plugin and click
Ok
.
- Restart your IDE.
- Ensure you are connected to your Phone's or Control Hub's WIFI access point.
- In your Android project structure, right click on any Java file and select
FTC Uploader
.
- In the FTC Uploader menu, select
Upload
to upload the selected Java file.
Note
All files are uploaded with paths that are relative to the TeamCode/src/main/java
folder.
- If uploaded successfully, the Java file should be visible and buildable on OnBot Java.
a. In the FTC Uploader menu, select Build
to build all files in OnBot Java.
b. It is also possible to select the Upload and Build
option which will upload the selected file and build all files.
Note
Like OnBot Java, an output console will appear showing the status of the build.
The configuration for this plugin can be found in the IDE's settings under Tools
. Here you can set the ip address of the robot controller. You can also set the timeout of builds which are in milliseconds.
Important
If the plugin does not work, it may be because the ip address does not match in the configuration with the ip of the robot. Importantly, the ip address will vary depending on whether a Control Hub or phone is used.
Note
Timeout does not affect the actual timeout of the build process in the robot controller. It only affects how long the plugin waits for a response from the robot controller before displaying a timeout message.
It is possible to bind actions to the keyboard or mouse. This may be useful for repetitive actions such as Building. Simply double click any action to add a shortcut.