Rudresh's blog

By Rudresh, 8 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

»
8 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.

  • »
    »
    8 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..

»
8 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.

»
8 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.

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

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

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

    It's specially designed for codeforces only..

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

Cant we set a hot key for submission

  • »
    »
    8 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..

»
8 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.

  • »
    »
    8 months ago, # ^ |
    Rev. 3   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 face any issues while using this feature..
    Thanks..

    • »
      »
      »
      8 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.

    • »
      »
      »
      7 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

      • »
        »
        »
        »
        7 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...

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

no offense but this seems useless

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

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

»
8 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.

  • »
    »
    8 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...

    • »
      »
      »
      8 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?

      • »
        »
        »
        »
        8 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...

»
8 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??

  • »
    »
    8 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..

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

Amazing work Rudresh! Hats off.

»
8 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!!

  • »
    »
    8 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..

»
8 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?

  • »
    »
    8 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....

»
8 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?

  • »
    »
    8 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...

    • »
      »
      »
      8 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.

      • »
        »
        »
        »
        8 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..

»
8 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.

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

This is amazing but I hope the security is same

»
6 months 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?

  • »
    »
    6 months 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..

»
6 months 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.

  • »
    »
    6 months 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..

»
6 months 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", }

»
5 months 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.

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

    Yes it shows no problem page error

  • »
    »
    5 months 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..

  • »
    »
    5 months 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...

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

How can i change my login credentials??

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

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

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

Its simply awesome I love it

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

But in my case its not working on Contest URL? As its creating a different folder with all cpp files And when I want to run the cpp file It's showing this

cannot open file:///c%3A/Users/dell/Desktop/vs/A.%20Potion-making.cpp. Detail: Unable to read file 'c:\Users\dell\Desktop\vs\A. Potion-making.cpp' (Error: Unable to resolve non-existing file 'c:\Users\dell\Desktop\vs\A. Potion-making.cpp')

Please help me.

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

    Sorry for this....
    This is a bug due to contest questions are being added to new folder...

    Currently my exams are going on... I'll fix it ASAP after that...

    Quickfix for this problem is that.... Bring your sourcecode out of the contest folder and it'll work...
    Hope it helps..

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

      ya ya thats what i meant. Np you give your exams. BEST OF LUCK. :)

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

        I checked it...
        Problem was that...

        Initially contest problem source codes were stored in root of workspace...
        But it was getting quite messy given that there might be other problem source codes which would make it difficult to identify contest problems from individuals...

        To solve this issue, I added a feature to group all contest problems in a folder in the workspace root...
        I have modified some internal data elements of problem cache file in this process...

        So solution to that is simply update Catalyst to latest version and reload that contest...
        and don't worry, reloading contest won't override your solutions for those contest questions...

        Let me know if it solved the problem or not... :)

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

          Thanks Man. :) It worked. U r a Genius.

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

Can you please extend this to Codechef and Atcoder as well? It will be quite helpful :)

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

    Thanks for the suggestion..
    But it's specifically designed for CodeForces only...
    Making it for other platforms will require whole new implementation...
    This is something which I've put in future scope..

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

Please release on Sublime Also

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

    That's a really good idea..
    But thing is that VScode is made using electron which make it possible to show html content..
    But I'm not sure about Sublime text..
    I haven't found anything similar in Sublime text yet...

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

the tutorial button is operative?

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

    It should operative..
    I'll look into it...
    Thanks for reporting...

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

Very cool plugin, passed my first problem on it

Id just like to know if there is a way to set which folder the file gets saved to, i tried some stuff but the code just goes to the main folder you're on (even if when clicking inside a folder it still did that)