@codeium/react-code-editor
v1.0.12
Published
AI-powered React component
Downloads
4,353
Readme
Codeium Editor
Codeium React Code Editor is a free, open-source code editor as a React component with unlimited AI autocomplete. Brought to you by the team at Codeium. Free with no account required.. All you need to do is install our NPM package, add it to your website and you're good to go!
Features
- Unlimited AI autocomplete (no account required)
- Customizable API extended from Monaco React
Demo
Check it out here!
Getting Started
Install using any of these package manager.s
# NPM
npm install @codeium/react-code-editor
# Yarn
yarn add @codeium/react-code-editor
# PNPM
pnpm install @codeium/react-code-editor
Now import the CodeiumEditor
and enjoy lightning fast AI autocomplete, directly in your browser, 100% for free!
import { CodeiumEditor } from "@codeium/react-code-editor";
export const IdeWithAutocomplete = () => {
return (
<div>
<p>Here's an AI-powered Python editor using Codeium.</p>
<CodeiumEditor language="python" theme="vs-dark" />
</div>
);
};
Here's an advanced example that uses multi-document context to provide more intelligent autocompletion:
import { CodeiumEditor, Document, Language } from "@codeium/react-code-editor";
export const JavaScriptEditorWithContext = () => {
const html = `<html>
<body>
<h1>Contact Us</h1>
<form>
<label>Name:</label>
<input id="name" type="text" />
<label>Email:</label>
<input id="email" type="text" />
</form>
</body>
</html>`;
return (
<div>
<p>This editor has context awareness of a neighboring HTML file and can provide better autocompletion suggestions.</p>
<CodeiumEditor
language="javascript"
theme="vs-dark"
otherDocuments={[
new Document({
absolutePath: "/app/index.html",
relativePath: "index.html",
text: html,
editorLanguage: "html",
language: Language.HTML,
}),
]}
/>
</div>
);
};
Note that the otherDocuments
prop has a limit of 10 documents. Within those documents, Codeium will run a reranker behind the scenes to optimize what is included in the token limit.
Examples
Here are some examples of Codeium React Editor used in production:
How it works
This project is a wrapper around Microsoft's Monaco editor which is the editor that powers VS Code with the extended capability of providing code autocompletion.
The autocompletes are provided by analyzing the editor's content and predicting and providing suggestions based on that context. To learn more about how the autocompletion works, visit Codeium's FAQ.
What is Codeium
Codeium is a free, AI-powered developer toolkit that plugs into 70+ IDEs, including: Visual Studio Code, JetBrains IDEs, Google Colab, and Vim. Codeium provides unlimited AI context-aware autocomplete, chat assistant, intelligent search, codebase indexing, and more. Codeium also offers flexible deployments within your VPC or in on-prem, airgapped environments. Learn more at codeium.com.
API
The core API of the editor is the same as that of the wrapped project. You can view the editor API here.
FAQ
How can I import the ESM version of this?
To import the ESM version of this, you can use import { CodeiumEditor } from "@codeium/react-code-editor/dist/esm";
. If you're using TypeScript, your editor might warn that the types are missing. A current workaround is:
- Create a
codeiumeditor.d.ts
file, - Add
declare module '@codeium/react-code-editor/dist/esm';
to the file - Import the types file in the file using the
CodeiumEditor
component.
This is an open issue in terms of supporting both CommonJS and ESM. If you're interested in contributing and have a fix for this, pull requests are welcome.
Acknowledgements
This project would not have been possible without Suren Atoyan's Monaco React project.
Issues
Create issues in this repositories for anything related to autocompletion functionality. If you have any issues with the editor API or functionality, create an issue in the editor repository.