Coder Social home page Coder Social logo

zzztheia-ide-skill's Introduction

THEIA IDE

Installs and setup THEIA IDE locally on your device. Real VS Code experience.

About

This skill installs Theia IDE on your Mycroft device. This is an easy way to make and edit skills with integratio to Github, and tools like mycroft-msm and mycroft-msk directly from the integrated shell.

Theia provides Microsoft VS Code experience in the browser.

New in this release

  • Installer rewrite so picroft is downloading precompiled package and prepaired for other precompiled packages for other platforms. Installer wil always install latest Theia-for-Mycroft from https://github.com/andlo/theia-for-mycroft/
  • Installer Builds and compile on systems where there isnt precompiled package for if system has more than 4 Gb memmory.
  • No more support for Mark_1 as debian jessie isnt supported and theia cant build properly.
  • Added workspace setting on home.mycroft.at. Default to skills directory.
  • Debug is working by using PTVSD, but requere remote-debug skill to activate and inject debug adaptor https://github.com/andlo/remote-debug-skill and change settings for padatious single_thread. remote-debug skills is at time of writing on way to market and PR to makea setting for controling padatious single_thread is on its way to mycroft.core.

https://www.theia-ide.org/index.html

How to install

Install the skill from the market or say "Hey Mycroft, install I D E" or by running this command

mycroft-msm install https://github.com/andlo/theia-ide-skill.git

Skill will then install THEIA IDE. During installation if on Picroft a precompiled package is downloaded and extracted. On other platforms THEIA IDE is build and compiled during installation. The IDE can not run on Mark_1 and will not instal on low ressource systems - minimum is 4096 Mb ram.

After installation, there should be a log info saying "Installed THEIA IDE OK." and Mycroft should tell you by voice that he has installed the skill. You can then open a web-browser and go to http://device:3000 where device is the hostname of the device. If your Mycroft device is picroft the hostnale is picroft.

Skillsettings on https://home.mycroft.ai/ have one checkbox for setting autostart or not.

WARNING: There is not any password protection to access the IDE and the integrated terminal. So think twice before exposing your device to the internet.

Git integration

The IDE does not have a way to ask for your Github username and password. For seamless integration, you can set Git to remember your username and password by entering three git commands. This can be done in the terminal directly in the IDE.

git config --global credential.helper store
git config --global user.name "your_username"
git config --global user.password "your_password"

WARNING: Your git account passwords will be saved in plaintext format, in the global .gitconfig file, e.g in /home/pi/.gitconfig If this is undesirable to you, use an ssh key for your accounts instead.

Updating

For now, to update the THEIA IDE remove and reinstall this skill when new Theia-for-Mycroft releas is made. Look at https://github.com/andlo/theia-for-mycroft/releases

Examples

  • "Run IDE"
  • "End theia IDE"
  • "Restart IDE"

Credits

Andreas Lorensen (@andlo)

Licensing

This skill it self is licensed by GNU GENERAL PUBLIC LICENSE Version 3 - https://github.com/andlo/theia-ide-skill/blob/master/LICENSE

The skill will install other software which by them self have individualy and different licenses.

Category

Productivity

Tags

#theia #IDE #editor #dev #vscode

zzztheia-ide-skill's People

Contributors

andlo avatar kathyreid avatar forslund avatar

Stargazers

 avatar  avatar  avatar Valentine Stubbs avatar Will Murray avatar  avatar Steven Ferrer avatar Steve Penrod avatar Long Hoang avatar Peter Steenbergen avatar Dominik avatar Kevin Killingsworth avatar

Watchers

James Cloos avatar  avatar Steve Penrod avatar

zzztheia-ide-skill's Issues

error on install

Traceback (most recent call last):
  File "/tmp/pip-install-6j3ipsen/pyls/setup_utils/distribute_setup.py", line 143, in use_setuptools
    raise ImportError
ImportError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/pip-install-6j3ipsen/pyls/setup.py", line 31, in <module>
    main()
  File "/tmp/pip-install-6j3ipsen/pyls/setup.py", line 11, in main
    distribute_setup.use_setuptools()
  File "/tmp/pip-install-6j3ipsen/pyls/setup_utils/distribute_setup.py", line 145, in use_setuptools
    return _do_download(version, download_base, to_dir, download_delay)
  File "/tmp/pip-install-6j3ipsen/pyls/setup_utils/distribute_setup.py", line 124, in _do_download
    to_dir, download_delay)
  File "/tmp/pip-install-6j3ipsen/pyls/setup_utils/distribute_setup.py", line 193, in download_setuptools
    src = urlopen(url)
  File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.5/urllib/request.py", line 472, in open
    response = meth(req, response)
  File "/usr/lib/python3.5/urllib/request.py", line 582, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.5/urllib/request.py", line 510, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 590, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: SSL is required

voive commands and voice response

As Theia is running on a mycroft devie, there is posibility for voice interaction and responses.

But what could be good, fun or helpfull ?

Having Mycroft telling all errors from linting isnt that smat I think.

But maybe stuff like:
"Open volume-skill in IDE" - opens the skilldir as a workspace
"Deactivate skill" makes a skill deactiveted, so we can work on it whitout mycroft keeps saying there is an error in XXX skill.

l

Problems with CRLF at end of line instead of LF

To fix this for the moment copy .editorconfig from files dolder in skill folder to /opt/mycroft/skills

The .editorconfig is the way to configure the Monaco-editor which is used by THEIA.

Better errorhandling in install

There is need for better erorhandling in the installation.

Right now it just call a installation script, and no matter how that goes the skill thinks it has done the installation. Some sort of error handling is needed.

  if self.settings.get('theia installed') is None:
            copy_tree(AppPath + '/files/', SafePath)
            os.system(SafePath + '/install.sh ' + SafePath +
                      ' >' + SafePath + '/install.log')
            # Some error checking would be fine here ;)
            self.log.info("THEIA IDE is installed and configured")
            self.settings['theia installed'] = 'True'

Precompiled packages and more platforms?

This issue originate from PR #19
For wich platforms should there be precompiled packages ?
I think picroft and mark_2 and maybe raspbian (arm)
I am not sure a precompiled package o a ubuntu will run on a fedora....Bur maybe this should be tested and if so then we could make packages for 32 and 64 bit linux.

do not want to start

warning @theia/cli > @theia/application-manager > less > request > hawk > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning @theia/cli > @theia/application-manager > less > request > hawk > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning @theia/cli > @theia/application-manager > less > request > hawk > cryptiles > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning @theia/cli > @theia/application-manager > less > request > hawk > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning @theia/cli > @theia/application-manager > less > request > hawk > boom > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning @theia/cli > @theia/application-manager > less > request > hawk > sntp > [email protected]: This version is no longer maintained. Please upgrade to the latest version.
warning @theia/cli > @theia/application-manager > webpack-cli > jscodeshift > [email protected]: Package no longer supported. Contact [email protected] for more info.
warning @theia/cli > @theia/application-manager > webpack-cli > webpack-addons > jscodeshift > [email protected]: Package no longer supported. Contact [email protected] for more info.

~~~~ion-manager > webpack-cli > webpack-addons > jscodeshift > [email protected]: ๐Ÿ™Œ  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update
~~~~ng @theia/cli > @theia/application-manager > css-loader > cssnano > postcss-merge-rules > [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
warning @theia/cli > @theia/application-manager > css-loader > cssnano > autoprefixer > [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
~~~~> @theia/application-manager > css-loader > cssnano > postcss-merge-rules > caniuse-api > [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
........
error An unexpected error occurred: "https://registry.yarnpkg.com/@theia/core/-/core-0.3.16.tgz: ESOCKETTIMEDOUT".
........
error Command "theia" not found.
12:20:45.133 - TheiaIde - INFO - THEIA IDE is installed and configured
12:20:45.134 - TheiaIde - INFO - Starting THEIA IDE
12:20:45.175 - mycroft.skills.core:load_skill:145 - INFO - Loaded theia-ide-skill.andlo
12:20:45.182 - mycroft.skills.core:load_skill:149 - INFO - First run of theia-ide-skill.andlo
..........
yarn run v1.12.3
error Command "theia" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Installing latest fails if old version has been installed earlier

as msm dont cleanup the safe folde under ~/.mycroft/skills/TheiaIde the installer thinks the skill is alreddy installed.

Proprose that skill installer make a better check if older contains old stuf and delet that.

as a workaround remove old skill - delete the folder and installl latest skill

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.