This note is for a trick to use Q and E to escape characters for regular expression. You will find it very useful when you do string substitution and your pattern contains characters like slashes or backslashes .
Category: Development
-
Perl Add Directory to Path
Say you have a directory d:bin and you want to add it to path environment at the beginning of your Perl script. Following code will do the trick.
my $dir="d:\bin";
$ENV{PATH}.=";$dir";Then $dir will be included in new $ENV{PATH}
-
Visual Studio Themes and Color Schemes
I just came cross this site http://studiostyles.info/ which provides Visual Studio color schemes for free download. All color schemas work for both Visual Studio 2008 and 2010. Every schema has screenshots so you can see how it looks like before downloading it.
You can follow following steps to import the color schema into Visual Studio.
- In Visual Studio, choose Tools > Import and Export Settings
- Choose Import Selected Environment Settings and select whether you want to back up your existing settings or not
- Click Browse… to choose the file you downloaded.
- You get a choice which settings you want to import – choose all of them since the file only contains color settings and won’t touch your other VS settings.
- Click Finish and you’ll see the new colors.
Note: if you save the file to My Documents > Visual Studio 2010 > Settings, you’ll have quick access to choose the settings file in step 3 above.
-
Perl Redirect Command Output
In Perl, you can execute external commands using system() or “. However, system and “ does not redirect command output to console and this results people who runs your perl script can’t see it. This also make debug much harder. Perl does not have a build in switch that equals to batch scripts’ “@echo on”, however this can be worked around by creating a ExecuteCommand subroutine.
sub ExecuteCommand {
my $cmd= $_;
my @cmdoutput = `$cmd`;
for $line (@cmdoutput) {
print $line;
}Now just change your code from system($command) or `$command` to ExecuteCommand($command) and you will see all command output are redirected to console. (more…)
-
How to Validate URL in C#
I searched google for how to validate URL in C# and most results say using a regular expression. Eventually I found Uri.TryCreate which is a built in method in C# to check if a string is a valid URL
Uri uri = null;
if (!Uri.TryCreate(url, UriKind.Absolute, out uri) || null == uri)
{
//Invalid URL
return false;
}
Reference:
http://msdn.microsoft.com/en-us/library/ms131572(v=VS.90).aspx
-
SpellChecker in WPF4 TextBox
TextBox and RichTextBox in WPF4 has the built in SpellChecker functionality. It’s currently available in following four languages
- #LID 1033 – English
- #LID 3082 – Spanish
- #LID 1031 – German
- #LID 1036 – French
Enable SpellChecker functionality on TextBox or RichTextBox is as easy as just setting SpellCheck.IsEnabled to True on the controls.
<TextBox SpellCheck.IsEnabled="True" />
-
CopySourceAsHtml for Visual Studio 2010
CopySourceAsHtml is an add-in for Microsoft Visual Studio 2008 that allows you be able to quickly get your code as HTML from Visual Studio, just like being able to save it as a HTML file from the Save As dialog. It’s very helpful if you frequently post code to blog or send code in email.
I recently switched to Visual Studio 2010 and noticed this plug in is not ready for Visual Studio 2010 yet. Here is how you can get it work for Visual Studio before CopySourceAsHtml owner releases an official update to support Visual Studio 2010.
-
Use coalescing operator to write more readable code
Tired of code like this?
public string Foo
{
get { return foo; }
set
{
if (value == null)
value = String.Empty;
foo = value;
}
}
public string Bar
{
get { return bar; }
set
{
if (value == null)
value = String.Empty;
bar = value;
}
}
Use coalescing operator to make your code a bit more readable.
-
Access denied when creating a folder just deleted
I have a batch script which remove a folder and re-create it. The command that remove a folder is rd /s/q and the command create folder is mkdir. Recently I see something weird happening, everytime when the folder is deleted and re-created, there is error message Access is denied displayed. However, if I rerun the create folder command laer, it always pass successfully.
The explanation on http://support.microsoft.com/?id=159199 seems make sense,
This file is in a state known as pending deletion. This file has been deleted, but there are still handles open to it. NTFS will wait until all handles to this file are closed before updating the index. If an attempt is made to access the file, however, NTFS will deny the attempt. Because the file is listed in the index, but is effectively deleted, you can see the file but you cannot access it.
The workaround here is add a 60 seconds sleep between the folder deletion and folder creation operation.
-
GhostDoc Tutorial
Earlier I have introduced this excellent comment auto generation tool – GhostDoc. Now you can follow this instructions to get GhostDoc working in just 5 minutes.