Coder Social home page Coder Social logo

exafunction / codeium-chrome Goto Github PK

View Code? Open in Web Editor NEW
100.0 11.0 16.0 541 KB

Free, ultrafast code autocomplete for Chrome

Home Page: https://www.codeium.com/

License: MIT License

Shell 0.45% JavaScript 3.00% TypeScript 94.14% CSS 0.30% HTML 1.55% SCSS 0.58%
autocomplete chrome chrome-extension codeium colab colab-notebook copilot editor extension ide javascript jupyter jupyter-notebook python

codeium-chrome's Introduction

Codeium


Discord Twitter Follow License

Visual Studio JetBrains Open VSX Google Chrome

codeium-chrome

Free, ultrafast code autocomplete for Chrome

Codeium autocompletes your code with AI in all major IDEs. This includes web editors as well! This Chrome extension currently supports:

In addition, any web page can support autocomplete in editors by adding the following meta tag to the <head> section of the page:

<meta name="codeium:type" content="monaco" />

The content attribute accepts a comma-separated list of supported editors. These currently include: "monaco" and "codemirror5".

To disable the extension in a specific page add the following meta tag:

<meta name="codeium:type" content="none" />

Contributions are welcome! Feel free to submit pull requests and issues related to the extension or to add links to supported websites.

๐Ÿ”— Original Chrome extension launch announcement

๐Ÿš€ Getting started

To use the extension, install it from the Chrome Web Store.

If you'd like to develop the extension, you'll need Node and pnpm (npm install -g pnpm). After pnpm install, use pnpm start to develop, and pnpm build to package. For the enterprise build, use pnpm build:enterprise.

codeium-chrome's People

Contributors

aunch avatar fortenforge avatar hatemhosny avatar khou22 avatar li-xin-yi avatar njiang747 avatar pqn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codeium-chrome's Issues

Support for VSCode.dev?

Hello. Is there any way to get support for VSCode.dev and Insiders.vscode.dev? I've checked the compatibility list, and they are not on there, so I am not sure why they are or aren't compatible.

Unfortunately, the Codeium VSCode official extension does not work on the web versions of VS Code. So it would be nice to be able to use the Chrome extension at least.

Also, out of curiosity, is there any way to get an update on the sites that are on the compatibility list? CodeSandbox in particular, I am wondering if those sites will eventually get support or not.

This extension is great, please keep up the good work.

The completion on Paperspace can't be accepted by hitting tab key

On PaperSpace notebooks, after start the runtime, Codeium extension works well on giving completion hint. However, the completion can't be accepted by simply using Tab. To be exact, Tab may be disabled in their code editors anywhere except the start of a line, which makes the developing experience terrible. Is there any way to make Codeium compatiable with the current PaperSpace.

Allow specific web pages to opt out of autocomplete

Although the autocomplete feature is of great help, some websites might not want their users to use it in specific web pages.

Example:
if a user uses autocomplete superpowers in websites like codewars, leetcode or LiveCodes code challenges (specially if the time factor is important), it might be considered as cheating :)
However, if the same website uses the editor in code tutorials, it might be desirable to enable the autocomplete.

My suggestion:

If a web page includes this meta tag, the autocomplete should not be activated in this specific web page even if the domain is in the allowlist:

<meta name="codeium:type" content="none">

I expect if site owners have control over when to enable/disable the autocomplete, more websites are more likely to endorse it and tell the users about it (even as a feature).

If you agree to this approach, I can open a PR with the implementation, including the option to restrict injection type by the value of the content attribute as mentioned here: #29 (review)

is monaco support broken?

I tried out the plugin but it seems like monaco editor support must be broken? It works fine with jsfiddle/codepen/codeshare (all codemirror editor i think) -- but doesn't seem to work on any of the monaco editors I tried, including google collab

Whats weird is, on google collab i did see one random suggestion appear, like 10+ seconds after i stopped typing. I also tried a few of the other monaco editors linked from this repo and none seemed to work. i don't see any errors in my console.log

Compatibility status

This issue is meant to track known issues with various well-known sites. Resolution will usually either require contacting the website to help support Codeium by changing their website build, or creating an alternative to the CodeMirror 5 and Monaco injection code which uses raw HTML/JS.

Monaco

The issue here is generally that the Monaco version being used is too old, or webpack is pruning the required inline completion features since they aren't being used by the website themselves.

  • CodeSandbox
  • CoderPad
  • HackerRank
  • LeetCode
  • Datalore
  • #47

JupyterLab 4/CodeMirror 6

  • JupyterLab
  • Kaggle

CodeMirror 6

  • Replit: There's a potential workaround if we can set up the Replit extension to use the Monaco editor. Another path is to try to imitate the Ghostwriter API.

Ace

  • Dune Analytics
  • Online GDB
  • Dillinger

Expose a completions API on the window object for websites

Hi there,

I run a coding playground that uses Codemirror 6, and I'd like this extension to support my website.

I understand that Codemirror 6 is currently not supported. Since supporting Codemirror 6 is likely to involve some work, I'd like to ask for an API, exposed on the window object, which I can trigger with the editor text and provide autocompletions myself.

I understand that you may not want to inject Codeium's content scripts on every website out there, so I'm open to having my website added manually to the list of supported sites. In this request, I'm simply asking for an API to be exposed for websites which will be in the said (and as of yet not implemented) list.

Issue with Codeium in Rstudio Server http://10.10.196.55:8787/

I hope this email finds you well. My name is Tianrui, I am a new user about Codeium. I installed this plugin on edge browser,I want to use this plug-in on the Rstudio server web page, the URL is http://10.10.196.55:8787/.
I tried adding the following content to the Allowlist in the settings: http://10.10.196.55.* or 10.10.196.55.*
But it still doesn't work,I don't know if it's because I set it up wrong, or if it's not working properly due to other circumstances. I really need your help, thank you very much.

Thank you in advance for your assistance.

Best regards,

Tianrui

Firefox port

It would be great to have this extension for firefox. I suppose a rewrite of the manifest would be required but it should be doable ๐Ÿ˜„

Support LiveCodes

This is a very nice project. Thank you.
And Codeium is, of course, very useful indeed.

I'm the author of LiveCodes, a feature-rich, open-source, client-side code playground that supports 80+ languages/frameworks. Please read the announcement.

LiveCodes also allows embedding playgrounds in webpages using a powerful SDK.

I'm interested in adding support for LiveCodes to your project.

LiveCodes allows the user to select from 3 code editors:

  • Monaco editor (currently v0.40.0): This is the default editor on desktop.
  • CodeMirror 6: The default editor on mobile.
  • CodeJar (currently v4.1.1): The editor used in lite mode

The user may select the editor from editor settings or configuration options (if using the SDK).

I understand, that currently of these editors, you only support Monaco editor, which is fine with me. In my use-case, this will be the most commonly used editor.

The implementation of the code editors can be found here.

I would be interested to help providing the integration.

[BUG] Codeium Extension's contentScript break all discuz forum to down.

The code in

(document.head || document.documentElement).prepend(s);
will break all websites that are built with Discuz.

Discuz is a popular open-source Internet forum software written in PHP. It was first released in 2003 and has become one of the most widely used forum platforms in China and other parts of the world.

Its ajaxpost uses such a technology, using JS script to build a form, the target of the form points to a frame named ajaxframe, so that the content of the URL of the form can be rendered to the ajaxframe. Moreover, the URL return content structure is <root> <![CDATA[SOMETEXT]]></root>, and then you can get the content of SOMETEXT through $(ajaxframeid).contentWindow.document.documentElement.firstChild.wholeText.

However, the emergence of the Codeium extension destroyed it. At this point, Codeium prepends a script element to <root>, which causes firstChild.wholeText to return undefined instead of SOMETEXT.

This makes many famous websites in China, such as https://www.52pojie.cn/, to not work.

Reproduce:

  1. open "https://www.52pojie.cn/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1"
  2. See that <script/> be shown as firstChild of root.
    image

Possible Solution

Only execute contentScript when page in Allowlist instead of all pages.

image

Not Working on Jupyter Lab 4.0.2

I just started a new environment with the latest Jupyter Lab and noticed codeium wasn't working. When I checked the extension I got the message:

"Only JupyterLab 3.x is supported"

I haven't checked yet if there is any breaking changes in 4.x that would require adjustments on the extension. However I felt the need to report and follow progress for now.

Support for JupyterLab 4

I just upgraded my work server to JupyterLab 4 and saw that Codeium doesn't support it yet. It would be great to have this functionality.

Preciser Status on each Website (Inactive/active)

Currently, the popup page and extension icon seem too primitive (another related complaint: #48). I feel a little painful when

  1. I want to temporarily turn on/off the completion on the current web page manually by one-click, instead of going to the option page to edit the whitelist.
  2. I desire to add the regex of current page to the whitelist by one-click
  3. The icon on the extension bar show if this extension is active in current page

My desired feature looks like wakatime, which also tracks the activities of the user and includes white/black list feature.

I'd like to work on this enhancement by this weekend, make the popup page more fancy as well (such as showing how many completions are accepted today, or the graph). Please let me know if the idea is acceptable or conflict with others.

Evaluate Datalore feasibility

From Discord:

The free plan for jupyter notebook hosting from JetBrains found here (https://datalore.jetbrains.com/) is better than colab in a LOT of ways. I think the only real thing that's missing is free GPU, but it has 2 active notebooks, scheduled runs, workspace files (great for storing env variables), the same tab completion as pycharm, access to the terminal, aws and gcp storage, and probably some more I'm forgetting it'd be amazing if we could get support in the browser plugin for that site too.

https://discord.com/channels/1027685395649015980/1107779192805933108/1107779192805933108

Direct integration with no extension

This is such a great product. Thank you!

I would be interested to implement in LiveCodes direct integration without the need to install the extension like the recently announced integration with CodeSandbox. #9 (comment)

Can you please guide?

Thank you

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.