Do you keep them in your IDE, or elsewhere? Do you have an app for that? Are they easily shared?

I realized I have no system at all but could use one to make it easier to find code I’ve written and might need again some day.

By snippets, I am referring to any chunk of code / text in any format or language, of any length.

Thanks!

EDIT A DAY LATER: Thanks you all! Reading all these ideas, I got inspired to create my own little web app. Wish me luck… :)

  • @Lysergid@lemmy.ml
    link
    fedilink
    1710 months ago

    Please, can you give an example of such code snippets? I’m wondering what people consider reusable in different projects.

    • @derpgon@programming.dev
      link
      fedilink
      310 months ago

      In PHP, a lot. Unit test are boilerplate 90% of the time, getters and setters (although they can be done via Generate), ORM classes with your default shebang (autoincrement ID), and I could go on and on.

      I dislike snippets for code like “key this array by some logic” - this should be reusable via a dedicated helper or service.

    • @otl@lemmy.srcbeat.com
      link
      fedilink
      English
      010 months ago

      Let’s say a function, about 20 lines. Something too small to warrant an external dependency but tricky enough that you don’t want to keep rewriting it.

      I have things like a function to read through a file of newline delimited text of key-value pairs separated by whitespace. It skips comments (lines beginning with “#”), and returns the pairs. I’m happy to do a little copying instead of having a little dependency.

    • @perishthethought@lemm.eeOP
      link
      fedilink
      English
      110 months ago

      It’s got to be here somewhere… (Search for way too long…) Dang, I guess I’ll just write it again from scratch

      Yeah, this is what I am looking to avoid.

      • @douglasg14b@programming.dev
        link
        fedilink
        16 months ago

        I have a weird knack for reverse engineering, and reverse engineering stuff I’ve written 7-10 years ago is even easier!

        I tend to be able to find w/e snippet I’m looking for fast enough that I can’t be assed to do it right yet 😆

  • @varsock@programming.dev
    link
    fedilink
    810 months ago

    I would appretiate if someone could explain the practical utility of snippets because it just dawned on me how useful they might be.

    • @coloredgrayscale@programming.dev
      link
      fedilink
      6
      edit-2
      10 months ago

      Easy access to small snippets of code you often need, but putting them in their own library would be crazy.

      • Opening a file / db connection
      • parsing xml/json/… ,
      • template for unit tests,
      • import and initialization of framework at work.

      Depending on the IDE snippets can also move parts of the code around: (intellij live templates)

      • variable.notnull -> if (variable != null) {… }
      • “text %s”.format -> String.format(“text %s”,…)
    • @perishthethought@lemm.eeOP
      link
      fedilink
      English
      210 months ago

      Think about how you write code. Is it all new, or are there functions / API calls / whatever that you might re-use from time to time?

      If that’s possible, think about how you go find that code now. Wouldn’t it be cool if you could type a short bit like, “funcA” and boom! your IDE filled in the whole function? Or, worst case, you flip over to another tool, find the snippet you want, copy and paste it into your work.

      That’s what I am thinking about, at least. I’m just not sure how I want to get there yet.

      • @crimsonpoodle@pawb.social
        link
        fedilink
        110 months ago

        You could just write a little terminal utility that puts the string literal of the snippet in your copy buffer with a little search and db for finding the right one and storing new ones— might have to have some weird cases for cross platform tho

    • @Luvon@beehaw.org
      link
      fedilink
      110 months ago

      If you are unfortunate enough to code in a language where the “designers” thought EVERYTHING should be multi command structures in an English like syntax……

      Then you basically need them to autocomplete how to correctly write everything 😅

      I use Abap at work from sap. Its special.

      They have over 3000 key word structures. It’s ridiculous.

  • @brewbart@feddit.de
    link
    fedilink
    710 months ago

    I would recommend looking into personal knowledge management. I manage mine in Obsidian and treat snippets like permanent notes

    • @Spazsquatch
      link
      110 months ago

      Maybe not something you intended, but your phrasing has me curious if Obsidian has some sort of temporary note? I can imagine some use cases.

      • @brewbart@feddit.de
        link
        fedilink
        110 months ago

        Temporary note in terms of auto delete after a time? Although the manual Zettelkasten workflow intends you to delete your temporary notes by hand, it is pretty easy to automate this in Obsidian. Personally I have some actions for meeting minutes and notes on people to be moved to designated folders, but the same principle could be applied to create an action to delete any note older than X days

        • @Spazsquatch
          link
          110 months ago

          Yeah, that’s what I was thinking, and you are right that automation wouldn’t be hard… although if I’m setting up that automation I’ll fail to commit to the deletion and just move the files to an archive folder. 😳

          I only adopted Obsidian recently and only because I liked the idea of the data being stored as plain text files. I really haven’t adopted any system, just replaced Apple Notes.

    • @perishthethought@lemm.eeOP
      link
      fedilink
      English
      110 months ago

      Hmmm, I am using Logseq for that kind of note rn, but don’t really like the way it handles code. I assume that’s a markdown problem, not a Logseq one, but I should look again.

      • @nichos@programming.dev
        link
        fedilink
        110 months ago

        I’m using logseq for snippets too. I find it to be adequate. 3 ticks and the language will get you monospace and syntax highlighting:

        cd $HOME
        ls
        
      • @brewbart@feddit.de
        link
        fedilink
        110 months ago

        Well, Obsidian does have a bazillion plugins that make handling all kinds of content easier. I’m pretty satisfied with the out of the box experience though

  • Veraxus
    link
    fedilink
    6
    edit-2
    10 months ago

    Jetbrains IDEs have “Live Templates” that I use extensively.

    For little notes and snippets (especially CLI snippets) I use an app called Stashpad, which I LOVE.

  • @shiveyarbles@beehaw.org
    link
    fedilink
    410 months ago

    I have like a zillion notepad++ tabs. Every once in a while I’ll go through the tabs to see if I want to save the snippets.

    • @perishthethought@lemm.eeOP
      link
      fedilink
      English
      210 months ago

      Thanks. I am thinking about whether a self-hosted service is overkill for this, for my purposes. I kept my question broad in order to find out if most people just keep their snippets on their own PC or what.

      I will check this out and I’m also looking at Snibox.

  • terrehbyte
    link
    fedilink
    English
    210 months ago

    I’ve only used code snippets in VS Code which can store them in user settings for synchronization. They can also e stored in project settings, which can be optionally synchronized via source control.

    I tend not to need them in larger projects where a lot of codegen is available or macros, so I haven’t thought about a solution for things like VS or manual syncing.

    • @otl@lemmy.srcbeat.com
      link
      fedilink
      English
      310 months ago

      I mean, I get it. But… damn… can you imagine the relative computing power required to read a text file versus asking a LLM to generate that same text?

      • Ok.right in the feels.

        To be honest, I try to search before on stackoverflow most of the time, due to the ability to write a few keywords and get a suitable answer versus formulate a prompt for the LLM.

        But on the other side, llms are used for so much bullshit and invaluable prompts that my questions for helping me in my job has a more worthwile argument.

        But of course it is a problematic topic related to llms.

        • @otl@lemmy.srcbeat.com
          link
          fedilink
          English
          110 months ago

          Haha no worries mate I totally get you. One of the best things about LLMs when I’ve played with them is it exercises my ability to write questions and requirements

  • Gamma
    link
    fedilink
    English
    2
    edit-2
    10 months ago

    Vscode syncs them across all my computers (and even into browser sessions), so I use that.

    If you’re meaning a place for code, I have a private scratchpad repo

    • @perishthethought@lemm.eeOP
      link
      fedilink
      English
      110 months ago

      I work in VSC most of the time too, so using its built-in user Snippets feature seems to make the most sense. How do you get it to sync across computers? (I can go look into that if it’s a native feature)