Tweaking NppAutoIndent, or is there a good customizable alternative?

江枫思渺然 提交于 2020-01-17 02:39:12

问题


I recently started using the NppAutoIndent plugin for Notepad++, and have been fairly pleased with the Smart Indent mode, but I find its lack of customizable preferences to be annoying as there are a few behaviors in Smart Indent mode that I'd like to tweak/modify. I thought about modifying the plugin's source code and recompiling it to try to get the behavior I want, but I have Visual Studio 2010 and the project for the plugin seems to be a VS 2003 project, and as I'm a complete beginner to using Visual Studio for C/C++ projects I don't even know where to start to deal with some of the warnings given when converting the project to VS 2010.

In short: Is there a more customizable alternative to the NppAutoIndent plugin, or is there a better way to update the source project for VS 2010?

UPDATE:

Here are most of the warnings. A lot of them seem to be unimportant, but I'm not sure which may be necessary to pay attention to.

  • Due to a change in the exception handling switches for the C/C++ Compiler, /EHsc has been automatically converted to /EHa in this project.
  • Done converting to new project file 'C:[...]\NppAutoIndent\project\NppAutoIndent.vcxproj'.
  • Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are now automatically built with the Manifest Tool. You may need to change your build in order for it to work correctly. For instance, it is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line may need to be commented out before the project will build correctly.
  • Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).
  • This application has been updated to include settings related to the User Account Control (UAC) feature of Windows Vista. By default, when run on Windows Vista with UAC enabled, this application is marked to run with the same privileges as the process that launched it. This marking also disables the application from running with virtualization. You can change UAC related settings from the Property Pages of the project.
  • Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion.
  • VCWebServiceProxyGeneratorTool is no longer supported. The tool has been removed from your project settings.
  • The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.
  • VCConvertEngine could not convert attribute GlobalOptimizations = TRUE under Tool VCCLCompilerTool.
  • Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion.
  • Attribute 'OptimizeForWindows98' of 'VCLinkerTool' is not supported in this version and has been removed during conversion.
  • VCConvertEngine could not convert attribute GlobalOptimizations = TRUE under Tool VCCLCompilerTool.
  • Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion.
  • Attribute 'OptimizeForWindows98' of 'VCLinkerTool' is not supported in this version and has been removed during conversion.
  • Attribute 'Detect64BitPortabilityProblems' of 'VCCLCompilerTool' is not supported in this version and has been removed during conversion.
  • MSB8012: $(TargetName) ('NppAutoIndent') does not match the Linker's OutputFile property value '..\build\NppAutoIndentA_D.dll' ('NppAutoIndentA_D') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetName) property value matches the value specified in %(Link.OutputFile).
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug\NppAutoIndent.dll') does not match the Linker's OutputFile property value '..\build\NppAutoIndentA_D.dll' ('C:[...]\NppAutoIndent\build\NppAutoIndentA_D.dll') in project configuration 'Debug|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).
  • MSB8012: $(TargetName) ('NppAutoIndent') does not match the Linker's OutputFile property value '..\build\NppAutoIndentA.dll' ('NppAutoIndentA') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetName) property value matches the value specified in %(Link.OutputFile).
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release\NppAutoIndent.dll') does not match the Linker's OutputFile property value '..\build\NppAutoIndentA.dll' ('C:[...]\NppAutoIndent\build\NppAutoIndentA.dll') in project configuration 'Release|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release Unicode\NppAutoIndent.dll') does not match the Linker's OutputFile property value '..\build\NppAutoIndent.dll' ('C:[...]\NppAutoIndent\build\NppAutoIndent.dll') in project configuration 'Release Unicode|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).
  • MSB8012: $(TargetName) ('NppAutoIndent') does not match the Linker's OutputFile property value '..\build\NppAutoIndent_D.dll' ('NppAutoIndent_D') in project configuration 'Debug Unicode|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetName) property value matches the value specified in %(Link.OutputFile).
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug Unicode\NppAutoIndent.dll') does not match the Linker's OutputFile property value '..\build\NppAutoIndent_D.dll' ('C:[...]\NppAutoIndent\build\NppAutoIndent_D.dll') in project configuration 'Debug Unicode|Win32'. This may cause your project to build incorrectly. To correct this, please make sure that $(TargetPath) property value matches the value specified in %(Link.OutputFile).

回答1:


Open the VS 2003 project in VS2010 ; a dialog shall walk you through the conversion. You just need to read the instructions and click the appropriate button .

Regarding indentation, go to Tools ---> Options , choose the Language (C++ ) and go to formatting. You can see a bunch of options there , change it according to your needs .

You dont need Notepad++ at all for this . BTW , I am an avid user of Notepad++ , and its my favourite editor.

Hope this helps.



来源:https://stackoverflow.com/questions/5824035/tweaking-nppautoindent-or-is-there-a-good-customizable-alternative

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!