Projekt-Template Visual Studio 2003 .NET

L

lenz_m_e

Um eine Projekttemplate in Visual Studio 2003 .Net zu erstellen benötigt man unter anderem einen Ordner mit den Vorlagedateien und einer default.js Datei. Dieser Ordner befindet sich im Wizard verzeichnis, der jeweiligen Sprache. In meinem Fall habe ich eine Template in C# erstellt, also ist der Wizard Ordner in dem Ordner:
Microsoft Visual Studio .NET 2003\VC#\VC#Wizards\.
Bei mir heißt der "Test".
In dem Unterordner Scripts\1031 befindet sich nun die default.js.

In dieser habe ich ein wenig herumgespielt und herausbekommen, wie man Teile des am Anfang einzugebenden Projektnamen nehmen kann und im ganzen Projekt einfügen kann:
Man schreibt eine neue Funktion hinein:
function test()
{
var strMyProjectName = wizard.FindSymbol("PROJECT_NAME");
// Speichert den Projektnamen in strMyProjectName ab

var name_array = strMyProjectName.split(".");
// Teilt den namen immer am "." zeichen und schreibt die einzellnen teile in ein array

var strName = name_array[name_array.length - 1];
// schreibt den letzten teil des namens in strName

wizard.AddSymbol("Name_Connector",strName);
// der Parameter [!output Name_Connector] wird überall in der Vorlage durch den
//String, der in strName gespeichert ist, ersetzt
}



nun muss man diese Funktion noch in implementieren, indem man Sie in der Funktion
function OnFinish() aufruft (bzw. einen Verweis zu ihr erstellt):

function OnFinish(selProj, selObj)
{
var oldSuppressUIValue = true;
try
{
oldSuppressUIValue = dte.SuppressUI;
var strProjectPath = wizard.FindSymbol("PROJECT_PATH");
var strProjectName = wizard.FindSymbol("PROJECT_NAME");
var strSafeProjectName = CreateSafeName(strProjectName);
wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);


test() // Aufrufen der Funktion test
.....
}
}

Ich kenne mich nicht so mit JScript aus und wöllte aber gerne noch eine Abfrage eines Parameters beim erstellen des neuen Projektes einbauen.
Ich habe dies auch schon ausprobiert, indem ich die window.prompt-methode verwendet habe:
z.B.:
function test()
{
var txt = window.prompt("Test ", "hallo");
//müsste eigentlich den string txt abfragen...

wizard.AddSymbol("Text_Einfuegen",txt);
//wenn das abfragen des Stringes funktionieren würde, würde in der ganzen
//der Parameter [!output Text_Einfuegen] durch den string txt ersetzt werden
}

bei mir kommt aber ein Fehler:
Das Objekt unterstützt diese Eigenschaft oder Methode nicht.

ODER:
'window' ist undefiniert

Kann mir jemand einen anderen Weg nennen, um ein Input-Fenster aufzurufen?

Mit freundlichen Grüßen

Martin Engelmann
 
Zuletzt bearbeitet von einem Moderator:
Zurück