Extending Vagrant-Plugin / Remote Python-Interpreter for winrm/winrs

Hello at all,

i want to extend (wirte a new) plugin for using the Python-Remote-Interpreter with winrm / winrs instead of ssh. This would be very usefull for dealing with windows (boxes) as ssh and sftp are not available on windows by default. I'm familiar with winrm and Jetbrains-plugin develepoment. But I'm not sure where to start. What is a good "entry-point" to start coding? Using google I didn't found anything specific. In particular I have following questions:
     - Which Group / Action must be used, so my new plugin would be visible in the "Remot Interpreter" - Dialog?
     - As far as I understand from: https://github.com/JetBrains/intellij-community/tree/master/platform/platform-impl/src/com/intellij/remote
               and the vagrant.jar from the complied plugin, the some changes must be implemented in "com.intellij.remote" (winrm credentials, implement winrm-process, usw... ) I am not sure if this is a proper way...
     - Where do i add a winrs/winrm executution process / shell? so that instead of ssh winrs is used. Example:

                    Scenario: Execute C:\Exmaple\example.py on vm: vm1 with interpreter C:\Python\python.exe
                         When wiht ssh-config i would run: "ssh://user@vm1:22/C/Python/python.exe -u C:/Exmaple/example.py"
                         Then with winrm-config i would run: "winrs -r:vm1 -u:user C:\Python\python.exe -u C:\Exmaple\example.py"

Summarizing my idea:

I want to make it possible in PyCharm to use winrm/winrs as communicaiton-channel for remote-interpreter. For that i want to extend the "Add Remote Interpreter" - Dialog with an tab "winrm". By that point i know that there is no such thing like "sftp over winrm". So browsing the remote maschine for the python.exe would be difficult.
After that i want to extend the vagrant plugin in that form that the winrm - config could be derived from the vagrantfile.

After that vagrant and pycharm users with windows-boxes would have to deal with just one protocol.


Please sign in to leave a comment.