Does Visual Studio 2022 have the same ability to open a javascript/nodejs project folder in a WSL2 Linux as VS Code is able to do? - node.js

If I'm in my WSL2 Ubuntu filesystem I can simply navigate to a javascript/nodejs folder and type code . to open that project folder and thanks to VS Code's Remote extensions, I'm essentially remoting into the Linux environment and ready to code.
Now Visual Studio 2022 has been released, I was wondering if it too supports the same level of cross-platform IDE capability as VS Code?
How, for instance, when in my WSL2 Ubuntu project in Windows Terminal, can I open my javascript/nodejs project in the Linux filesystem using VS2022, or is this not supported because VS Code is the only cross-platform IDE that can do this?

So its not really possible to do how your thinking. The problem here is that you your not understanding the difference between a "Code Editor", and an "Integrated Development Environment (IDE)", which is totally understandable, as the line that separates the two has become blurred in recent years, and also a topic of debate. There was a far more explicit distinction between the 2 10-15 years ago, however, Microsoft has done a good job at separating the two, where JetBrains will release a piece of software that can be used as an IDE, but is more often than not, used as an editor, but will still call it an IDE, even though its not an IDE in a pure sense.
How is all this related to your question?
When you open your Node.js project in VSCode via the code . command, you are opening it in an editor that implements Intelli-code, as well as a wealth of other tools, but essentially, the editor, and all the tools extract the names & file extensions of your documents, parse them (usually turning much of the info into an AST, where many extensions will make use of that info to offer the various tooling capabilities/features. The point is at the end of the day, the editor just parses all of your code, gives you info, and you make any changes as needed to your code. And again, this is what your doing with code .
With Visual Studio 2022, you can't open a project with it, unless its a project type the IDE supports, and enables the IDE, to embed its-self into your project. This includes things like built in environment, built in cache, built in build system, the files needed to bootstrap its-self. With an IDE, the IDE is part of the project.
So then why does Visual Stdio 2022 work with Node?
It works with node, to create Node.js applications within a windows environment, and it offers the ability to access different Windows SDK features via Node. These are things you could never do using server-side Linux builds with Node. When you build a Cpp application for windows, you package the entire thing in a .sin file, I haven't built a windows app in node, but I know that Node also uses the .sin file build system, which requires Visual Studio & Windows SDK to do, and parts of Visual Studio/Windows to be embedded into the project, for the project to be able to work in a Windows OS, and take advantage of MS Windows features.
Long story short, V.S. Code is the right tool for what your doing, why would Microsoft invest in two identical tools any way? If you ever want to build something for Windows, or for MS mobile device using Node, you will probably want to change your environment, to VS2022.

Related

Libadwaita on windows 10 & 11

I am new to GTK development. I started using GTK4 and it is really grea. As far as I understand libadwaita is used for reflecting dynamic system changes of colors (light/dark/contrast, etc) in a GTK4 application. This is system solution and if so, I think it's great. Instead of having custom based stylesheets the application will behave according to the system settings. At least on Linux.
My question is: is Libadwaita available for windows systems (my app should react on system changes on windows 10 & 11, as well) and if awailable how to use it? Github for libadwaita constains an example how to create application (HelloWorld) but it is disabled for MS Visaul Studio.
Is libadwaita only for Linux? If so, how to keep code portable?
Yes it is, for Visual Studio 2015 or later on the libadwaita-1-1 and later branches. Be sure to pass in -Dc_std=c99 if using VS2017 or 2015, and use -Dvapi=false unless you have Vala installed when you run Meson to configure the build (the dependencies should be aligned with GTK-4.6+) Run Ninja, and you should be good to go.
The sample program was (purposely) not updated to build with Visual Studio, but there is still adwaita-1-demo.exe that is being built.
The “system settings” would, by the way, depend on how you set up things via GSettings, which would in turn be done in the system registry. You need to install the gsettings-desktop-schemas package (it is also built with Meson and works with Windows), and run gsettings set org.gnome.desktop.interface color-scheme prefer-dark, and you would get the dark theme that you were asking for.
Hope this helps.

How to use IVI-C instruments-drivers (not IVI-COM)

I want to use IVI-C instruments-drivers (not IVI-COM) in Visual Studio 2012
Someone ever did this?
I only found examples for Visual Basic.
Drivers are downloadable on keysight.com-website which are free to use.
For VISA i installed Keysight IO-Libraries.
I'm doing something similar in Visual Studio 2013 using VB, but the basic principles will be similar for all languages. You probably know all of this already, but the question is a bit vague so here goes:
You need to install the drivers plus an SDK (which comes as a dll). Hopefully the SDK will come with a manual of commands in your language of choice, but if not study the manufacturer's coding examples in VB or whatever.
It is easiest to use the languages provided in the SDK (usually VB and C#, maybe C++) otherwise you will have to write an interface between your language and the actual command syntax and work in a multi-language environment.
The drivers and the SDK need to be referenced in your project after you have installed them. (MyProject, Reference Tab, use the Add command and Browse for the files.) Sometimes its hard to find the correct files but VS 2013 is quite good at telling you when you get the wrong ones.
You may have to target your build (Build|Configuration Manager) on x86 processors because there are no x64 drivers for much of this kit - check with Keysight.
Then, in your code you will need to:
instantiate a copy of the driver for the specific instrument:
Dim MyDriver As New InstrumentManufacturersDriverName
initialize it using the manufacturer's commands (on my kit initialization connects the driver to the physical interface via USB):
MyDriver.Initialize(ParametersIfAny),
set up the ports you want to use (very dependent on the specific hardware)
program your commands.
Use a lot of patience and trial and error at first.
Best of luck - it's not so difficult.

Building on Windows XP, when development is on VS2012?

We're planning moving from Visual Studio 2005 to Visual Studio 2012 (Visual-C++-11).
(We would very much like to skip 2010 if we can help it, since the newer version is already there and offers a better C++ experience.)
But we've hit a little roadblock:
Our build servers still run Windows 2003r2 (all inside dedicated virtual machines), and due to messy tool support/issues, we're in no position to upgrade the build servers to a newer OS.
Developers mostly have switched to Windows7 by now, so moving the remaining Windows XP developer boxes shouldn't pose a problem.
Since VS2012 only runs on Win7 we are wondering whether we can leverage it's tools (C++ compiler, C#) and still do a full equivalent build on the W2k3 build server - after all, we don't really need a VS GUI there, just build C++ and C# projects from VS2012.
What are our options?
Will the SDK (7.1? 8?) compilers + msbuild command line get me anywhere?
In Project Property Pages, there an option "Platform Toolset" that allow you to choose compatibility of your project. So, you can work in VS2012, but built it with "VS2008 compiler"
Here is what we do:
Use CMake
CMake allows you to create build systems for your operating system. Thus we are able to use the same code within VS2005, VS2010 and Eclipse, XCode etc.
You could do something similar: Install VS2005 on your old machines and let CMake create the projects for you from the sources. On your newer machines you can use CMake to generate VS2012 Solutions (I don't know if they have 2012 support yet, because we don't use 2012 yet too).
A big pro here is: If you plan to migrate to any other IDE or even Linux you just can re-run CMake and get your source code within these environment easily compilable.
A big con: You have to start reading about CMake and create CMakeLists.txt for all your projects (might be a lot of work depending on the amount of projects, amount of source code files within each project, specific compiler options, linker options etc.)
Our build servers still run Windows 2003r2 (all inside dedicated
virtual machines), and due to messy tool support/issues, we're in no
position to upgrade the build servers to a newer OS.
Well. Not much came out of this question. We recently re-evaluated this issue, and I see two options (I haven't tried any yet):
Just do a full VS installation on a supported OS (Win7), zip up the whole VS+WinSDK directories (as well as the neccesary runtme DLLs that live somewhere under %WINDR%), and try if you can get that thing working on an XP based OS. Might work. Not a great idea if you ask me.
Split up the build process to distribute the build across several OS, so that we can work with tools that are only supported on one of them. -- This actually sounds more complicated than it'll be. We already run our build spread over several Jenkins jobs, so I should be able to get that to work. (And all build nodes are already VMs anyway, so adding more VMs isn't that much of an issue.)

Develop Windows applications with Linux tools

I like the Linux operating system and vim editor, but there are many companies that develop under Windows environment in Visual studio etc. There is a possibility that I will have to work for such a company in about a month.
I'd like to do my work on my Linux system and copy the files to them. I have experience with both developments and I found out that I don't want to work with MS products but I like programming and writing MS code is not such a pain.
Are you a similar developer? Could you give me some advice about your methodology to be most of the time on Linux platform, to create code and debug everything in vim on Linux and only when neccessary open Visual Studio with Windows forms and similar things and test the things that weren't possible to test in Linux environment?
I would see the work in creating small peaces of code on Linux, testing them and then move it to MS platform and integrate to the whole system. How do you debug and test your code? The development will be probably in C# or C++. I can't imagine Visual Basic.
Please write here your experience, style of work, if this has sence or there are too many troubles and I should rather give up.
So the question is: How to develop applications that run on Windows with Linux tools, without touching Visual Studio and browsing with Windows file manager etc.
thank you
Not sure, if this will help you or not but there is a Vim Emulation layer for Visual Studio 2010 called VsVim.
Check out : http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329
If I were you I'd install MinGW or Cygwin on your windows machine and just use gvim/vim anyway (or maybe just use the Win32 vim).
VS is just a big editor. You'll be building with the microsoft compilers ( perhaps using msbuild or nmake ) but probably are going to have to accept that you can only debug windows things with VS ( unless you build for MinGW or Cygwin and use gcc and gdb)
You can use vim as a code editor, you can even stick on Linux when developing software for the .NET platform. The people behind the Mono make this happen. Mono is a software platform designed to allow developers to easily create cross platform applications. It is an open source implementation of Microsoft's .Net Framework based on the ECMA standards for C# and the Common Language Runtime.
You can stick to the editor of your liking and use the tools that come with Mono to compile your stuff. There is a IDE called Mono Develop, but compared to Visual Studio it is pretty basic... and compared to VIM it lacks simplicity.
C# projects are plain text files so it's easy enough to edit them over an SMB share in whatever editor you wish from anywhere the sysadmins let you.
Testing however will be difficult without going back to the windows machine, and while Mono implements the framework, it's still a different environment if you're targeting Windows.

IDE and Debugger for node.js [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am going to start building project in node.js (was working in PHP before), What is the IDE, Debugger and Helping Tools for node.js, to help improvement while coding ?
There are several IDEs which support Node.js natively:
Desktop-based IDEs
WebStorm - popular and extremely powerful IDE for coding web applications. $100 for commercial license, $50 personal, $25 academic, free for open source developers upon application approval. Can also debug Meteor.JS applications.
Komodo IDE
Cloud9 Local - You can install a local copy of cloud9 on desktop as well and work on a local directory as workspace, follow the instructions on github page. Be sure to disable incompatible plug-ins from config. It provides proper debugging as well.
Cloud-based IDEs
Cloud9 IDE - cloud-based IDE with native support for development of Node.js applications including debugging and other features.
Koding Koding offers you a free rootable VM with Node. Also you can work on the same code with your friends.
Other than these two you can use almost any code editor/IDE which simplifies JavaScript based development in general (for example with syntax highlighting, autocompletion or similar stuff) and use node with its built-in V8 debugger.
Microsoft just launch a cross platform IDE "Visual Studio Code" in Windows, Ubuntu and MacOSX. It could debug node.js. Check detail here.
Koding is another good choice. It comes preinstalled with Node.js, Vim and Emacs, has a great community of developers, among many other things. Another few notable features are:
Free virtual machine (VM) with Ubuntu, root access, apt-get, and many commonly used tools
Built-in Terminal with 256-color support
All languages, databases, and command-line tools are supported
Various file upload options such as Drag & Drop, Dropbox, Clone from Github, FTP and the ability to access them using SSH
Real-time code and terminal collaboration with integrated chat abilities
Visual Studio now supports full dev lifecycle for Node.js if you install the Node.js tools, linked below.
Allows for full debugging, intellisense, color coding, and more.
https://nodejstools.codeplex.com/
vim and unix are your IDE.
If you want debugging then there is node debug foo.js or ndb or node-inspector or use the V8 Debugger.
Another option could be Netbeans with the NodeJS tools (even though I'm not using it anymore these days since I've been using JetBrains products now to be honest).
What it gives you:
A Node project type
Clickable stack traces in the output window
A run with node action on Javascript files (and of course, the project)
Integration with Node Package Manager (npm) and a slick little UI for adding libraries
GUI for editing package.json files, and generating their standard contents
Ability to store machine-specific command-line arguments (excluded from version control if you use NetBeans' version control).
Ability to download Node's sources so the highlighted stack traces point somewhere
http://timboudreau.com/blog/read/NetBeans_Tools_for_Node_js
Also NetBeans 8.1 and 8.2 seem to have brought some features for Node.js developers (see here and here).
Eclipse is a good IDE for JavaScript.
This page https://portawiki.abnoctus.com/view/NodeIDE.html
details mixing eclipseJS with the google v8 debugger and a few node specific plugins
http://code.abnoctus.com/publish/binaries/node-launcher/
To build an IDE with support for editing JS with syntax highlights and some degree of code completion, executing node from the IDE, debugging in the IDE, unit testing with nodeunit and fetching dependencies via NPM.
I've tested several IDE's to develop and run node apps. But I'm feeling very confortable with Microsoft WebMatrix 2.0. It's a nice lightweight and free IDE that you can run Node. There's some templates for Express framework to get started. And you can run nodejs processes through IIS Express.
Nodeclipse has chromedevtools fixed for Node.js debugging.
Enide Studio 2014 comes with Nodeclipse, JSHint-eclipse, AngularJS and more plugins
(source: nodeclipse.org)
(source: nodeclipse.org)
http://www.nodeclipse.org/enide/studio/2014/
Personally, I'm partial to Cloud9's IDE though they've had a few issues lately with various upgrades, and the growing pains of online systems can be an issue.
WebStorm 4 is another option, though I haven't tried it, I did try the plugin in WS3, which wasn't too bad.
From Microsoft (of all places) there's WebMatrix 2 from Microsoft that seems to support Node.JS pretty well. I have discovered that you can actually edit node based js files within the Visual Studio 2012 beta and get intellisense/autocomplete for node scripts probably from webmatrix's developments. I've been using node as a build step for CSS/JS processing, and it's been working well for me.
Aptana Studio and others seem to be scrambling to add proper node support. Right now options are relatively limited, but getting better.
What framework are you using for the frontend? If you're already familiar with Node, you might as well try the open-source and increasingly popular Meteor.JS framework. Check out MeteorPad for literally a one-click IDE for Meteor apps.
You get a virtual machine with MongoDB on it and the Meteor server. A sample project is already loaded, and you can edit the server and client HTML, JS and CSS files. The resulting app runs in the right pane. Makes playing with Meteor super, super easy.
Node is a relatively new project so there is not widespread IDE support yet. However there actually is an online IDE called Cloud9 IDE that you might want to check out. Otherwise I suggest you use a local editor such as vim or emacs.
See how-to-debug-node-js-applications for more information on debugging.
GitHub's programmable text editor Atom has node.js integration.
Try Microsoft's https://code.visualstudio.com. Its awesome.
Facebook's Nuclide has a number of IDE-esque features including dynamic typechecking (via flow), in-code linking, auto complete, etc. It's based on GitHub's Atom so you can pick and choose Nuclide packages as you see fit.
WebStorm 3.0 does all this stuff.
It auto completes in a smart way, includes nice debugging and unit testing. It also include number of inspection for javascript, which is also pleasant.
Now RC version is available, but JetBrains assure that it'll be released soon.
I use IntelliJ's Webstorm: http://www.jetbrains.com/webstorm for it's advance auto-complete features and Node.js/NodeUnit templates.

Resources