http://qs1969.pair.com?node_id=1231171

VinsWorldcom has asked for the wisdom of the Perl Monks concerning the following question:

I'm not a developer by trade, but I do coding in the course of my job. I'm also not a language monogamist - I use whatever I have to based on the others I'm working with. Given *my* choice, it's Perl.

I happily use Notepad++ (I'm pretty exclusively on Windows, so Strawberry Perl as well) for my "IDE" with *lots* of plugins / customizations. Let's call it an IDE-lite - not good enough for a serious developer, but good enough for me.

I like that the text editor portion of my "IDE-lite" (Notepad++) is consistent when I switch from Perl to Python to XML/XSLT to C++, etc... Beyond the simple copy/paste keyboard shortcuts - ALL my shortcuts are the same - Compile/Run, Lint, format code, right-click menu, etc... all the same shortcuts because the same underlying editor. I don't have to learn all new shortcuts when using a Perl-specific IDE and a different Python-specific IDE and a different Java-specific IDE ...

Lots of folks I work with are using VS Code now though and for consistency, I'm looking at it. It works well with Python and C++ and other language in use here, but the Perl support is pretty lacking. I've found 2 Perl extensions worthy of note:

The latter seems to work pretty well and I find the lack of a debugger a non-starter, so that's good. But the Perl extension is supposed to provide the function list parsing and intellisense-like completion as well as Perl Tidy, but I can't get it to work (I have ctags installed and working separately). I'm trying to make it work, but I keep going back to my Notepad++ setup.

QUESTION: Is anyone here using VS Code for Perl development? What is your experience? What extensions are must haves?

Replies are listed 'Best First'.
Re: OT: Yet Another IDE Question (VS Code)
by thechartist (Monk) on Mar 12, 2019 at 18:30 UTC

    Can't say much about VSCode; I use either Emacs or Vim on all Windows and *nix platforms. I really should set up EVIL emulation in Emacs, but have just been too preoccupied to do it. Standard Vim has been good enough.

    As long as the editor has syntax highlighting, I am fine. The Perl debugger can always be invoked from a command shell on Windows. Ideally, I would have the program text in one frame, and the CLI in another; I can get this set up easily in Emacs on *nix, but that doesn't seem to work as well on Windows.

    It might not be worth it for you to learn one of these editors if you work mostly on Windows. If you have to do anything in .NET languages, it is generally advised to stick with Visual Studio, or I suppose VSCode in your case.

    I picked the above editors as they are cross platform, stable, and will generally have a syntax checker for virtually all programming languages in use. I've even done a (very) small amount of C# using Vim. I understand it isn't ideal for larger projects with development teams, however.

      Installing evil via melpa ("emacs-Pan" ;) was pretty straightforward for me.

      You might also be interested in my 2016 talk "Emacs as Perl IDE" it lists most of the extended options.

      It's twice on YouTube I recommend the Yapc Cluj version over London PW. =)

      (Slides better readable, sound worse)

      update

      https://youtube.com/watch?v=jauckPY4EwU

      Cheers Rolf
      (addicted to the Perl Programming Language :)
      Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

      And all that was relevant ... how?

      The likelihood of someone used to Windows not running in terror upon the sight of Vim or Emacs are pretty slim and I can't see them using command line debugger either.

      Jenda
      Enoch was right!
      Enjoy the last years of Rome.

        For what it's worth, my first Emacs was on Windows. And so was my first Perl.

        If for whatever reasons you have no choice regarding the operating system, that combo can help getting your job done quite fine.

        Which proves you never used emacs on windows.

        Cheers Rolf
        (addicted to the Perl Programming Language :)
        Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Re: OT: Yet Another IDE Question (VS Code)
by LanX (Saint) on Mar 12, 2019 at 23:37 UTC
    I think the free "Komodo Edit" might be the right tool for your requirements.

    (I use emacs, but I've done a fair deal of IDE and user profile comparisons)

    update

    Hmm I thought the visual debugging was part of edit, not sure if they changed it.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery FootballPerl is like chess, only without the dice

Re: OT: Yet Another IDE Question (VS Code)
by stevieb (Canon) on Mar 13, 2019 at 01:07 UTC

    This doesn't answer your specific question, but I use:

    Even when I'm developing my Raspberry Pis, I simply mount my repository directory from the Pi onto my local workstation, and develop directly. The IDE has a built-in terminal as well, so I keep that open SSH'd to the Pis in order to actually run/test the code as I write it.

    In fact, I use several of their products for C/C++, C#, Perl and Python work. Most of their software is available free (community edition) which is pretty-well fully functional. Some software (their C/C++/C# IDEs for example) is not free, but the IDEA IDE is.

    Disclaimer: I've got one of their Open Source licenses which allows me to use all of their entire software suite for free, renewed yearly).

    Update: I also use intelliJ's CLion for my microcontroller coding (Arduino, ESP etc), and use the Arduino command line interface (within a script) to upload the compiled binary from the IDE to the micro unit.

Re: OT: Yet Another IDE Question (VS Code)
by bliako (Monsignor) on Mar 13, 2019 at 19:01 UTC
    I'm also not a language monogamist 

    !! Cheat on your OS a little. I am sleeping with a penguin. It's so cool inside.

    I have used IntelliJ and it breaks my nerves every time. I hate all the defaults, and code folding. I find auto-compiling a stupid idea (who pays for all those CO2 emmissions?) and spell-checking patronising. I am a minimalist. I carry source code of micro-emacs 3.9 (but lately I have finally succumbed to using 4+) to anywhere I go to work. Long before Linus Torvalds admitted he is using it. What's more satisfying than ending a day's work at carving code with ESC-z ? I have been doing it since 1990, first day at university's computer lab. Can't forget that day, me and micro-emacs and 100 newbs all learning the META.

    disclaimer: I am not advocating (or practicing) bestiality - no animals were harmed, bw bliako

      Sounds like someone stuck in their old ways ;)

      Change defaults, save config, save config in repo; new setup? Pull repo, implement saved config, and voila.

      To boot, I use my editor of choice, vi/vim within the IDE, so if I'm ever in a position to have to work on something outside my IDE of choice, it's built-in on all Penguin systems (I use *nix everywhere, and Windows when I'm developing for berrybrew).

      I'm a minimalist as well... I've been working for three years to achieve off-grid and self-sustainable status. The vast majority of my computing hardware (two laptops, a handful of Raspberry Pis and a half-dozen Arduino/ESP microcontrollers operating at any one time) are all on solar-powered electrical storage.

        Brand new you're retro

        Sure I am stuck: energy self-sustainance was my plan as well, but things did not charge up that way, unfortunately.

        Interesting idea to save IDE configs in repo. Do you achieve 100% reproducing the IDE environment when you move on different systems or even different OS? What's like upgrading the IDE? Does it look the same afterwards?

Re: OT: Yet Another IDE Question (VS Code)
by dbuckhal (Chaplain) on Mar 13, 2019 at 16:23 UTC
    Hi VinsWorldcom,

    I am currently using VS Code for some of my Perl coding, but usually use Vim for my scripting needs. With that said, I installed the Vim plugin, so that works well for me.

    Sorry if not too helpful, just my $two_cents...