Rudresh's blog

By Rudresh, 3 months ago, In English

CodeForces is an awesome platform for competitive programming, when I started practicing on CodeForces, the only thing I felt missing was the inbuild IDE for solving problems.

I thought It'd be a fun project to do, so during this vacation, I developed a VS code extension named Catalyst for that.

Catalyst automatically fetches the problem and displays it, parses test cases, runs and evaluates your code on test cases. You can edit/add/remove test cases as you like, and when you are done, it can submit your code and then track the submission in real-time. All this in Vs code.

Visual Studio Marketplace link — https://marketplace.visualstudio.com/items?itemName=RudreshVeerkhare.catalyst
If you have any suggestions or issues regarding Catalyst please let me know

image Here's a little demo of it — https://raw.githubusercontent.com/RudreshVeerkhare/Catalyst/main/readme/CatalystQuickStart.mp4

 
 
 
 
  • Vote: I like it
  • +105
  • Vote: I do not like it

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks a lot Rudresh for this awesome extension. Looking forward to using it with VSCode.

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You are Welcome sandipan_2224.. :)
    Please let me know in case of any issues..

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Will give it a try and provide u with feedback for sure.

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I am not able to compile my code using java. It says no public class in code and when I make class public the ide gives error. Help.

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

will it work on other sites like Atcoder . codechef??

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    It's specially designed for codeforces only..

»
3 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Cant we set a hot key for submission

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yes.. It's a nice idea.. I'll add this feature... Thanks..

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Wow. I have watched the video and this is really cool. Well done. Can this be used in live contests and if so, does it parse entire problem sets? Instead of parsing per problem.

  • »
    »
    3 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Thanks... :)
    Yes this can be used in live contests..
    But fetching all problems at once is not possible currently.. Actually I'm working on it...

    Update — I just added the feature to fetch Entire contest in version 0.0.7
    now you can either put Contest URL or Problem URL and Catalyst will automatically fetch all problem if it's a Contest url..
    Please let me know if you fetch any issues while using this feature..
    Thanks..

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I see. This is still great, at least while the other features are in progress. Cheers.

    • »
      »
      »
      2 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I just added Catalyst to my VS-Code and wanted to congratulate you for this splendid work. Really a lot of thanks for working on this. Also, I have a query regarding contest fetching. When I am giving the contest URL it is just fetching the first question. How can I slide to the next question or any other question?? Thanks in advance

      • »
        »
        »
        »
        2 months ago, # ^ |
          Vote: I like it +1 Vote: I do not like it

        Thanks you very much...
        I'm really happy that you liked it...

        And regarding contest fetching...
        It'll fetch all problems, and will open the first one..
        You can switch problems easily through file explorer menu in the vscode..
        Just select source code file named with problem.. Catalyst will automatically open that problem statement for you on the right side...

»
3 months ago, # |
  Vote: I like it -27 Vote: I do not like it

no offense but this seems useless

  • »
    »
    3 months ago, # ^ |
      Vote: I like it +21 Vote: I do not like it

    I'm really sorry that you don't like it.. :(

»
3 months ago, # |
Rev. 4   Vote: I like it 0 Vote: I do not like it

can you use https://github.com/jmerle/competitive-companion for parsing, i have the chrome extension of it, which parses question by just click of a button and saves the task of copy pasting the urls.

also add the support of mirror website codeforces.ml

Also c++ submission within vscode does not show option for g++ 17 9.2.0 64 bit msys 2 which i mostly use.

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I could've used competitive-companion for parsing but I wanted problem text data also... And thanks for this suggestions.. I'll try to add support to mirror site also...

    and I just added the option g++ 17 9.2.0 64 bit msys 2 for submition...

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      So, can you make your own chrome extension, which parses problem statement too? Or can you just tweak the existing open source competitive-companion extension to do this?

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        As of now I don't know how to make crome extension.. But I'll surely try this...

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Can we somehow switch the codeforces ID from which we make submission??

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yes..you can change handle by using command "Update Login Details"...
    to execute the command press Ctrl+Shift+P and enter Update Login Details..

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Amazing work Rudresh! Hats off.

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Your extension is asking for a password for my account. How safe it is ?? plz explain!!

  • »
    »
    3 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Firstly, Catalyst uses AES-256-CBC for encryption of Login Credentials..
    then these Encrypted Credentials are stored in the system's keychain...
    On macOS the encrypted passwords are managed by the Keychain, on Linux they are managed by the Secret Service API/libsecret, and on Windows they are managed by Credential Vault...
    And keys for encryption are updated every time Credentials are updated..
    Hope this will help..

»
3 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Does it login every time (for submission) or does it store cookies?

  • »
    »
    3 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    It's doesn't login everytime... It stores cookies... And when cookies expires.. It login again....

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Great Extension bro...Would it be possible to parse all the problems of a contest at once in different tabs of vs?

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You can load all problems from contest by giving contest URL instead of problem URL...

    • »
      »
      »
      3 months ago, # ^ |
      Rev. 3   Vote: I like it 0 Vote: I do not like it

      But even when I give contest URL only one tab with problem A opens up.

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Oh. For that... You can simply open multiple problem from left side file view... Or you could drag them to editor... That will open multiple files... And then you can switch between them easily... Hope it helps..

»
3 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Please can include the option to create the problem file with my template.

»
2 months ago, # |
  Vote: I like it 0 Vote: I do not like it

This is amazing but I hope the security is same

»
5 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Can there a way through which, we can remove the "VIEW EDITORIAL" button?

  • »
    »
    5 weeks ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Not till now...
    But I'll add option in settings for that...

    UPDATE — Added an option in settings to hide editorial button in version 1.2.1..

»
4 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Thanks a lot. I hope to have a feature generate code with templates on the computer.

  • »
    »
    4 weeks ago, # ^ |
    Rev. 2   Vote: I like it +3 Vote: I do not like it

    There's a feature to set base template for problem statement..
    You can access it through extension settings..

»
4 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

hey is there any way we can by default run c++17. As it run c++98 by default. Can we add some setting to setting.json to make this happen.

Like for e.g. One for code runner(popular extension on vscode) uses this "code-runner.executorMap": { "cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", }

»
12 days ago, # |
  Vote: I like it 0 Vote: I do not like it

Is there a specific reason that it isn't working for me suddenly for the past 2 days?

It shows, "Not a problem page!!" every time I enter a problem link. It worked fine for the past 3 weeks.

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yes it shows no problem page error

  • »
    »
    12 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Sorry for this...
    It seems that Codeforces have made an small change...
    I'll fix this soon... And thanks for reporting this issue..

  • »
    »
    11 days ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Today I tried debugging the Catalyst...
    And it was working already...
    I think Codeforces have reverted the change of RCPC cookie...

    Let me know if it's working for you or not...

»
7 days ago, # |
  Vote: I like it 0 Vote: I do not like it

How can i change my login credentials??

  • »
    »
    7 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    There's a command in command pallet... Update login details..