Как запустить код VS с OpenShift Dev Spaces

Red Hat OpenShift Dev Spaces — это собственный сервер среды разработки OpenShift . Только что выпущенная версия 3.0 позволяет вам выбрать IDE, которая будет включена в среду разработки . В настоящее время в состав OpenShift Dev Spaces входят редакторы Eclipse Theia и JetBrains IntelliJ IDEA .

А как насчет кода Visual Studio? Хотя мы планируем использовать его в качестве IDE по умолчанию в будущих версиях OpenShift Dev Spaces, код Visual Studio не включен в версию 3.0. Но Eclipse Che , который является исходным проектом для OpenShift Dev Spaces, уже включает его, и мы можем легко использовать его и в OpenShift Dev Spaces. Читайте дальше, чтобы узнать, как это работает.

Выберите Visual Studio Code в качестве редактора среды Dev Space.

Код Visual Studio включен в реестр подключаемых модулей Eclipse Che с идентификатором che-incubator/che-code/insiders. OpenShift Dev Spaces имеет собственный внутренний реестр плагинов, но может использовать и внешние реестры, включая онлайн-реестр плагинов Eclipse Che . Мы можем ссылаться на онлайн-реестр Che, используя файл в репозитории Git или через параметр URL. Мы кратко рассмотрим каждый подход.

Вариант 1: Добавление che-editor.yaml в репозиторий Git

Самый простой способ использовать код Visual Studio для данного проекта — создать ссылку на него из che-editor.yamlфайла в репозитории Git.

Создайте .cheпапку и добавьте che-editor.yamlв нее файл со следующим содержимым:

id: che-incubator/che-code/insiders
registryUrl: https://eclipse-che.github.io/che-plugin-registry/main/v3

В первой строке указывается идентификатор редактора. Вторая строка содержит URL-адрес реестра плагинов, в котором опубликован редактор. В этом примере мы используем онлайн-реестр плагинов Eclipse Che.

Просто зафиксируйте и отправьте изменение в репозиторий Git проекта (рис. 1). После отправки файла любая удаленная среда разработки OpenShift Dev Spaces, запущенная с использованием URL-адреса репозитория Git (поддерживаются GitHub, GitLab и Bitbucket), будет использовать Visual Studio Code в качестве редактора.

Добавление файла .che/che-editor.yaml в репозиторий git

Рисунок 1: Добавление файла .che/che-editor.yaml в репозиторий Git

Visual Studio Code — не единственный редактор, который можно использовать из онлайн-реестра плагинов Che. Вот список идентификаторов редакторов, на которые можно ссылаться из .che/che-editor.yaml:

редакторИдентификатор редактора в реестре плагинов Che
Код Visual Studioche-incubator/che-code/insiders
JetBrains IntelliJ ИДЕЯ

che-incubator/che-idea/next

che-incubator/che-idea/latest

JetBrains PyCharm

che-incubator/che-pycharm/next

che-incubator/che-pycharm/latest

Вариант 2: Использование че-редактора параметра URL

Не всегда возможно добавить файл .che/che-editor.yamlв репозиторий Git. В этих случаях по-прежнему можно указать редактор с помощью che-editorпараметра URL:

https://<devspaces-hostname>#<git-repository-url>?che-editor=<editor-definition-url>

Вот пример такого URL:

https://devspaces.apps.mloriedo-devworkspaces.devcluster.openshift.com/#https://github.com/devfile/api?che-editor=https://eclipse-che.github.io/che-plugin-registry/main/v3/plugins/che-incubator/che-code/insiders/devfile.yaml

Использование параметра URL-адреса che-editor

Рисунок 2: Использование параметра URL-адреса che-editor

Вот список доступных определений редакторов в реестре плагинов Che, которые можно использовать в che-editorпараметре URL:

редакторСсылка на определение реестра плагинов Che
Код Visual Studiodevfile.yaml
JetBrains IntelliJ ИДЕЯ

devfile.yaml (последняя версия)

devfile.yaml (следующая самая последняя версия)

JetBrains PyCharm

devfile.yaml (последняя версия)

devfile.yaml (следующая самая последняя версия)

Какие расширения Visual Studio Code доступны?

Бинарный код Visual Studio Code, включенный в реестр подключаемых модулей Che, предварительно настроен для использования онлайнового реестра Open VSX , который содержит тысячи расширений и принадлежит Eclipse Foundation. Эти расширения можно установить из Visual Studio Code, как обычно (рис. 3).

Просмотр и установка расширений Visual Studio Code из Open VSX

Рис. 3. Просмотр и установка расширений Visual Studio Code из Open VSX

Использование расширений Open VSX в сценариях с воздушным зазором в настоящее время не поддерживается. Мы работаем над автономной версией Open VSX Registry, которую можно использовать с OpenShift Dev Spaces для поддержки таких сред, но она не будет доступна до OpenShift Dev Spaces 3.3.

Поддерживается ли Visual Studio Code для OpenShift Dev Spaces?

Visual Studio Code в настоящее время является только проектом сообщества и поэтому не включен в поддержку клиентов OpenShift Dev Spaces. (Остальная часть вашей среды OpenShift Dev Spaces полностью поддерживается; только измененный редактор не будет полностью поддерживаться, если вы его установите.) Для этого изменения Red Hat предложит «коммерчески обоснованную» поддержку, что означает, что мы постараемся вам помочь. но не может дать такие же гарантии (с соглашениями об уровне обслуживания), которые мы даем для остальных пространств разработки OpenShift.

В чем разница между этим редактором и кодом Microsoft Visual Studio?

Редактор на основе кода Visual Studio, используемый Eclipse Che, называется che-code и представляет собой настройку Visual Studio Code с открытым исходным кодом (Code OSS). Это не форк Code OSS (исходный код включен в виде поддерева Git ), и это позволяет легко автоматически получать последние изменения из Code OSS несколько раз в день (в настоящее время каждые четыре часа).

Настройки che-codeвключают в себя:

  • Иконки и этикетки Eclipse Che (брендинг)
  • Несколько дополнительных встроенных расширений (мониторинг ресурсов, плагин порта, команды devfile, проекты и поддержка удаленного терминала)
  • Конфигурация для использования онлайн-реестра Open VSX Registry
  • Отказ от телеметрии Microsoft

Microsoft Visual Studio Code также построен на основе Code OSS, но включает некоторые встроенные расширения с закрытым исходным кодом, использует рынок расширений Microsoft Visual Studio Code и включает телеметрию.

Мы рассмотрели возможность использования существующего проекта, такого как coder или openvscode-server , для запуска кода Visual Studio в браузере. Но это форки (что усложняет их перебазирование), а код для запуска Visual Studio Code в браузере на данный момент имеет открытый исходный код и доступен в Code OSS, поэтому мы не думаем, что в настоящее время есть какая-либо ценность для использования промежуточный проект.

Каков план включения Visual Studio Code в OpenShift Dev Spaces?

Редактором OpenShift Dev Spaces по умолчанию по-прежнему является Eclipse Theia, но количество расширений Visual Studio Code, которые могут быть правильно запущены Theia, ограничено. Это была наша главная проблема на протяжении последних трех лет. Разработчиков не очень волнует вопрос о Visual Studio Code и Eclipse Theia, но они хотят запускать множество доступных расширений.

Наша главная цель в третьем квартале 2022 года — включить редактор на основе Code OSS с использованием Open VSX Registry в OpenShift Dev Spaces и сделать его редактором по умолчанию. Для этого мы в настоящее время устраняем пробел в функциях с помощью Theia. В частности, мы работаем над механизмом бездействия для остановки сред, которые были неактивны в течение заданного периода времени, а также работаем над поддержкой сред с воздушным зазором.

Можно ли использовать код Visual Studio в песочнице разработчика?

Песочница Red Hat Developer Sandbox еще не обновлена ​​до OpenShift Dev Spaces, и нельзя использовать CodeReady Workspaces 2.15 для подготовки сред разработки на основе кода Visual Studio. Но DevWorkspace Operator, новый движок сред разработки, используемый OpenShift Dev Spaces, устанавливается в песочнице разработчика (поскольку веб-терминал зависит от него) и поддерживает запуск среды разработки на основе кода Visual Studio.

Вот несколько инструкций командной строки, чтобы сделать это из веб-терминала OpenShift. Вы можете увидеть результаты на рисунке 4.

VSCODE_SAMPLE_DW="https://eclipse-che.github.io/che-devfile-registry/main/devfiles/nodejs/devworkspace-che-code-insiders.yaml"
 
curl  -sSL "${VSCODE_SAMPLE_DW}" | sed 's/^[[:space:]]\{8,\}container:/        container:^          env: [{name: CODE_HOST, value: "0.0.0.0"}]/g' | # <-- CHE IS NOT THERE
sed 's/template:/template:^    attributes:^      controller.devfile.io\/storage-type: ephemeral/g' | # <-- EPHEMERAL IS FASTER
sed 's/volume: {}/volume: {ephemeral: true}/g' |
sed '/tkn=eclipse-che/d' |
tr '^' '\n' | \
oc apply -f -
oc get dw nodejs-web-app --watch

Запуск кода Visual Studio в песочнице Red Hat Developer с помощью оператора DevWorkspace

Рис. 4. Запуск кода Visual Studio в песочнице Red Hat Developer Sandbox с помощью оператора DevWorkspace.

Мы все еще работаем над расширением поддержки редакторов в OpenShift Dev Spaces. Но, следуя описанным здесь шагам, пользователи могут воспользоваться своим знакомством с Visual Studio Code и его экосистемой расширений уже сегодня.

Особая благодарность Рику Вагнеру и Флорану Бенуа за их обзор и предложения для этой статьи.

Ссылка: https://developers.redhat.com/articles/2022/07/12/how-run-vs-code-openshift-dev-spaces#is_it_possible_to_use_visual_studio_code_on_the_developer_sandbox_

#visualstudiocode #openshift 

What is GEEK

Buddha Community

Как запустить код VS с OpenShift Dev Spaces

Как запустить код VS с OpenShift Dev Spaces

Red Hat OpenShift Dev Spaces — это собственный сервер среды разработки OpenShift . Только что выпущенная версия 3.0 позволяет вам выбрать IDE, которая будет включена в среду разработки . В настоящее время в состав OpenShift Dev Spaces входят редакторы Eclipse Theia и JetBrains IntelliJ IDEA .

А как насчет кода Visual Studio? Хотя мы планируем использовать его в качестве IDE по умолчанию в будущих версиях OpenShift Dev Spaces, код Visual Studio не включен в версию 3.0. Но Eclipse Che , который является исходным проектом для OpenShift Dev Spaces, уже включает его, и мы можем легко использовать его и в OpenShift Dev Spaces. Читайте дальше, чтобы узнать, как это работает.

Выберите Visual Studio Code в качестве редактора среды Dev Space.

Код Visual Studio включен в реестр подключаемых модулей Eclipse Che с идентификатором che-incubator/che-code/insiders. OpenShift Dev Spaces имеет собственный внутренний реестр плагинов, но может использовать и внешние реестры, включая онлайн-реестр плагинов Eclipse Che . Мы можем ссылаться на онлайн-реестр Che, используя файл в репозитории Git или через параметр URL. Мы кратко рассмотрим каждый подход.

Вариант 1: Добавление che-editor.yaml в репозиторий Git

Самый простой способ использовать код Visual Studio для данного проекта — создать ссылку на него из che-editor.yamlфайла в репозитории Git.

Создайте .cheпапку и добавьте che-editor.yamlв нее файл со следующим содержимым:

id: che-incubator/che-code/insiders
registryUrl: https://eclipse-che.github.io/che-plugin-registry/main/v3

В первой строке указывается идентификатор редактора. Вторая строка содержит URL-адрес реестра плагинов, в котором опубликован редактор. В этом примере мы используем онлайн-реестр плагинов Eclipse Che.

Просто зафиксируйте и отправьте изменение в репозиторий Git проекта (рис. 1). После отправки файла любая удаленная среда разработки OpenShift Dev Spaces, запущенная с использованием URL-адреса репозитория Git (поддерживаются GitHub, GitLab и Bitbucket), будет использовать Visual Studio Code в качестве редактора.

Добавление файла .che/che-editor.yaml в репозиторий git

Рисунок 1: Добавление файла .che/che-editor.yaml в репозиторий Git

Visual Studio Code — не единственный редактор, который можно использовать из онлайн-реестра плагинов Che. Вот список идентификаторов редакторов, на которые можно ссылаться из .che/che-editor.yaml:

редакторИдентификатор редактора в реестре плагинов Che
Код Visual Studioche-incubator/che-code/insiders
JetBrains IntelliJ ИДЕЯ

che-incubator/che-idea/next

che-incubator/che-idea/latest

JetBrains PyCharm

che-incubator/che-pycharm/next

che-incubator/che-pycharm/latest

Вариант 2: Использование че-редактора параметра URL

Не всегда возможно добавить файл .che/che-editor.yamlв репозиторий Git. В этих случаях по-прежнему можно указать редактор с помощью che-editorпараметра URL:

https://<devspaces-hostname>#<git-repository-url>?che-editor=<editor-definition-url>

Вот пример такого URL:

https://devspaces.apps.mloriedo-devworkspaces.devcluster.openshift.com/#https://github.com/devfile/api?che-editor=https://eclipse-che.github.io/che-plugin-registry/main/v3/plugins/che-incubator/che-code/insiders/devfile.yaml

Использование параметра URL-адреса che-editor

Рисунок 2: Использование параметра URL-адреса che-editor

Вот список доступных определений редакторов в реестре плагинов Che, которые можно использовать в che-editorпараметре URL:

редакторСсылка на определение реестра плагинов Che
Код Visual Studiodevfile.yaml
JetBrains IntelliJ ИДЕЯ

devfile.yaml (последняя версия)

devfile.yaml (следующая самая последняя версия)

JetBrains PyCharm

devfile.yaml (последняя версия)

devfile.yaml (следующая самая последняя версия)

Какие расширения Visual Studio Code доступны?

Бинарный код Visual Studio Code, включенный в реестр подключаемых модулей Che, предварительно настроен для использования онлайнового реестра Open VSX , который содержит тысячи расширений и принадлежит Eclipse Foundation. Эти расширения можно установить из Visual Studio Code, как обычно (рис. 3).

Просмотр и установка расширений Visual Studio Code из Open VSX

Рис. 3. Просмотр и установка расширений Visual Studio Code из Open VSX

Использование расширений Open VSX в сценариях с воздушным зазором в настоящее время не поддерживается. Мы работаем над автономной версией Open VSX Registry, которую можно использовать с OpenShift Dev Spaces для поддержки таких сред, но она не будет доступна до OpenShift Dev Spaces 3.3.

Поддерживается ли Visual Studio Code для OpenShift Dev Spaces?

Visual Studio Code в настоящее время является только проектом сообщества и поэтому не включен в поддержку клиентов OpenShift Dev Spaces. (Остальная часть вашей среды OpenShift Dev Spaces полностью поддерживается; только измененный редактор не будет полностью поддерживаться, если вы его установите.) Для этого изменения Red Hat предложит «коммерчески обоснованную» поддержку, что означает, что мы постараемся вам помочь. но не может дать такие же гарантии (с соглашениями об уровне обслуживания), которые мы даем для остальных пространств разработки OpenShift.

В чем разница между этим редактором и кодом Microsoft Visual Studio?

Редактор на основе кода Visual Studio, используемый Eclipse Che, называется che-code и представляет собой настройку Visual Studio Code с открытым исходным кодом (Code OSS). Это не форк Code OSS (исходный код включен в виде поддерева Git ), и это позволяет легко автоматически получать последние изменения из Code OSS несколько раз в день (в настоящее время каждые четыре часа).

Настройки che-codeвключают в себя:

  • Иконки и этикетки Eclipse Che (брендинг)
  • Несколько дополнительных встроенных расширений (мониторинг ресурсов, плагин порта, команды devfile, проекты и поддержка удаленного терминала)
  • Конфигурация для использования онлайн-реестра Open VSX Registry
  • Отказ от телеметрии Microsoft

Microsoft Visual Studio Code также построен на основе Code OSS, но включает некоторые встроенные расширения с закрытым исходным кодом, использует рынок расширений Microsoft Visual Studio Code и включает телеметрию.

Мы рассмотрели возможность использования существующего проекта, такого как coder или openvscode-server , для запуска кода Visual Studio в браузере. Но это форки (что усложняет их перебазирование), а код для запуска Visual Studio Code в браузере на данный момент имеет открытый исходный код и доступен в Code OSS, поэтому мы не думаем, что в настоящее время есть какая-либо ценность для использования промежуточный проект.

Каков план включения Visual Studio Code в OpenShift Dev Spaces?

Редактором OpenShift Dev Spaces по умолчанию по-прежнему является Eclipse Theia, но количество расширений Visual Studio Code, которые могут быть правильно запущены Theia, ограничено. Это была наша главная проблема на протяжении последних трех лет. Разработчиков не очень волнует вопрос о Visual Studio Code и Eclipse Theia, но они хотят запускать множество доступных расширений.

Наша главная цель в третьем квартале 2022 года — включить редактор на основе Code OSS с использованием Open VSX Registry в OpenShift Dev Spaces и сделать его редактором по умолчанию. Для этого мы в настоящее время устраняем пробел в функциях с помощью Theia. В частности, мы работаем над механизмом бездействия для остановки сред, которые были неактивны в течение заданного периода времени, а также работаем над поддержкой сред с воздушным зазором.

Можно ли использовать код Visual Studio в песочнице разработчика?

Песочница Red Hat Developer Sandbox еще не обновлена ​​до OpenShift Dev Spaces, и нельзя использовать CodeReady Workspaces 2.15 для подготовки сред разработки на основе кода Visual Studio. Но DevWorkspace Operator, новый движок сред разработки, используемый OpenShift Dev Spaces, устанавливается в песочнице разработчика (поскольку веб-терминал зависит от него) и поддерживает запуск среды разработки на основе кода Visual Studio.

Вот несколько инструкций командной строки, чтобы сделать это из веб-терминала OpenShift. Вы можете увидеть результаты на рисунке 4.

VSCODE_SAMPLE_DW="https://eclipse-che.github.io/che-devfile-registry/main/devfiles/nodejs/devworkspace-che-code-insiders.yaml"
 
curl  -sSL "${VSCODE_SAMPLE_DW}" | sed 's/^[[:space:]]\{8,\}container:/        container:^          env: [{name: CODE_HOST, value: "0.0.0.0"}]/g' | # <-- CHE IS NOT THERE
sed 's/template:/template:^    attributes:^      controller.devfile.io\/storage-type: ephemeral/g' | # <-- EPHEMERAL IS FASTER
sed 's/volume: {}/volume: {ephemeral: true}/g' |
sed '/tkn=eclipse-che/d' |
tr '^' '\n' | \
oc apply -f -
oc get dw nodejs-web-app --watch

Запуск кода Visual Studio в песочнице Red Hat Developer с помощью оператора DevWorkspace

Рис. 4. Запуск кода Visual Studio в песочнице Red Hat Developer Sandbox с помощью оператора DevWorkspace.

Мы все еще работаем над расширением поддержки редакторов в OpenShift Dev Spaces. Но, следуя описанным здесь шагам, пользователи могут воспользоваться своим знакомством с Visual Studio Code и его экосистемой расширений уже сегодня.

Особая благодарность Рику Вагнеру и Флорану Бенуа за их обзор и предложения для этой статьи.

Ссылка: https://developers.redhat.com/articles/2022/07/12/how-run-vs-code-openshift-dev-spaces#is_it_possible_to_use_visual_studio_code_on_the_developer_sandbox_

#visualstudiocode #openshift 

Autumn  Blick

Autumn Blick

1598839687

How native is React Native? | React Native vs Native App Development

If you are undertaking a mobile app development for your start-up or enterprise, you are likely wondering whether to use React Native. As a popular development framework, React Native helps you to develop near-native mobile apps. However, you are probably also wondering how close you can get to a native app by using React Native. How native is React Native?

In the article, we discuss the similarities between native mobile development and development using React Native. We also touch upon where they differ and how to bridge the gaps. Read on.

A brief introduction to React Native

Let’s briefly set the context first. We will briefly touch upon what React Native is and how it differs from earlier hybrid frameworks.

React Native is a popular JavaScript framework that Facebook has created. You can use this open-source framework to code natively rendering Android and iOS mobile apps. You can use it to develop web apps too.

Facebook has developed React Native based on React, its JavaScript library. The first release of React Native came in March 2015. At the time of writing this article, the latest stable release of React Native is 0.62.0, and it was released in March 2020.

Although relatively new, React Native has acquired a high degree of popularity. The “Stack Overflow Developer Survey 2019” report identifies it as the 8th most loved framework. Facebook, Walmart, and Bloomberg are some of the top companies that use React Native.

The popularity of React Native comes from its advantages. Some of its advantages are as follows:

  • Performance: It delivers optimal performance.
  • Cross-platform development: You can develop both Android and iOS apps with it. The reuse of code expedites development and reduces costs.
  • UI design: React Native enables you to design simple and responsive UI for your mobile app.
  • 3rd party plugins: This framework supports 3rd party plugins.
  • Developer community: A vibrant community of developers support React Native.

Why React Native is fundamentally different from earlier hybrid frameworks

Are you wondering whether React Native is just another of those hybrid frameworks like Ionic or Cordova? It’s not! React Native is fundamentally different from these earlier hybrid frameworks.

React Native is very close to native. Consider the following aspects as described on the React Native website:

  • Access to many native platforms features: The primitives of React Native render to native platform UI. This means that your React Native app will use many native platform APIs as native apps would do.
  • Near-native user experience: React Native provides several native components, and these are platform agnostic.
  • The ease of accessing native APIs: React Native uses a declarative UI paradigm. This enables React Native to interact easily with native platform APIs since React Native wraps existing native code.

Due to these factors, React Native offers many more advantages compared to those earlier hybrid frameworks. We now review them.

#android app #frontend #ios app #mobile app development #benefits of react native #is react native good for mobile app development #native vs #pros and cons of react native #react mobile development #react native development #react native experience #react native framework #react native ios vs android #react native pros and cons #react native vs android #react native vs native #react native vs native performance #react vs native #why react native #why use react native

Openshift Vs Kubernetes: Difference Between Openshift & Kubernetes

OpenShift and Kubernetes are based on containerization. It can be considered as bundling of different applications for effective development, management, and deployment across different infrastructures. It enables scalability and offers more efficient application development. More than 75% of Businesses are expected to leverage containerization by 2022.

Source

This article is about the two commonly used platforms: OpenShift and Kubernetes. Let’s have a look at their features and differences.

What Is Kubernetes?

Kubernetes is an open-source container orchestration project that helps users manage clustered groups of hosts running Linux containers. It is a portable containerization system, helping developers in service management. Some of the features are automatic application deployment, operations, scaling, container balancing, self-monitoring, etc.

#full stack development #comparison #difference between #kubernetes #kubernetes vs openshift #openshift

PWA vs Native App: Which Is Better Option In 2021?

Every year, the world is expanding with the launch of new smartphones and other gadgets available in the market. According to Statista, more than 50% of the population will be using smartphones by the end of 2021.

Hence, businesses worldwide have understood the importance of smartphones and are joining the mobile industry by launching native apps.

Apart from native apps, progressive web apps is another technology that is gaining a lot of attention among businesses. Moreover, various leading companies worldwide have openly accepted PWA and built progressive web apps.

Now, the question arises, how is PWA different from the native apps? Read More

#pwa vs native #pwa vs native app #progressive web app vs native #progressive web app vs native app #pwa vs native app performance

August  Larson

August Larson

1657815187

How to Run VS Code with OpenShift Dev Spaces

Red Hat OpenShift Dev Spaces is an OpenShift-native developer environment server. Version 3.0 has just been released, and it allows you to choose the IDE that will be included in the development environment. Currently, the editors included with OpenShift Dev Spaces are Eclipse Theia and JetBrains IntelliJ IDEA.

What about Visual Studio Code? Although we plan to use it as the default IDE in future versions of OpenShift Dev Spaces, Visual Studio Code is not included in version 3.0. But Eclipse Che, which is the upstream project for OpenShift Dev Spaces, already includes it, and we can easily use it in OpenShift Dev Spaces too. Read on to learn how this works.

Select Visual Studio Code as the editor of a Dev Space environment

Visual Studio Code is included in the Eclipse Che plugin registry with the identifier che-incubator/che-code/insiders. OpenShift Dev Spaces has its own internal plugin registry, but it can use external registries too, including the online Eclipse Che plugin registry. We can reference the online Che registry using a file in the Git repository or through a URL parameter. We'll take a quick look at each approach.

Option 1: Adding che-editor.yaml in the Git repository

The easiest way to use Visual Studio Code for a given project is to reference it from a che-editor.yaml file in a Git repository.

Create a .che folder and add a che-editor.yaml file with the following content in it:

id: che-incubator/che-code/insiders
registryUrl: https://eclipse-che.github.io/che-plugin-registry/main/v3

The first line specifies the identifier of the editor. The second line contains the URL of the plugin registry where the editor is published. We are using the online Eclipse Che plugin registry in this example.

Just commit and push the change to the project Git repository (Figure 1). Once the file is pushed, any OpenShift Dev Spaces remote development environment started using the Git repository URL (GitHub, GitLab and Bitbucket are supported) will use Visual Studio Code as the editor.

Adding the file .che/che-editor.yaml in a git repository

Figure 1: Adding the file .che/che-editor.yaml in a Git repository

Visual Studio Code is not the only editor that can be used from the online Che plugin registry. Here is a list of the editor IDs that can be referenced in from .che/che-editor.yaml:

EditorEditor ID in the Che plugin registry
Visual Studio Codeche-incubator/che-code/insiders
JetBrains IntelliJ IDEA

che-incubator/che-idea/next

che-incubator/che-idea/latest

JetBrains PyCharm

che-incubator/che-pycharm/next

che-incubator/che-pycharm/latest

Option 2: Using the URL parameter che-editor

It's not always possible to add the file .che/che-editor.yaml into a Git repository. In these cases, it's still possible to specify the editor using the che-editor URL parameter:

https://<devspaces-hostname>#<git-repository-url>?che-editor=<editor-definition-url>

Here's an example of such a URL:

https://devspaces.apps.mloriedo-devworkspaces.devcluster.openshift.com/#https://github.com/devfile/api?che-editor=https://eclipse-che.github.io/che-plugin-registry/main/v3/plugins/che-incubator/che-code/insiders/devfile.yaml

Using the che-editor URL parameter

Figure 2: Using the che-editor URL parameter

Here is a list of available editors definitions in the Che plugin registry that can be used in the che-editor URL parameter:

EditorLink to the Che Plugin Registry definition
Visual Studio Codedevfile.yaml
JetBrains IntelliJ IDEA

devfile.yaml (latest version)

devfile.yaml (next most recent version)

JetBrains PyCharm

devfile.yaml (latest version)

devfile.yaml (next most recent version)

What Visual Studio Code extensions are available?

The Visual Studio Code binary that is included in the Che plugin registry is pre-configured to use the online Open VSX Registry, which contains thousands of extensions and is owned by the Eclipse Foundation. Those extensions can be installed from Visual Studio Code itself as usual (Figure 3).

Browsing and installing Visual Studio Code extensions from Open VSX

Figure 3: Browsing and installing Visual Studio Code extensions from Open VSX

Using Open VSX extensions in air gapped scenarios is currently not supported. We are working on an offline version of Open VSX Registry that can be used with OpenShift Dev Spaces to support such environments, but that won't be available before OpenShift Dev Spaces 3.3.

Is Visual Studio Code supported for OpenShift Dev Spaces?

Visual Studio Code is currently only a community project and, as such, it is not included in OpenShift Dev Spaces customer support. (The rest of your OpenShift Dev Spaces environment is fully supported; only the changed editor would not be fully supported if you installed it.) For this change, Red Hat will offer "commercially reasonable" support, which means we will try to help you but cannot make the same guarantees (with SLAs) that we make for the rest of OpenShift Dev Spaces.

What's the difference between this editor and Microsoft Visual Studio Code?

The Visual Studio Code-based editor used by Eclipse Che, called che-code, is a customization of Visual Studio Code Open Source (Code OSS). It's not a fork of Code OSS (the source code is included as a Git subtree) and that makes it easy to automatically fetch the latest changes from Code OSS multiple times a day (currently every four hours).

The che-code customizations include:

  • Eclipse Che icons and labels (branding)
  • A few extra built-in extensions (resource monitoring, port plugin, devfile commands, projects, and remote terminal support)
  • The configuration to use the online Open VSX Registry
  • An opt out from Microsoft telemetry

Microsoft Visual Studio Code is built on top of Code OSS as well, but includes some closed source built-in extensions, uses the Microsoft Visual Studio Code extensions marketplace, and has telemetry turned on.

We considered using an existing project like coder or openvscode-server to run Visual Studio Code in the browser. But those are forks (making them harder to rebase), and the code to run Visual Studio Code in the browser is, as of now, open source and available in Code OSS, so we don't think there is currently any value to using an intermediate project.

What's the roadmap for including Visual Studio Code in OpenShift Dev Spaces?

The default OpenShift Dev Spaces editor is still Eclipse Theia, but the number of Visual Studio Code extensions that can be run properly by Theia is limited. That has been our main issue for the last three years. Developers don't care much about the question of Visual Studio Code vs. Eclipse Theia, but they want to run the myriad of extensions that are available out there.

Our main goal for 2022 Q3 is to include a Code OSS-based editor using Open VSX Registry in OpenShift Dev Spaces and make it the default editor. To do that, we are currently closing the feature gap with Theia. In particular, we are working on an idling mechanism to stop environments that have been inactive for a given amount of time, as well as working on support for air gapped environments.

Is it possible to use Visual Studio Code on the Developer Sandbox?

The Red Hat Developer Sandbox hasn't been updated to OpenShift Dev Spaces yet, and it's not possible to use CodeReady Workspaces 2.15 to provision Visual Studio Code-based development environments. But the DevWorkspace Operator, the new dev environments engine used by OpenShift Dev Spaces, is installed on the Developer Sandbox (because the Web Terminal depends on it), and it supports running a Visual Studio Code-based development environment.

Here are some command line instructions to do that from the OpenShift Web Terminal. You can see the results in Figure 4.

VSCODE_SAMPLE_DW="https://eclipse-che.github.io/che-devfile-registry/main/devfiles/nodejs/devworkspace-che-code-insiders.yaml"
 
curl  -sSL "${VSCODE_SAMPLE_DW}" | sed 's/^[[:space:]]\{8,\}container:/        container:^          env: [{name: CODE_HOST, value: "0.0.0.0"}]/g' | # <-- CHE IS NOT THERE
sed 's/template:/template:^    attributes:^      controller.devfile.io\/storage-type: ephemeral/g' | # <-- EPHEMERAL IS FASTER
sed 's/volume: {}/volume: {ephemeral: true}/g' |
sed '/tkn=eclipse-che/d' |
tr '^' '\n' | \
oc apply -f -
oc get dw nodejs-web-app --watch

Running Visual Studio Code in the Red Hat Developer Sandbox using the DevWorkspace Operator

Figure 4: Running Visual Studio Code in the Red Hat Developer Sandbox using the DevWorkspace Operator

We're still working on expanding editor support in OpenShift Dev Spaces. But by following the steps outlined here, users can take advantage of their familiarity with Visual Studio Code and its ecosystem of extensions today.

A special thank you to Rick Wagner and Florent Benoit for their review and suggestions for this article.

Link: https://developers.redhat.com/articles/2022/07/12/how-run-vs-code-openshift-dev-spaces#is_it_possible_to_use_visual_studio_code_on_the_developer_sandbox_

#visualstudiocode #openshift