# Integrated Development Environments (IDEs)

When it comes to setting up an [integrated development environment (IDE)↗](https://wikipedia.org/wiki/Integrated_development_environment), programming applications on the Electroneum Smart Chain is similar to programming any other software project. There are many options to choose from, so at the end of the day, pick the IDE or code editor that best suits your preferences. Most likely the best IDE choice for your Electroneum Smart Chain development is the IDE you already use for traditional software development.

## Web-based IDEs <a href="#web-based-ides" id="web-based-ides"></a>

If you're looking to fiddle with code before you [set up a local development environment](https://developer.electroneum.com/etn-sc-client), these web apps are custom-built for Ethereum smart contract development and works with the Electroneum Smart Chain.

[**Remix↗**](https://remix.ethereum.org/) - ***Web-based IDE with built in static analysis, and a test blockchain virtual machine***

* [Docs↗](https://remix-ide.readthedocs.io/en/latest/)
* [Gitter↗](https://gitter.im/ethereum/remix)

[**ChainIDE↗**](https://chainide.com/) - ***A cloud-based multi-chain IDE***

* [Docs↗](https://chainide.gitbook.io/chainide-english-1/)
* [Help forum↗](https://forum.chainide.com/)

[**Tenderly Sandbox↗**](https://sandbox.tenderly.co/) - ***A fast prototyping environment where you can write, execute, and debug smart contracts in the browser using Solidity and JavaScript***

[**EthFiddle↗**](https://ethfiddle.com/) - ***Web-based IDE that lets you write, compile, and debug your smart contract***

* [Gitter↗](https://gitter.im/loomnetwork/ethfiddle)

## Desktop IDEs <a href="#desktop-ides" id="desktop-ides"></a>

Most established IDEs have built plugins to enhance the Electroneum Smart Chain development experience. At a minimum, they provide syntax highlighting for [smart contract languages](https://developer.electroneum.com/electroneum-stack/broken-reference).

**Visual Studio Code -** ***Professional cross-platform IDE with official Ethereum support***

* [Visual Studio Code↗](https://code.visualstudio.com/)
* [Azure Blockchain Workbench↗](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoft-azure-blockchain.azure-blockchain-workbench?tab=Overview)
* [Code samples↗](https://github.com/Azure-Samples/blockchain/blob/master/blockchain-workbench/application-and-smart-contract-samples/readme.md)
* [GitHub↗](https://github.com/microsoft/vscode)

**Atom -** ***A hackable text editor for the 21st Century***

* [Atom↗](https://atom.io/)
* [GitHub↗](https://github.com/atom)
* [Ethereum packages↗](https://atom.io/packages/search?utf8=%E2%9C%93\&q=keyword%3Aethereum\&commit=Search)

**JetBrains IDEs (IntelliJ IDEA, etc.) -** ***Essential tools for software developers and teams***

* [JetBrains↗](https://www.jetbrains.com/)
* [GitHub↗](https://github.com/JetBrains)
* [IntelliJ Solidity↗](https://github.com/intellij-solidity/intellij-solidity/)

**Remix Desktop -** ***Experience Remix IDE on your local machine***

* [Download↗](https://github.com/ethereum/remix-desktop/releases)
* [GitHub↗](https://github.com/ethereum/remix-desktop)

## Plugins and Extensions <a href="#plugins-extensions" id="plugins-extensions"></a>

* [solidity↗](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity) - Ethereum Solidity Language for Visual Studio Code
* [Solidity + Hardhat for VS Code↗](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity) - Solidity and Hardhat support by the Hardhat team
* [Prettier Solidity↗](https://github.com/prettier-solidity/prettier-plugin-solidity) - Code formatter using prettier

## Further Reading <a href="#further-reading" id="further-reading"></a>

* [Ethereum IDEs↗](https://www.alchemy.com/list-of/web3-ides-on-ethereum) *- Alchemy's list of Ethereunm IDEs*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.electroneum.com/electroneum-stack/integrated-development-environments-ides.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
