I'm trying to make an application in C# that can download, install and manage various games that I and a few friends'll be making.
I know how I'm gonna do it, but I want users to be able to use this app on both Windows and Linux as most games will run on both. That's not the big issue, I know how I'm gonna get that working. Ohhhh, the power of Mono and GTK#.
The issue is, however, that for GUI-designing I can't figure out how to design GTK windows within Visual Studio just like you can with Windows Forms. I don't know if there's an add-in or whateverthelike, I just need some way of designing my GUIs for Linux.
I am running Visual Studio Express 2015, on Windows 10.
I have never seen a public version of a Visual Studio embedded GTK (+/2/3) Designer, let alone one that supports GTK#.
As far as Mono GTK# goes, it's designer is called 'Stetic' and is embedded into MonoDevelop/Xamarin Studio.
Stetic has a GUI based designer but also uses the files produced from that designer to generate the C# code from a xml file (gui.stetic) and combine that with user written code (actions/events/etc...) via C# partial classes.
You can also use the Glade Designer (older versions) and import them into MD/XS and it will convert them to a gui.stetic files and thus create the C# classes for your UI. This is what I used to do when I needed to knock out a complex GUI prototype quickly. Stetic can really try your patience with the ways it works, but in the end, personally I would skip the Stetic and Glade GUI designers and just code the GTK# containers, widgets and actions in straight C#.
http://www.monodevelop.com/documentation/stetic-gui-designer/
Stetic GUI Designer Move to Glade for Gtk#3
GUI building with GTK#
MonoDevelop editor GUI designer
https://glade.gnome.org
Related
I have a web application that creates complex Office documents in Excel, Word, and PowerPoint; and I need to convert the application from Visual Studio to Visual Studio Code. The previous application uses the Microsoft Office Interoperability Assemblies to generate and manipulate the documents. So far I haven't found any comparable interface or extension for Visual Studio Code. Can someone point me to a possible solution?
You can use the same technique even in VSCode. It allows adding COM references to projects, see Adding Microsoft.Office.Interop.Excel to VS Code for more information.
The previous application uses the Microsoft Office Interoperability Assemblies
Office Automation is used for dealing with Office applications locally. If you are moving the code to VSCode you may also consider using the Open XML SDK instead, of course, if you deal with open XML documents only. Read more about that in the Welcome to the Open XML SDK 2.5 for Office article. Also you may take a look at any third-party components that don't require Office applications installed on the system.
I use AppleScript in my Mac for automating various processes in my computer. I know that Visual Studio Code does not have an AppleScript dictionary.
Is there any way to programmatically control Visual Studio Code eg using Python or any other programming language?
As an example I would like to programmatically get the path of the frontmost document.
I know that VSC has a JavaScript API . Can I use this for automation purposes?
I guess a lot of such automation / programmatic control can be done via the JavaScript extension API.
There is vscode.window.activeTextEditor, and that gives you document.fileName or document.uri for the filename, and selection.active to get you the cursor position (example).
It looks like this API allows for a lot of automation, e.g. moving cursor around, inserting text, etc.
There is vscode-ext (active fork) to write Python extensions. When you look at the code, you see that this provides a websockets bridge from JavaScript inside VSCode to Python in a separate process. This bridge could be use for controlling VSCode from some external process.
Further, I just learned about the Robot Framework / Robotic Process Automation (RPA) Framework (also with Python backend). I'm not sure but it might be helpful.
In the company where I am right now we use Lua for some smaller macros in our software, the software is programmed in Object Pascal. We have made our own Lua Functions we often use when developing macros.
Is there any possibility to integrate our own Lua Functions in Visual Studio Code ?
We would like to use Visual Studio Code to develop the Lua Scripts for our macros, it lightweight, easy to use and has plenty of extensions.
There are some extensions in VSCode that allow you to edit them for this type of thing, but they are very rare.
What you can do is try to create your own extension for your company, it's really easy, you can see how to start here, and see how to create content for your extension like commands here
I'm using VS Code several days as MonoDevelop replacement in Unity3D on Mac OS. I installed mono via homebrew as suggested to let VS Code to parse system assemblies. Everything works almost great, but I can't navigate definitions that are not part of my code. For example I can't go to definition of System.String or UnityEngine.Vector3 to see methods signatures. MonoDevelop has Assembly browser but I miss it in VS Code. Does anybody know if VS Code has such feature? Maybe I need to setup something for that?
PS: I've posted feature request. If you're interested in this feature vote for it, please.
https://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/14698887-implement-net-assembly-browser
It seems VS Code now can do that with the new extension ms-vscode for C# support. Previously it was recommended to use Legacy C# Support for Unity3D. I don't know exactly if this recommendation is still valid, but I tried to uninstall legacy and to install normal one. After some background work OmniSharp parsed my files and now it can open classes from assemblies! Look at this picture, it has open AnimationCurve class as [metadata]!
I'm trying it with Unity3D 5.5.0b2 beta now, so I'm not sure if this will work with production release of Unity3D. By the way I also removed VSCode plugin from dotBunny out of project as Unity3D 5.5 supports Visual Studio Code self.
i'm trying to develop an application with Gtk# and MonoDevelop.
I like Mono and i like Gtk#, but the problem is there's a lack of "official" book about it.
You could say "there is mono site with documentation", i know, but i would like to find a "comprehensive" book about Gtk#, like the classics Wrox or aPress book about .net, asp.net etc.
Does anyone know if exists what i'm looking for ?
You have to write it :-))
Seriously, all you need to do is this:
Install GTK runtime
Install GTK#
Get the GTK# assemblies from the GAC and reference them in your project
Start glade and create a window with some buttons, textboxs, etc.
Save the glade file
Create a new console application and copy the text from mono gtk#
"getting started" program in there, or
google for a gtk# hello world program.
On point 6 you have to use intellisense for loading of the glade file, because the parameters changed (other sequence) since the tutorial was written.
That's all. You can still tell visual studio to open .glade files with Glade, that way you get a smooth experience.
From there on, you can google any minor issue if you have a problem.
If that doesn't solve the problem, there still is the mono mailing list, or the stackoverflow forum.
If you need any deeper knowledge of GTK, you can buy a C/C++ book over GTK. But all the problems you will have is probably sizers and datagridview.