Home Download Buy Blog Forum Support

Windows C/C++/C# user questions

Windows C/C++/C# user questions

Postby webcliff on Fri Nov 18, 2011 9:24 pm

Hi there,

Just discover sublime text 2, love it, it's great, but need to solve a few basic blockers:
I am mainly a windows C/C++/C# user, and do not normally use make, how can I come up with a build system works for Microsoft's cl.exe csc.exe compiler?
Also, is there a use-able perforce tools which I can edit/submit files from.to perforce?

Another thing I have noticed that it does not do code folding for XML files.

Thanks,

webcliff
webcliff
 
Posts: 3
Joined: Fri Nov 18, 2011 9:19 pm

Re: Windows C/C++/C# user questions

Postby webcliff on Sat Nov 19, 2011 12:07 am

Okay, figured some of the things out, here is the build system I use:

C++
Code: Select all
{
   "cmd": ["cl.exe", "/O2", "/GL", "/W3", "/Zi", "/TP", "/EHsc", "$file"],
   "selector": "source.c++"
}


C#
Code: Select all
{
   "cmd": ["csc.exe", "/r:system.dll,system.drawing.dll", "/t:winexe", "$file"],
   "selector": "source.cs"
}
webcliff
 
Posts: 3
Joined: Fri Nov 18, 2011 9:19 pm

Re: Windows C/C++/C# user questions

Postby bdyck on Wed Nov 23, 2011 12:11 am

I wanted similar functionality to the default Python builder, so my C# builder is a little more involved.

Here's the .sublime-build file:

Code: Select all
{
   "cmd": ["\\path\\to\\sublimetext_csharp_builder.bat", "$file", "${file/\\.cs/\\.exe/}"],
   "working_dir": "${project_path:${folder:${file_path}}}",
   "file_regex": "^(...*?)[(]([0-9]*),([0-9]*)[)]",
   "selector": "source.cs"
}


cmd: Executes a batch file wrapper around csc.exe (more in a bit). The parameters to the batch file are the source file and the name of the executable to create (it swaps the .cs extension for .exe for the name of the binary).
working_dir: The directory of the current file.
file_regex: This is used to parse line numbers in the error output so you can double-click on them to navigate to the errors in the source.

The referenced batch file does a few things: it first executes %VS90COMNTOOLS%vsvars32.bat (this is for VS 2008; replace with VS10 for VS 2010), which sets up the PATH, INCLUDE and LIB variables for the shell environment. It then executes csc.exe with the passed-in C# source file and if successful, executes the resulting binary. The last step is easily removable, but I tend to only write small, one-off console apps in SublimeText and use VS for heavier lifting so it's useful for me. I've put the batch file in a Gist here: https://gist.github.com/1387512
bdyck
 
Posts: 1
Joined: Tue Nov 22, 2011 11:45 pm


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 19 guests