I've developed a Product which has scripting functionality. I've used the CS Script(C# script) engine to provide this.
I am now looking for a simple and lightweight IDE to ship together with my product. The IDE needs to be very simple and plain for my customers. Ideally it should look something like Notepad++ but has auto-completion feature.
NOTEPAD++
I know some people may suggest Notepad++ with which has an auto-completion plugin. However,the problem with Notepad++ is that it is VERY COMMON in most of my customers machine, therefore I may not be able to override the installation with my Customized Notepad++ files.
VISUAL STUDIO EXPRESS
Visual Studio Express has been suggested in another topic, however, Visual Studio Express is NOT light weight. I want something easy and portable.
Related
I have created a C# application in Visual Studio 2017. Now I would like to distribute my application as a single windows installer file.
I was hoping for a simple one-click solution (select all the files I want to include -> voila! there's the installer). But it seems to be not that easy :-(
I often read that Visual Studio supports setup projects. But that does not seem to be the case anymore, right?
Third party tools are either very complicated (e.g. Wix, Inno Setup) or very expensive (e.g. Advanced Installer).
Is there really no simple way to wrap some files in an .msi Windows installer?
Does Microsoft provide no tooling to create such installers?
At one point, Microsoft did remove the "Visual Studio Installer Project" support from Visual Studio1. And then they later relented and added support back. I can't remember which versions didn't have support, I think it was 2012 and 2013.
These days (for VS2017), to get the Visual Studio Installer Project support, you add it from the marketplace:
This extension provides the same functionality that currently exists in Visual Studio 2015 for Visual Studio Installer projects. To use this extension, you can either open the Extensions and Updates dialog, select the online node, and search for "Visual Studio Installer Projects Extension," or you can download directly from this page.
Personally, however, I'd go with WIX. It does have a learning curve but I think it's learning worth doing.
1For what I personally see as very good reasons. You had to have a full-blown install of Visual Studio to make them work, they didn't really integrate with MSBuild, which makes them a pain if/when you want to move to automating your builds.
VS Installer Projects: Several good answers already - worth trying out. As stated by others you can use Microsoft Visual Studio 2017 Installer Projects - as limited as they are (bullet list form). They feature some pre-requisite functionality as I recall. I have limited experience with the tool. Could work for something very simple, but you will quickly discover limitations.
WiX: Personally I would use WiX since it is also free and flexible - it takes some effort, but is very capable. Here is a WiX quick start tip answer (frankly not my favorite answer, but it has been upvoted more than usual and updated frequently - hopefully it still has its essence of helpfulness).
IsWiX: There is also IsWix - a GUI tool to help create WiX setups (Chris Painter's work). His WiX tutorials and a quick youtube demo.
Et Al: The commercial tools (Installshield, Advanced Installer (see Bogdan's answer in this "thread"), PACE Suite, etc...) are also good - your time costs too. Can be shocking once you add it up - and you will definitely get running quicker with a commercial tool. How to create windows installer (links to pretty comprehensive lists of tools and some MSI information). Further links below.
Other than that, I'll just link to a few pre-existing answers with info about various tools:
Quick review of different MSI tools
What installation product to use? InstallShield, WiX, Wise, Advanced Installer, etc
or very expensive (e.g. Advanced Installer).
There is a also a free edition which includes a Visual Studio extension for Advanced Installer, which you can use to build MSI packages.
The following tutorial shows how you can use the features from the free edition ("Simple" project type):
https://www.advancedinstaller.com/user-guide/tutorial-ai-ext-vs.html
https://www.advancedinstaller.com/user-guide/tutorial-simple.html
P.S. I work on the team building Advanced Installer.
I've been having this problem with visual studio that I cannot seem to find a simple answer to. I would like to be able to save out versions of my visual studio project so that I can test a concept I have in mind that may dramatically change my code and if I do not like the outcome, I would like to be able to load up a older (previous) version of my project. Every googled answer I have found for this problem has been some kind of big professional development version control software. Its crazy to me that there is not a simpler way. I suppose I could copy and paste my project dir each time I want to save a "version" and just rename it, but this seems rather archaic. I use many graphic applications that simply have a "save as with new version" feature and I can easelly load and version I have saved.
any advice would be amazingly helpful.
thank you!!!
Just use git!
https://git-for-windows.github.io/
It is a very simple light weight version control system, that will do everything you are asking for. It is free, and should only take a few minutes to set up.
Does anyone know of an extension/add-in to visual studio 2015 that lets me mark two (different) files in solution explorer, right-click, and display the same Compare window used with source control?
I can use compare on one file and get the dialog window where I can replace the TFS path with a path to the second file, but this is a time-consuming operation as I tend to compare quite often (I have an external tool that updates two or more data files in my project).
I can recommend you CodeCompare.
The free version has a ton of features and has an amazing visual studio and eclipse integration. The option for comparing is mind bogeling. Trully amazing tool that actually also looks very nice.
It is a standalone tool, but also integrates seamless into VS
what is sourcesafe?
i am trying to download it to see if it will work well with c# because someone told me to download it for a job, but i don't even understand what it is?
is it built into the visual studio ide or what?
SourceSafe is a poor and obsolete source control system.
It can store an application's source code and show revision history, and allow multiple developers to work on the same project efficiently.
It has been replaced by Team Foundation Server.
Sourcesafe is a version control system from Microsoft, some would say not a very good one. It's not part of Visual studio however it does integrate into it. MS have now replaced VSS in their Team System version of Visual Studio.
Source control is a great idea, and experience with them will definitely help your Job hunting, but don't constrain yourself to Sourcesafe, also checkout (pun intended) systems like Subversion etc.
I'm beginning to work on a COBOL/BASIC IDE at work (to replace the one that we have currently that's a slight step up from Notepad). It'll be made in C#. The management is really interested in implementing some Visual Studio type features, and a big one is code folding. I've looked on MSDN, but I didn't see any good way to collapse lines (or to add the expand/collapse buttons).
I'm assuming that the text area should be a RichTextBox. Am I off track here? I suppose it could be done with some sort of modified TreeView, but that seems a little wrong to me. Is there some way of doing this that I'm just missing?
Why not use an existing IDE and extend it? Writing one from scratch is a huge undertaking (you need a parser, lexer, syntax highlighter and more), and is even more complicated if you need to support multiple languages (you mention COBOL and Basic).
Notepad++ has syntax coloring and one can add languages to it - COBOL is one of the ones installed by default. It supports code folding and has many plugins (you can write your own, that will suit your needs).
Edit:
Eclipse is another excellent IDE that has similar support, and as mentioned in the comments has a COBOL plug-in.
I suggest you take a look at SharpDevelop. It's a pretty good IDE with a bunch of Visual Studio like features already built in. It's written in C# and fully supports code folding with syntax highlighting in several languages. Plus, it's Open Source under the LGPL license. So, if you don't want to base your app on SharpDevelop then you can still reuse some of their controls like the code editor or windowing toolkit.
You should consider adding the COBOL language to SharpDevelop instead of starting from scratch. If you can't do this, then you can still use the SharpDevelop code as a decent reference on how to make a good IDE work.
Sometimes embedding Eclipse or a full-fledged editor is not appropriate. It's overkill or overweight or wrong for some other reason. I appreciate the first inclination suggested in other posts to not re-invent here, but in some cases a small invention is what is necessary. For example, the textbox used to make Stack Overflow posts .... is neither Eclipse nor an embedded Visual Studio. I wonder why?
It's important to ask the question - build it or buy it? - but sometimes, the correct answer is BUILD IT.
XPathVisualizer provides a simple example of a code-folding text editor implemented in C#, and based on a RichTextBox. It's not VB, though - it's an XML editor. But the general principles apply.
Here's a look at it.
To implement XML syntax colorization dynamically, while the user types, it uses a separate background thread. The reasons why and some of the details are described in a separate answer on Stack Overflow.
You could do something similar for your COBOL/VB thing. XPathVisualizer is open source, licensed with MS-PL, so you can browse and borrow.
If your team is used to "Visual Studio features," then I'll assume you use Visual Studio there at the office. Here are my suggestions:
Base your IDE on Visual Studio, for the following reasons:
Use Visual Studio 2010 if possible. The SDK is greatly improved from 2008/earlier.
Use Visual Studio 2008/2005 otherwise. At the moment, all of my commercial IDE products only support 2005/2008.
If your team uses Visual Studio, they will hate Eclipse. Not even an option to consider in this case unless you choose to use an existing Eclipse plug-in, saving you the time of creating a new IDE.
If your team isn't using Visual Studio 2010, you can use the Visual Studio 2010 Shell in Integrated Mode for free (Isolated Mode is not what you want). This lets you use Visual Studio 2010 for your IDE for now, and should the team upgrade later to one of the full versions of Visual Studio 2010, the IDE for your language will cleanly integrate into the full version. Edit: Visual Studio Shell is basically the core of Visual Studio without any specific languages (C#, C++, VB, etc.) included. Microsoft provides this core for free, and it's a great option specifically for people interested in creating their own language support.
Read my answers in the following two questions:
Here's a longer post on my reasons for using 2010 over 2008: How do I implement intellisense support for a custom DLR language in VS2008?
Here's a very long answer on implementing various features (most of which are based on the 2005/2008 SDK): How do i implement intellisense for my language in visual studio?
Writing a complete IDE is a HUGE task. I would recommend trying to find an existing one that has what you want, or make adaptions to an existing open source IDE.
To answer your question: I guess that the Visual Studio IDE uses a custom control, written from scratch, rather than a RichText control.